On 29/01/2014 6:08 PM, Jed Brown wrote:
Danyang Su <[email protected]> writes:
Hi Karli,
"--with-threadcomm --with-openmp" can work when configure PETSc with
MPI-OpenMP. Sorry for making a mistake before.
The program can be compiled but I got a new error while running my program.
Error: Attempting to use an MPI routine before initializing MPICH
This error occurs when calling MPI_SCATTERV. I have already called
PetscInitialize, and MPI_BCAST, which is just before the calling of
MPI_SCATTERV, can also work without throwing error.
When PETSc is configured without openmp, there is no error in this section.
Are you calling this inside an omp parallel block? Are you initializing
MPI with MPI_THREAD_MULTIPLE? Do you have other threads doing something
with MPI?
No, this calling is outside omp block. I didn't initialize MPI with
MPI_THREAD_MULTIPLE. The codes of PETSc doesn't change.
No other threads are doing anything with MPI. The program crashes in the
initialization of simulation.
But it is strange that the codes can work with "PETSC for WINDOWS 2.0",
which is based on PETSC3.4.2.
I'm afraid we'll need a reproducible test case if it still doesn't work
for you.