edit BuildSystem/.hg/hgrc and change URL to ssh://[email protected]//hg/petsc/BuildSystem Satish On Thu, 28 Jul 2011, Mark F. Adams wrote:
I added protection for MPI_Exscan in matnest.c and my code but I can not push the MPI.py file:
~/Codes/petsc-dev/config/BuildSystem>hg push pushing to http://petsc.cs.iit.edu/petsc/BuildSystem searching for changes 1 changesets found remote: ssl required
Mark
On Jul 28, 2011, at 4:40 PM, Barry Smith wrote:
On Jul 28, 2011, at 3:37 PM, Mark F. Adams wrote:
I could not fine PETSC_HAVE_MPI_EXSCAN in the tags file.
Am I missing something?
Why would it ever be in the tags file until someone uses it? Like I said below you need to use it (where needed) and make sure it gets defined by adding code to MPI.py
Barry
Mark
On Jul 28, 2011, at 3:31 PM, Barry Smith wrote:
Ideally code like
#if defined(PETSC_HAVE_MPI_EXSCAN) cool C code that uses MPI_EXSCAN #else less cool C code that uses something else in MPI that is in MPI 1 #endif
less ideal but ok code
#if defined(PETSC_HAVE_MPI_EXSCAN) cool C code that uses MPI_EXSCAN #else SETERRQ(..., "Sorry but this code requires MPI_EXSCAN that doesn't exist on your machine's version of MPI, install a MPI2 with PETSc to get this functionality") #endif
Then to make sure PETSC_HAVE_MPI_EXSCAN gets defined when it can add a test for MPI_Exscan() to bottom of config/BuildSystem/config/packages/MPI.py with the other tests for MPI to functions
PETSc only requires MPI 1.1 support so any 2.0 or later stuff used needs this kind of protection.
Barry
On Jul 28, 2011, at 2:24 PM, Mark F. Adams wrote:
Dumb question: How do you protect it? Mark
On Jul 28, 2011, at 3:05 PM, Barry Smith wrote:
On Jul 28, 2011, at 11:55 AM, Jose E. Roman wrote:
We are getting an undefined reference `MPI_Exscan'. This function is used in src/mat/impls/nest/matnest.c. If I am not wrong, MPI_Exscan was introduced in MPI-2 but was not available in the previous standard. Apparently, the machine where we are compiling is very old and has MPI-1 only.
I guess there should be a PETSC_HAVE_MPI_EXSCAN test in configure.
Correct, whoever used that MPI 2 function in PETSc is obligated to protect it.
Barry
Jose
participants (1)
-
Satish Balay