Lisandro, Thanks for the report. I quickly checked the Open MPI source code and the .so library and both show the existence of both MPI_Init_thread and PMPI_Init_thread symbols.
0000000000031b60 T _MPI_Init_thread 000000000005e7c0 T _PMPI_Init_thread I CC'ed the VT folks. Thanks, george. On Aug 10, 2010, at 20:59 , Lisandro Dalcin wrote: > Below you have C program that will MPI_Init_thread() > > $ cat demo/helloworld.c > #include <mpi.h> > #include <stdio.h> > > int main(int argc, char *argv[]) > { > int provided; > int size, rank, len; > char name[MPI_MAX_PROCESSOR_NAME]; > > MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided); > > MPI_Comm_size(MPI_COMM_WORLD, &size); > MPI_Comm_rank(MPI_COMM_WORLD, &rank); > MPI_Get_processor_name(name, &len); > > printf("Hello, World! I am process %d of %d on %s.\n", rank, size, name); > > MPI_Finalize(); > return 0; > } > > > Now I build like this: > > $ mpicc-vt demo/helloworld.c > > and then try to run it: > > $ ./a.out > Hello, World! I am process 0 of 1 on trantor. > [trantor:18854] *** An error occurred in MPI_Group_free > [trantor:18854] *** on communicator MPI_COMM_WORLD > [trantor:18854] *** MPI_ERR_GROUP: invalid group > [trantor:18854] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort) > > However, if MPI_Init() is used, it succeeds. > > It seems the MPI_Init_thread() wrapper to PMPI_Init_thread() is > missing, see this: > > $ nm a.out | grep MPI_Init > 0805c4ef T MPI_Init > U MPI_Init_thread > U PMPI_Init > > > PS: Sorry if this is actually a VT bug. I'm not a VT user, I'm just > reporting this issue (related to a mpi4py bug report that arrived at > my inbox months ago). > > -- > Lisandro Dalcin > --------------- > CIMEC (INTEC/CONICET-UNL) > Predio CONICET-Santa Fe > Colectora RN 168 Km 472, Paraje El Pozo > Tel: +54-342-4511594 (ext 1011) > Tel/Fax: +54-342-4511169 > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel