1
1
openmpi/ompi/mca/pml/ob1/pml_ob1_rdma.h
Galen Shipman 44fe6c3896 allow pml pipeline to cache memory registrations
to enable this (off by default) use: 
-mca pml_ob1_leave_pinned_pipeline 1 
!!AND!!!
-mca mpool_use_mem_hooks 1 

This commit was SVN r8949.
2006-02-09 15:49:51 +00:00

74 строки
2.0 KiB
C

/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. 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$
*/
/**
* @file
*/
#ifndef MCA_PML_OB1_RDMA_H
#define MCA_PML_OB1_RDMA_H
struct mca_bml_base_endpoint_t;
/**
* structure to associate RDMA capable BTL(s) with corresponding registration
*/
struct mca_pml_ob1_rdma_btl_t {
struct mca_bml_base_btl_t* bml_btl;
struct mca_mpool_base_registration_t* btl_reg;
};
typedef struct mca_pml_ob1_rdma_btl_t mca_pml_ob1_rdma_btl_t;
#define MCA_PML_OB1_MAX_RDMA_PER_REQUEST 4
/*
* Of the set of available btls that support RDMA,
* find those that already have registrations - or
* register if required (for leave_pinned option)
*/
size_t mca_pml_ob1_rdma_btls(
struct mca_bml_base_endpoint_t* endpoint,
unsigned char* base,
size_t size,
struct mca_pml_ob1_rdma_btl_t* btls);
/*
* For a given rdma capable btl - find the best fit
* registration or create one for leave pinned.
*/
mca_mpool_base_registration_t* mca_pml_ob1_rdma_registration(
struct mca_bml_base_btl_t* bml_btl,
unsigned char* base,
size_t size);
/*
* Create a registration
*/
mca_mpool_base_registration_t* mca_pml_ob1_rdma_register(
struct mca_bml_base_btl_t* bml_btl,
unsigned char* base,
size_t size);
#endif