Hi there, I'm encountering several issues at runtime in the following environment: - a multi-thread (two threads) code (build with gcc -pthread) where: . the main thread is the only one that do MPI stuff . a control thread periodically records the current machine state (doing malloc) - OpenMPI-1.2.7 ("standard" configure + --enable-cxx-execptions) orterun is used to launched a parallel execution of our multithread code
The issues observed seems somehow related to memory allocation. In the cPicle.so Python module (where thousands of malloc/realloc occur when dumping/loading a Python object), for instance, we randomly got some bad malloc return code when running parallel under orterun (using self,tcp,sm as btl). Might it be due the fact that openmpi allocates memory using a non-thread-safe mechanism ? I'm wondering if I should be using the --enable-mpi-threads option when compiling (configuring) OpenMPI to prevent such issues. Is there any extensive doc. about this specific option ? Should I be using something else when building OpenMPI ? Thanks for your help, Eloi -- Eloi Gaudry Free Field Technologies Axis Park Louvain-la-Neuve Rue Emile Francqui, 1 B-1435 Mont-Saint Guibert BELGIUM Company Phone: +32 10 487 959 Company Fax: +32 10 454 626