1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/*
* Copyright (c) 2013-2016 Mellanox Technologies, Inc.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include <stdio.h>
#include "oshmem_config.h"
#include "oshmem/constants.h"
#include "oshmem/mca/scoll/scoll.h"
#include "oshmem/mca/scoll/base/base.h"
#include "scoll_basic.h"
/*
* Initial query function that is invoked during initialization, allowing
* this module to indicate what level of thread support it provides.
*/
int mca_scoll_basic_init(bool enable_progress_threads, bool enable_threads)
{
/* Nothing to do */
return OSHMEM_SUCCESS;
}
/*
* Invoked when there's a new communicator that has been created.
* Look at the communicator and decide which set of functions and
* priority we want to return.
*/
static int mca_scoll_basic_enable(mca_scoll_base_module_t *module,
struct oshmem_group_t *comm)
{
/*nothing to do here*/
return OSHMEM_SUCCESS;
}
mca_scoll_base_module_t *
mca_scoll_basic_query(struct oshmem_group_t *group, int *priority)
{
mca_scoll_basic_module_t *module;
*priority = mca_scoll_basic_priority_param;
module = OBJ_NEW(mca_scoll_basic_module_t);
if (module) {
module->super.scoll_barrier = mca_scoll_basic_barrier;
module->super.scoll_broadcast = mca_scoll_basic_broadcast;
module->super.scoll_collect = mca_scoll_basic_collect;
module->super.scoll_reduce = mca_scoll_basic_reduce;
module->super.scoll_alltoall = mca_scoll_basic_alltoall;
module->super.scoll_module_enable = mca_scoll_basic_enable;
return &(module->super);
}
return NULL;
}
|