b3f88c4a1d
This commit was SVN r29153.
64 строки
1.5 KiB
C
64 строки
1.5 KiB
C
/*
|
|
* Copyright (c) 2013 Mellanox Technologies, Inc.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#include "oshmem_config.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "orte/util/show_help.h"
|
|
|
|
#include "opal/runtime/opal_cr.h"
|
|
#include "opal/util/output.h"
|
|
|
|
#include "oshmem/constants.h"
|
|
#include "oshmem/include/shmem.h"
|
|
#include "oshmem/runtime/params.h"
|
|
#include "oshmem/runtime/runtime.h"
|
|
#include "oshmem/shmem/shmem_api_logger.h"
|
|
|
|
void start_pes(int npes)
|
|
{
|
|
/* spec says that npes are ignored for now */
|
|
shmem_init();
|
|
}
|
|
|
|
#if !defined(OSHMEM_PROFILING) || (OSHMEM_PROFILING == 0)
|
|
int shmem_api_logger_output = -1;
|
|
|
|
void shmem_init(void)
|
|
{
|
|
int err = OSHMEM_SUCCESS;
|
|
int provided;
|
|
int required = SHMEM_THREAD_SINGLE;
|
|
|
|
if (oshmem_shmem_initialized) {
|
|
/*
|
|
* SPEC: If start_pes() is called multiple times, subsequent calls have no effect.
|
|
*/
|
|
return;
|
|
}
|
|
|
|
shmem_api_logger_output = opal_output_open(NULL);
|
|
opal_output_set_verbosity(shmem_api_logger_output,
|
|
oshmem_shmem_api_verbose);
|
|
|
|
err = oshmem_shmem_init(0, NULL, required, &provided);
|
|
if (OSHMEM_SUCCESS != err) {
|
|
/* since spec does not propagete error to user we can only abort */
|
|
SHMEM_API_ERROR("SHMEM failed to initialize - aborting");
|
|
oshmem_shmem_abort(-1);
|
|
}
|
|
|
|
OPAL_CR_INIT_LIBRARY();
|
|
}
|
|
|
|
#endif /* OSHMEM_PROFILING */
|
|
|