Merge pull request #5200 from jsquyres/pr/disable-osc-pt2pt-for-thread-multiple
osc/pt2pt: disable when THREAD_MULITPLE
Этот коммит содержится в:
Коммит
2e8ab41ba5
@ -19,6 +19,8 @@
|
|||||||
# $HEADER$
|
# $HEADER$
|
||||||
#
|
#
|
||||||
|
|
||||||
|
dist_ompidata_DATA = help-osc-pt2pt.txt
|
||||||
|
|
||||||
pt2pt_sources = \
|
pt2pt_sources = \
|
||||||
osc_pt2pt.h \
|
osc_pt2pt.h \
|
||||||
osc_pt2pt_module.c \
|
osc_pt2pt_module.c \
|
||||||
|
15
ompi/mca/osc/pt2pt/help-osc-pt2pt.txt
Обычный файл
15
ompi/mca/osc/pt2pt/help-osc-pt2pt.txt
Обычный файл
@ -0,0 +1,15 @@
|
|||||||
|
# -*- text -*-
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
|
||||||
|
# reserved.
|
||||||
|
#
|
||||||
|
# $COPYRIGHT$
|
||||||
|
#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
[mpi-thread-multiple-not-supported]
|
||||||
|
The OSC pt2pt component does not support MPI_THREAD_MULTIPLE in this release.
|
||||||
|
Workarounds are to run on a single node, or to use a system with an RDMA
|
||||||
|
capable network such as Infiniband.
|
@ -25,6 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ompi_config.h"
|
#include "ompi_config.h"
|
||||||
|
#include "opal/util/show_help.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -108,6 +109,7 @@ ompi_osc_pt2pt_module_t ompi_osc_pt2pt_module_template = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
bool ompi_osc_pt2pt_no_locks = false;
|
bool ompi_osc_pt2pt_no_locks = false;
|
||||||
|
static bool using_thread_multiple = false;
|
||||||
|
|
||||||
/* look up parameters for configuring this window. The code first
|
/* look up parameters for configuring this window. The code first
|
||||||
looks in the info structure passed by the user, then through mca
|
looks in the info structure passed by the user, then through mca
|
||||||
@ -206,6 +208,10 @@ component_init(bool enable_progress_threads,
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (enable_mpi_threads) {
|
||||||
|
using_thread_multiple = true;
|
||||||
|
}
|
||||||
|
|
||||||
OBJ_CONSTRUCT(&mca_osc_pt2pt_component.lock, opal_mutex_t);
|
OBJ_CONSTRUCT(&mca_osc_pt2pt_component.lock, opal_mutex_t);
|
||||||
OBJ_CONSTRUCT(&mca_osc_pt2pt_component.pending_operations, opal_list_t);
|
OBJ_CONSTRUCT(&mca_osc_pt2pt_component.pending_operations, opal_list_t);
|
||||||
OBJ_CONSTRUCT(&mca_osc_pt2pt_component.pending_operations_lock, opal_mutex_t);
|
OBJ_CONSTRUCT(&mca_osc_pt2pt_component.pending_operations_lock, opal_mutex_t);
|
||||||
@ -302,6 +308,15 @@ component_select(struct ompi_win_t *win, void **base, size_t size, int disp_unit
|
|||||||
component */
|
component */
|
||||||
if (MPI_WIN_FLAVOR_SHARED == flavor) return OMPI_ERR_NOT_SUPPORTED;
|
if (MPI_WIN_FLAVOR_SHARED == flavor) return OMPI_ERR_NOT_SUPPORTED;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* workaround for issue https://github.com/open-mpi/ompi/issues/2614
|
||||||
|
* The following check needs to be removed once 2614 is addressed.
|
||||||
|
*/
|
||||||
|
if (using_thread_multiple) {
|
||||||
|
opal_show_help("help-osc-pt2pt.txt", "mpi-thread-multiple-not-supported", true);
|
||||||
|
return OMPI_ERR_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
/* create module structure with all fields initialized to zero */
|
/* create module structure with all fields initialized to zero */
|
||||||
module = (ompi_osc_pt2pt_module_t*)
|
module = (ompi_osc_pt2pt_module_t*)
|
||||||
calloc(1, sizeof(ompi_osc_pt2pt_module_t));
|
calloc(1, sizeof(ompi_osc_pt2pt_module_t));
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user