Home My Page Projects PaStiX
Summary Activity Forums Lists Docs News Files

Forum: help

Monitor Forum | Start New Thread Start New Thread
RE: Build pastix on macbook air yosemite [ Reply ]
By: Xavier Lacoste on 2015-01-22 14:49
[forum:149224]

The Inconsistent integer type error mean that Scotch and PaStiX were build with incompatible option, you were right to build PaStiX with int32. (or build Scotch on your own in a separate directory)

You should have the same error in Python as Scotch and PaStiX are still incompatible... Except if you are using a different version in your code and in the python examples...

The error:
ERROR: This run only supports MPI_THREAD_SERIALIZED
either use API_THREAD_FUNNELED,
change your MPI Library
or check that MPI_Init_thread is correctly called

Means that your mpi only supports MPI_THREAD_SERIALIZED and should happen either with python/C/Fortran, it only depend on the MPI version.

You could either rebuild MPI (variant +threads of OpenMPI in macport if i'm right).
Or uncomment the FUNNELED section of the config.in.

Regards,

XL.


RE: Build pastix on macbook air yosemite [ Reply ]
By: Nobody on 2015-01-21 17:42
[forum:149223]

log.txt (182) downloads
Hello again,

PaStiX compiled fine with long (or int64) integer support, and python tests are ok, but I get an error in my own code:
ERROR: Inconsistent integer type
ERROR: Error in ordering task

these messages arise due to the test
if (sizeof(PASTIX_INT) != sizeof(SCOTCH_Num))
in pastix.c. For my case, the first is 8 bytes, the second is 4...
Scotch is installed via Macport (as a lot of programs, so that's why I prefer not to use homebrew...) and it seems I can't change the integer size.

On second choice, I tried to compile PaStiX with int32 support, but when doing that the python tests 4 to 9 fails (see attached log).

Thank you for your help,

Romain


RE: Build pastix on macbook air yosemite [ Reply ]
By: Nobody on 2015-01-20 16:09
[forum:149222]
Hello,

sorry, I was not compiling with mpif90... Everything is fine now, PaStiX compiles & run well with osx yosemite 10.10 on a macbook air.

Thank you for your support.

Romain

RE: Build pastix on macbook air yosemite [ Reply ]
By: Xavier Lacoste on 2015-01-19 13:38
[forum:149212]
Hello,

It seems the linker does not find the MPI symbols.
Are you building using mpicc/mpif90/mpic++ ?

Do you need the MPI version ? If not you can try to uncomment the FORCE_NOMPI Area of the config.in .

Do you know that PaStiX is package using homebrew on mac ? If you are using homebrew you can try : brew tap homebrew-science ; brew install pastix.

Indeed, the DX_ARCH=i686_mac is required because some system function are different on Mac.

Regards,

XL.

Build pastix on macbook air yosemite [ Reply ]
By: Nobody on 2015-01-16 14:19
[forum:149211]
Bonjour :)

I try to use pastix on my macbook air. I succeded in building it with
DX_ARCH=i686_mac
VERSIONBIT = _64bit

but when linking the librairy, I have a lot of :

Undefined symbols for architecture x86_64:
"_MPI_Abort", referenced from:
_sopalin_launch_thread in libpastix.a(sopalin_thread.o)
...
...
"_ompi_request_null", referenced from:
_ge_send_waitall_fab in libpastix.a(sopalin3d_ge.o)
_ge_sendrecv_smp in libpastix.a(sopalin3d_ge.o)
_ge_send_free_down in libpastix.a(sopalin3d_ge.o)
_ge_send_free_up in libpastix.a(sopalin3d_ge.o)
_ge_send_testall_down in libpastix.a(sopalin3d_ge.o)
_ge_send_testall_up in libpastix.a(sopalin3d_ge.o)
_ge_send_waitall in libpastix.a(sopalin3d_ge.o)
...
ld: symbol(s) not found for architecture x86_64

Trying to change the DX_ARCH to x86_64, pastix don't compile anymore. Here is one line of compilation :

gcc -O3 -Wall -DFORCE_LONG -DINTSIZELONG -DNO_MPI_TYPE -DCUDA_SM_VERSION=20 -I/opt/local/include -I/usr/include/malloc -DWITH_SCOTCH -I/opt/local/include -I/usr/include/malloc -DDISTRIBUTED -DWITH_SCOTCH -DVERSION='"Unversioneddirectory"' -DX_ARCHx86-64_mac -DDOF_CONSTANT -I./common/src -I./order/src -I./symbol/src -I./fax/src -I./perf/src -I./blend/src -I./kass/src -I./sopalin/src -I./utils/src -I./matrix_drivers/src -I./wrapper/src -I./sparse-matrix/src -Imurge/include -DPREC_DOUBLE -c common/src/common.c -o common/obj/x86-64_mac/common.o
<command-line>:0:10: warning: missing whitespace after the macro name
<command-line>:0:10: warning: missing whitespace after the macro name
common/src/common.c: In function 'clockGet':
common/src/common.c:80:3: warning: implicit declaration of function 'clock_gettime' [-Wimplicit-function-declaration]
clock_gettime (CLOCK_REALTIME, &tp); /* Elapsed time */
^
common/src/common.c:80:18: error: 'CLOCK_REALTIME' undeclared (first use in this function)
clock_gettime (CLOCK_REALTIME, &tp); /* Elapsed time */
^
common/src/common.c:80:18: note: each undeclared identifier is reported only once for each function it appears in
make: *** [common/obj/x86-64_mac/common.o] Error 1

Any clues?? Merci de votre diligence

Romain