13f4191334
Add some more header files for the next commit ... stay tuned ... This commit was SVN r7315.
67 строки
2.6 KiB
C
67 строки
2.6 KiB
C
/* -*- Mode: C; c-basic-offset:4 ; -*- */
|
|
|
|
/*
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004 The Ohio State University.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
#include "ompi_config.h"
|
|
#include "gm.h"
|
|
|
|
struct mca_ptl_gm_send_frag_t;
|
|
struct mca_ptl_gm_peer_t;
|
|
struct mca_ptl_gm_module_t;
|
|
|
|
/* Pinning down memory pages is a costly operation. We can avoid it by using a LRU list
|
|
* of pinned down memory, managed inside the GM PTL.
|
|
*/
|
|
gm_status_t mca_ptl_gm_register_memory( struct gm_port *port, void *ptr, unsigned len );
|
|
gm_status_t mca_ptl_gm_deregister_memory( struct gm_port *port, void *ptr, unsigned len );
|
|
#if OMPI_MCA_PTL_GM_CACHE_ENABLE
|
|
void mca_ptl_gm_regcache_init(void);
|
|
unsigned int gmpi_use_interval(struct gm_port *gmpi_gm_port, gm_up_t start, unsigned int length);
|
|
gm_status_t gmpi_unuse_interval(struct gm_port *gmpi_gm_port, gm_up_t start, unsigned int length);
|
|
void gmpi_clear_interval(struct gm_port *gmpi_gm_port, gm_up_t start, unsigned int length);
|
|
void gmpi_clear_all_intervals(void);
|
|
#endif /* OMPI_MCA_PTL_GM_CACHE_ENABLE */
|
|
|
|
/* Some flags that have to go in the header hdr_common.hdr_flags field */
|
|
#define PTL_FLAG_GM_HAS_FRAGMENT 0x04
|
|
#define PTL_FLAG_GM_LAST_FRAGMENT 0x08
|
|
#define PTL_FLAG_GM_REQUIRE_LOCK 0x10
|
|
|
|
/* Internal flags for handling long messages */
|
|
#define GM_PTL_REGISTER_MEMORY 0x01
|
|
#define GM_PTL_SEND_MESSAGE 0x02
|
|
|
|
int mca_ptl_gm_analyze_recv_event( struct mca_ptl_gm_module_t* ptl, gm_recv_event_t* event );
|
|
|
|
void mca_ptl_gm_outstanding_recv( struct mca_ptl_gm_module_t *ptl);
|
|
|
|
int mca_ptl_gm_peer_send( struct mca_ptl_base_module_t* ptl,
|
|
struct mca_ptl_base_peer_t* ptl_base_peer,
|
|
struct mca_ptl_base_send_request_t *sendreq,
|
|
size_t offset,
|
|
size_t size,
|
|
int flags );
|
|
|
|
int
|
|
mca_ptl_gm_peer_send_continue( struct mca_ptl_gm_peer_t *ptl_peer,
|
|
struct mca_ptl_gm_send_frag_t *fragment,
|
|
struct mca_ptl_base_send_request_t *sendreq,
|
|
size_t offset,
|
|
size_t *size,
|
|
int flags );
|