Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not achieve THREAD_MULTIPLE support #144

Closed
positiveblue opened this issue May 27, 2016 · 5 comments
Closed

Could not achieve THREAD_MULTIPLE support #144

positiveblue opened this issue May 27, 2016 · 5 comments

Comments

@positiveblue
Copy link

positiveblue commented May 27, 2016

Hello,

I installed the library and I am starting to play with it. I have written a simple program:

#include <El.hpp>
using namespace El;

// Typedef our real and complex types to 'Real' and 'C' for convenience
typedef double Real;
typedef Complex<Real> C;


main( int argc, char* argv[] )
{
    Environment env( argc, argv );
}

However when I execute it (compiled with ElVars and a Makfile) I get this output

WARNING: Could not achieve THREAD_MULTIPLE support.

Is it normal?

@positiveblue
Copy link
Author

positiveblue commented May 27, 2016

I attach information from

PrintVersion(); PrintConfig(); PrintCCompilerInfo(); PrintCxxCompilerInfo();

I guess that it could be related:

Elemental version information:
Git revision: 0ffa9fc
Version: 0.86-dev
Build type: Release

Elemental configuration:
Math libraries: /usr/local/lib/libscalapack.so;-L/usr/lib -llapack -lopenblas -lm
Have FLAME bidiagonal SVD: NO
Hybrid mode: YES
Have Qt5: NO
Avoiding complex MPI: YES
Have MPI_Reducescatter_block: NO
AllReduce ReduceScatterBlock: NO
Use byte AllGathers: YES

Elemental's C compiler info:
EL_CMAKE_C_COMPILER: /usr/bin/cc
EL_MPI_C_COMPILER: /usr/bin/mpicc
EL_MPI_C_INCLUDE_PATH: /usr/lib/openmpi/include;/usr/lib/openmpi/include/openmpi
EL_MPI_C_COMPILE_FLAGS:
EL_MPI_LINK_FLAGS:
EL_MPI_C_LIBRARIES: /usr/lib/libmpi.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libhwloc.so

Elemental's C++ compiler info:
EL_CMAKE_CXX_COMPILER: /usr/bin/c++
EL_CXX_FLAGS: -O3 -std=gnu++11 -fopenmp
EL_MPI_CXX_COMPILER: /usr/bin/mpicxx
EL_MPI_CXX_INCLUDE_PATH: /usr/lib/openmpi/include;/usr/lib/openmpi/include/openmpi
EL_MPI_CXX_COMPILE_FLAGS:
EL_MPI_LINK_FLAGS:
EL_MPI_CXX_LIBRARIES: /usr/lib/libmpi_cxx.so;/usr/lib/libmpi.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libhwloc.so

@jeffhammond
Copy link
Member

It is because you are using Open-MPI: open-mpi/ompi#157.

Please switch to MPICH or a derivative and wait for Open-MPI to support MPI_THREAD_MULTIPLE in a release version.

@jeffhammond
Copy link
Member

You may be able to compile and install Open-MPI yourself with thread support. Please write their user email list for assistance.

@poulson
Copy link
Member

poulson commented May 28, 2016

Alternatively, I would recommend not building in Hybrid mode, in which case the warning would go away (and there should not be much performance degradation).

@positiveblue
Copy link
Author

I have recompiled without the Hybrid mode activated and is working now :) Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants