コード例 #1
0
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;
}
コード例 #2
0
ファイル: pml_csum_component.c プロジェクト: bringhurst/ompi
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;
}
コード例 #3
0
ファイル: pml_dr_component.c プロジェクト: bringhurst/ompi
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;
}
コード例 #4
0
ファイル: pml_ob1_component.c プロジェクト: XuanWang1982/ompi
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;
}