source files for the unity module
This commit was SVN r827.
Этот коммит содержится в:
родитель
473c6c3785
Коммит
c99dea0467
0
src/mca/mpi/topo/unity/src/cart_map.c
Обычный файл
0
src/mca/mpi/topo/unity/src/cart_map.c
Обычный файл
0
src/mca/mpi/topo/unity/src/graph_map.c
Обычный файл
0
src/mca/mpi/topo/unity/src/graph_map.c
Обычный файл
74
src/mca/mpi/topo/unity/src/topo_unity.c
Обычный файл
74
src/mca/mpi/topo/unity/src/topo_unity.c
Обычный файл
@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* $HEADER$
|
||||||
|
*/
|
||||||
|
#include "lam_config.h"
|
||||||
|
#include "mca/mpi/topo/topo.h"
|
||||||
|
#include "mca/mpi/topo/base/base.h"
|
||||||
|
|
||||||
|
|
||||||
|
static const mca_topo_t unity {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Per-communicator initialization and finalization functions
|
||||||
|
*/
|
||||||
|
mca_topo_unity_init,
|
||||||
|
mca_topo_unity_finalize,
|
||||||
|
|
||||||
|
NULL, /* topo_cart_coords */
|
||||||
|
NULL, /* topo_cart_create */
|
||||||
|
NULL, /* topo_cart_get */
|
||||||
|
NULL, /* topo_cartdim_get */
|
||||||
|
mca_topo_unity_cart_map,
|
||||||
|
NULL, /* topo_cart_rank */
|
||||||
|
NULL, /* topo_cart_shift */
|
||||||
|
NULL, /* topo_cart_sub */
|
||||||
|
NULL, /* topo_graph_create */
|
||||||
|
NULL, /* topo_graph_get */
|
||||||
|
mca_topo_unity_graph_map,
|
||||||
|
NULL, /* topo_graph_neighbors */
|
||||||
|
NULL, /* topo_graph_neighbors_count */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Initial query function that is invoked during MPI_INIT, allowing
|
||||||
|
* this module to indicate what level of thread support it provides
|
||||||
|
*/
|
||||||
|
int mca_topo_unity_init_query (int *thread_min, int *thread_max) {
|
||||||
|
|
||||||
|
*thread_min = MPI_THREAD_SINGLE;
|
||||||
|
*thread_max = MPI_THREAD_MULTIPLE;
|
||||||
|
|
||||||
|
return LAM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Init on the communicator
|
||||||
|
*/
|
||||||
|
int mca_topo_unity_init (lam_communicator_t *comm,
|
||||||
|
const mca_topo_1_0_0_t **new_topo) {
|
||||||
|
/*
|
||||||
|
* Nothing to init on the communicator
|
||||||
|
*/
|
||||||
|
return LAM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Init on the communicator
|
||||||
|
*/
|
||||||
|
int mca_topo_unity_finalize (lam_communicator_t *comm) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Nothing to finalize on the communicator
|
||||||
|
*/
|
||||||
|
return LAM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int mca_topo_1_0_0_t *mca_topo_unity_comm_query (lam_communicator_t *comm,
|
||||||
|
int *priority) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the unity module and hence the priority is 0
|
||||||
|
*/
|
||||||
|
*priority = 0;
|
||||||
|
return &unity;
|
||||||
|
}
|
54
src/mca/mpi/topo/unity/src/topo_unity_module.c
Обычный файл
54
src/mca/mpi/topo/unity/src/topo_unity_module.c
Обычный файл
@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* $HEADER$
|
||||||
|
*
|
||||||
|
* These symbols are in a file by themselves to provide nice linker
|
||||||
|
* semantics. Since linkers generally pull in symbols by object fules,
|
||||||
|
* keeping these symbols as the only symbols in this file prevents
|
||||||
|
* utility programs such as "laminfo" from having to import entire
|
||||||
|
* modules just to query their version and parameters
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "lam_config.h"
|
||||||
|
#include "mpi.h"
|
||||||
|
#include "mca/mpi/topo/topo.h"
|
||||||
|
#include "topo_unity,h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Public string showing the topo unity module version number
|
||||||
|
*/
|
||||||
|
|
||||||
|
const char *mca_topo_unity_module_version_string =
|
||||||
|
"LAM/MPI unity topology MCA module version" MCA_TOPO_UNITY_VERSION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Instntiate the public struct with all of our public information
|
||||||
|
* and pointers to our public functions in it
|
||||||
|
*/
|
||||||
|
|
||||||
|
const mca_topo_base_module_1_0_0_t mca_topo_unity_module = {
|
||||||
|
/*
|
||||||
|
* First, the mca_modult_t struct containing meta information
|
||||||
|
* about the module itself
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Indicate that we are a topo v1.0.0 module (which also
|
||||||
|
* implies a specific MCA version)
|
||||||
|
*/
|
||||||
|
MCA_TOPO_UNITY_VERSION_1_0_0,
|
||||||
|
/*
|
||||||
|
* MOdule name and version
|
||||||
|
*/
|
||||||
|
"unity",
|
||||||
|
MCA_TOPO_UNITY_MAJOR_VERSION,
|
||||||
|
MCA_TOPO_UNITY_MINOR_VERSION,
|
||||||
|
MCA_TOPO_UNITY_RELEASE_VERSION,
|
||||||
|
/*
|
||||||
|
* Module open and cose functions
|
||||||
|
*/
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
* Next the MCA
|
||||||
|
|
Загрузка…
x
Ссылка в новой задаче
Block a user