static mca_spml_base_module_t* mca_spml_yoda_component_init(int* priority, bool enable_progress_threads, bool enable_mpi_threads) { SPML_VERBOSE( 10, "in yoda, my priority is %d\n", mca_spml_yoda.priority); *priority = mca_spml_yoda.priority; if ((*priority) > mca_spml_yoda.priority) { return NULL ; } /* We use BML/BTL and need to start it */ if (!mca_bml_base_inited()) { SPML_VERBOSE(10, "starting bml\n"); if (OSHMEM_SUCCESS != mca_bml_base_init(enable_progress_threads, enable_mpi_threads)) { return NULL ; } } mca_spml_yoda.n_active_puts = 0; return &mca_spml_yoda.super; }
static mca_pml_base_module_t* mca_pml_csum_component_init( int* priority, bool enable_progress_threads, bool enable_mpi_threads ) { opal_output_verbose( 10, mca_pml_csum_output, "in csum, my priority is %d\n", mca_pml_csum.priority); if((*priority) > mca_pml_csum.priority) { *priority = mca_pml_csum.priority; return NULL; } *priority = mca_pml_csum.priority; if(OMPI_SUCCESS != mca_bml_base_init( enable_progress_threads, enable_mpi_threads)) { return NULL; } /* Set this here (vs in component_open()) because ompi_mpi_leave_pinned* may have been set after MCA params were read (e.g., by the openib btl) */ mca_pml_csum.leave_pinned = (1 == ompi_mpi_leave_pinned); mca_pml_csum.leave_pinned_pipeline = (int) ompi_mpi_leave_pinned_pipeline; return &mca_pml_csum.super; }
mca_pml_base_module_t* mca_pml_dr_component_init(int* priority, bool enable_progress_threads, bool enable_mpi_threads) { if((*priority) > mca_pml_dr.priority) { *priority = mca_pml_dr.priority; return NULL; } *priority = mca_pml_dr.priority; if(OMPI_SUCCESS != mca_bml_base_init( enable_progress_threads, enable_mpi_threads )) { return NULL; } return &mca_pml_dr.super; }
static mca_pml_base_module_t* mca_pml_ob1_component_init( int* priority, bool enable_progress_threads, bool enable_mpi_threads ) { mca_allocator_base_component_t* allocator_component; opal_output_verbose( 10, mca_pml_ob1_output, "in ob1, my priority is %d\n", mca_pml_ob1.priority); if((*priority) > mca_pml_ob1.priority) { *priority = mca_pml_ob1.priority; return NULL; } *priority = mca_pml_ob1.priority; allocator_component = mca_allocator_component_lookup( mca_pml_ob1.allocator_name ); if(NULL == allocator_component) { opal_output(0, "mca_pml_ob1_component_init: can't find allocator: %s\n", mca_pml_ob1.allocator_name); return NULL; } mca_pml_ob1.allocator = allocator_component->allocator_init(true, mca_pml_ob1_seg_alloc, mca_pml_ob1_seg_free, NULL); if(NULL == mca_pml_ob1.allocator) { opal_output(0, "mca_pml_ob1_component_init: unable to initialize allocator\n"); return NULL; } if(OMPI_SUCCESS != mca_bml_base_init( enable_progress_threads, enable_mpi_threads)) { return NULL; } /* Set this here (vs in component_open()) because opal_leave_pinned* may have been set after MCA params were read (e.g., by the openib btl) */ mca_pml_ob1.leave_pinned = (1 == opal_leave_pinned); mca_pml_ob1.leave_pinned_pipeline = (int) opal_leave_pinned_pipeline; return &mca_pml_ob1.super; }