$subject_val = "[OMPI users] [1.2.x] --enable--mpi-threads"; include("../../include/msg-header.inc"); ?>
Subject: [OMPI users] [1.2.x] --enable--mpi-threads
From: Eloi Gaudry (eg_at_[hidden])
Date: 2009-06-04 04:32:45
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