PaStiX issueshttps://gitlab.inria.fr/solverstack/pastix/-/issues2024-03-07T15:53:13+01:00https://gitlab.inria.fr/solverstack/pastix/-/issues/68Base and int64 at the same time2024-03-07T15:53:13+01:00Rafal brzegowyBase and int64 at the same timeQuestion: are there any contraindications to building and maintaining the base and int64 versions (mingw/msys2)? Can I expect any conflict (that I have regulard and int64 versions installed at the same time)?
Like openblas example int64...Question: are there any contraindications to building and maintaining the base and int64 versions (mingw/msys2)? Can I expect any conflict (that I have regulard and int64 versions installed at the same time)?
Like openblas example int64:
https://packages.msys2.org/package/mingw-w64-x86_64-openblas64?repo=mingw64
and base:
https://packages.msys2.org/package/mingw-w64-x86_64-openblas?repo=mingw64
I plan to build it like openblas:
https://github.com/msys2/MINGW-packages/blob/23895685131b3ec659324fc66b4541c4e11d42ac/mingw-w64-openblas/PKGBUILDhttps://gitlab.inria.fr/solverstack/pastix/-/issues/67Not issue rather a request for advice/help2024-01-15T15:59:55+01:00Rafal brzegowyNot issue rather a request for advice/helpMay I ask for advice/help on how to modify the CalculiX file: https://github.com/Dhondtguido/CalculiX/blob/master/src/pastix.c so that ccx it works with the main version of PaStiX (with the changes introduced: https://gitlab.inria.fr/pas...May I ask for advice/help on how to modify the CalculiX file: https://github.com/Dhondtguido/CalculiX/blob/master/src/pastix.c so that ccx it works with the main version of PaStiX (with the changes introduced: https://gitlab.inria.fr/pastix/pastix/-/merge_requests?scope=all&state=merged&label_name%5B%5D=CalculiX) instead the modified version (based on a much older version: https://github.com/Dhondtguido/PaStiX4CalculiX)PaStiX 6.4.0https://gitlab.inria.fr/solverstack/pastix/-/issues/66Error handling when factorization fail2023-12-11T11:55:33+01:00MARAIT GillesError handling when factorization failAt the moment when factorization fail, pastix_print_error prints an error message and calls `exit(1)`, stopping the program.
For the calling code it can be a problem, because no error handling can be done. In particular, when the Choles...At the moment when factorization fail, pastix_print_error prints an error message and calls `exit(1)`, stopping the program.
For the calling code it can be a problem, because no error handling can be done. In particular, when the Cholesky factorization fails, it's impossible to recover from it, when it could be convenient to be able to handle it and try an LDLT factorization instead (after all Cholesky factorization can be used as a way to check if a matrix is SPD).
https://gitlab.inria.fr/solverstack/pastix/-/blob/master/kernels/core_zpotrfsp.c?ref_type=heads#L88
Would it be possible to have the factorization function return an error instead ? Or is there a hidden way to handle this kind of error ?PaStiX 6.4.0https://gitlab.inria.fr/solverstack/pastix/-/issues/65Skip installation of pastix_env.sh and pastix_completion.sh2023-11-23T09:58:02+01:00Jakub KlinkovskýSkip installation of pastix_env.sh and pastix_completion.shI'm packaging [pastix](https://aur.archlinux.org/packages/pastix) in the AUR and there are two annoyances with these scripts:
- `pastix_env.sh` does not make sense when `CMAKE_INSTALL_PREFIX` is set to `/usr` - all the paths are used by...I'm packaging [pastix](https://aur.archlinux.org/packages/pastix) in the AUR and there are two annoyances with these scripts:
- `pastix_env.sh` does not make sense when `CMAKE_INSTALL_PREFIX` is set to `/usr` - all the paths are used by default
- `pastix_completion.sh` then remains as the only thing that pastix installs to `/bin`, which makes it useless. Even if it had a purpose, the correct install path for bash-specific completion scripts is `/usr/share/bash-completion/completions/` - see https://github.com/scop/bash-completionhttps://gitlab.inria.fr/solverstack/pastix/-/issues/64Wrong installation path for Python package2023-12-12T22:30:23+01:00Jakub KlinkovskýWrong installation path for Python packagePastix installs the Python package to [lib/python/pypastix](https://gitlab.inria.fr/solverstack/pastix/-/blob/master/wrappers/python/CMakeLists.txt?ref_type=heads#L50-56). This path is wrong, Python does not look in `lib/python` when imp...Pastix installs the Python package to [lib/python/pypastix](https://gitlab.inria.fr/solverstack/pastix/-/blob/master/wrappers/python/CMakeLists.txt?ref_type=heads#L50-56). This path is wrong, Python does not look in `lib/python` when importing modules. The correct path should be something like `lib/python3.11/site-packages/pypastix`, depending on the Python interpreter version. This command may help:
python -c "import site; print(site.getsitepackages()[0])"
/usr/lib/python3.11/site-packagesPaStiX 6.3.2Mathieu FavergeMathieu Favergehttps://gitlab.inria.fr/solverstack/pastix/-/issues/63pastix 6.3.0 mingw update package2023-11-21T11:08:38+01:00Rafal brzegowypastix 6.3.0 mingw update packageError:
```
-- Generate precision dependencies in C:/_/B/src/pastix-6.3.0 - Done
CMake Error at CMakeLists.txt:809 (add_library):
Syntax error in cmake code when parsing string
common\d_integer.c
Invalid character e...Error:
```
-- Generate precision dependencies in C:/_/B/src/pastix-6.3.0 - Done
CMake Error at CMakeLists.txt:809 (add_library):
Syntax error in cmake code when parsing string
common\d_integer.c
Invalid character escape '\d'.
CMake Error at CMakeLists.txt:809 (add_library):
Syntax error in cmake code when parsing string
common\c_integer.c
```PaStiX 6.3.1https://gitlab.inria.fr/solverstack/pastix/-/issues/62Re-enable Julia in the CI2023-12-11T11:58:43+01:00Mathieu FavergeRe-enable Julia in the CIDue to image upgrade, the Julia implementation could not work anymore. The manifest files should be upgraded and the CI restored.Due to image upgrade, the Julia implementation could not work anymore. The manifest files should be upgraded and the CI restored.https://gitlab.inria.fr/solverstack/pastix/-/issues/61Segfault and Error with GPU-StarPU2023-12-11T14:36:39+01:00Martin LacroixSegfault and Error with GPU-StarPUDear authors, I am encountering an issue while solving different linear systems successively on GPU (starPU scheduler), the latter happens when analyzing the new sparse matrix. I made a minimal example reproducing the problem [Example.zi...Dear authors, I am encountering an issue while solving different linear systems successively on GPU (starPU scheduler), the latter happens when analyzing the new sparse matrix. I made a minimal example reproducing the problem [Example.zip](/uploads/01b69b91b9a682cf421002b7b480dab9/Example.zip). Note that the example works fine on CPU.
- The first issue is a segfault at this line : https://gitlab.inria.fr/solverstack/pastix/-/blob/master/blend/solver.c#L166, I think the latter should be
```cpp
for (i=0;i<solvmtx->ttsknbr;i++)
```
because we are iterating over `solvmtx->ttsktab` in the loop.
- The second issue is a double free at line : https://gitlab.inria.fr/solverstack/pastix/-/blob/master/blend/pastix_subtask_blend.c#L181, it seems that `pastix_data->solvglob` and `pastix_data->solvmatr` are pointing towards the same object, but `memFree_null` is called on both.
- Finally, I am facing a last issue that is not reproduced by this small example. Assuming the two previous problems are solved, the `assert` at line : https://gitlab.inria.fr/solverstack/pastix/-/blob/master/sopalin/starpu/pastix_starpu_interface.c#L502 is not passing on my actual script. However, I do not understand the meaning of this check.PaStiX 6.3.2https://gitlab.inria.fr/solverstack/pastix/-/issues/60shared build and mingw2023-12-11T20:30:31+01:00Rafal brzegowyshared build and mingwPlease see this:
https://github.com/msys2/MINGW-packages/issues/17236
and
https://github.com/msys2/MINGW-packages/pull/17270Please see this:
https://github.com/msys2/MINGW-packages/issues/17236
and
https://github.com/msys2/MINGW-packages/pull/17270PaStiX 6.3.2Mathieu FavergeMathieu Favergehttps://gitlab.inria.fr/solverstack/pastix/-/issues/59pastix 6.2.2 and clang (msys2/mingw)2023-12-11T20:29:35+01:00Rafal brzegowypastix 6.2.2 and clang (msys2/mingw)I am trying to compile PaStiX with clang but I have this error:
```
[311/854] Building Fortran object spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90.obj
FAILED: spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90.obj mod_fi...I am trying to compile PaStiX with clang but I have this error:
```
[311/854] Building Fortran object spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90.obj
FAILED: spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90.obj mod_files/spmf.mod
C:\msys64\clang64\bin\flang.exe -IC:\msys64\usr\local\pkg_pastix\src\pastix-6.2.2\spm\wrappers
\fortran90\src -IC:/msys64/usr/local/pkg_pastix/src/pastix-6.2.2/spm/include -IC:/msys64/usr/l
ocal/pkg_pastix/src/pastix-6.2.2/spm/src -IC:/msys64/usr/local/pkg_pastix/src/build-x86_64-w64
-mingw32-static/spm/include -IC:/msys64/usr/local/pkg_pastix/src/build-x86_64-w64-mingw32-stat
ic/spm/src -O2 -module-dirmod_files -c spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90
-pp.f90 -o spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90.obj
error: loc("./spm/wrappers/fortran90/CMakeFiles/spmf.dir/src/spmf.f90-pp.f90":605:7): C:/M/min
gw-w64-flang/src/flang-15.0.7.src/lib/Lower/IntrinsicCall.cpp:1656: not yet implemented: intri
nsic module procedure: c_loc
requested type: (!fir.ref<!fir.type<_QMspmfTspmatrix_t{mtxtype:i32,flttype:i32,fmttype:i32,bas
eval:i32,gn:i32,n:i32,gnnz:i32,nnz:i32,gnexp:i32,nexp:i32,gnnzexp:i32,nnzexp:i32,dof:i32,dofs:
!fir.type<_QM__fortran_builtinsT__builtin_c_ptr{__address:i64}>,layout:i32,colptr:!fir.type<_Q
M__fortran_builtinsT__builtin_c_ptr{__address:i64}>,rowptr:!fir.type<_QM__fortran_builtinsT__b
uiltin_c_ptr{__address:i64}>,loc2glob:!fir.type<_QM__fortran_builtinsT__builtin_c_ptr{__addres
s:i64}>,values:!fir.type<_QM__fortran_builtinsT__builtin_c_ptr{__address:i64}>,glob2loc:!fir.t
ype<_QM__fortran_builtinsT__builtin_c_ptr{__address:i64}>,clustnum:i32,clustnbr:i32,comm:!fir.
type<_QMspm_enumsTmpi_comm{mpi_comm:i32}>}>>) -> !fir.type<_QM__fortran_builtinsT__builtin_c_p
tr{__address:i64}>
[316/854] Generating core_dgemdm.c
```PaStiX 6.3.2https://gitlab.inria.fr/solverstack/pastix/-/issues/58error: conflicting types for 'MPI_User_function'2023-12-11T20:30:54+01:00RAMET Pierreerror: conflicting types for 'MPI_User_function'My name is Hannes Panzer and I am a research associate at the iwb of the Technical University of Munich.
In my research team, we are performing numerical simulations based on the finite element simulation tool CalculiX. Recently, we wan...My name is Hannes Panzer and I am a research associate at the iwb of the Technical University of Munich.
In my research team, we are performing numerical simulations based on the finite element simulation tool CalculiX. Recently, we wanted to install the newest version (2.19) of the tool, along with PaStiX as the Solver, to increase the computational speed by performing calculations on the GPU. However, so far we were not able to install PaStiX without any error message, which is the following in our case:
error: conflicting types for 'MPI_User_function'
There are many similar error messages concerning MPI, even though the option MPI is turned off in the make file.
We wanted to ask you, if you have already encountered any error messages of this type when trying to compile PaStiX, and if you have an idea, what causes the problem and how it could be solved.RAMET PierreRAMET Pierrehttps://gitlab.inria.fr/solverstack/pastix/-/issues/57pkg-config --static (mingw/msys2)2023-12-11T20:06:30+01:00Rafal brzegowypkg-config --static (mingw/msys2)If I use the command `pkg-config --libs --static pastix` then I have this output:
`-LC:/msys64/mingw64/lib -lpastix -lpastix_kernels -lpastix_starpu -lC:/msys64/mingw64/lib/libm.a -lC:/msys64/mingw64/lib/libopenblas.dll.a -lspm C:/msys6...If I use the command `pkg-config --libs --static pastix` then I have this output:
`-LC:/msys64/mingw64/lib -lpastix -lpastix_kernels -lpastix_starpu -lC:/msys64/mingw64/lib/libm.a -lC:/msys64/mingw64/lib/libopenblas.dll.a -lspm C:/msys64/mingw64/lib/libopenblas.dll.a\;C:/msys64/mingw64/lib/libm.a\;C:/msys64/mingw64/lib/libopenblas.dll.a -lstarpu-1.3 -lpthread -lssp -g0 -lws2_32 -lpthread -LD:/a/msys64/mingw64/lib -lm -lgdi32 -lltdl -lpthread -lhwloc -lm -lgdi32 -lltdl -lpthread -LC:/msys64/mingw64/lib -lspm C:/msys64/mingw64/lib/libopenblas.dll.a\;C:/msys64/mingw64/lib/libm.a\;C:/msys64/mingw64/lib/libopenblas.dll.a`
Why is the `libopenblas.dll.a` version referenced for static linking rather than the usual `-lopenblas` (i.e. the libopenblas.a full static link)?PaStiX 6.3.2https://gitlab.inria.fr/solverstack/pastix/-/issues/56Solve with L / Mutiplication with L (Cholesky factorization)2021-05-27T16:00:13+02:00DURUFLE MarcSolve with L / Mutiplication with L (Cholesky factorization)Hi,
in the previous releases of pastix (5.xx), it was possible to solve independently
```
L x = b
or
L^T x = b
```
for the Cholesky factorisation. It was also possible to perform a multiplication by the factor L (or L^T) with the followi...Hi,
in the previous releases of pastix (5.xx), it was possible to solve independently
```
L x = b
or
L^T x = b
```
for the Cholesky factorisation. It was also possible to perform a multiplication by the factor L (or L^T) with the following parameters :
```c
iparm[IPARM_TRANSPOSE_SOLVE] = API_SOLVE_BACKWARD_ONLY;
iparm[IPARM_TRANSPOSE_SOLVE] = API_SOLVE_FORWARD_ONLY;
iparm[IPARM_TRANSPOSE_SOLVE] = API_SOLVE_UTRMV;
iparm[IPARM_TRANSPOSE_SOLVE] = API_SOLVE_LTRMV;
```
How is it possible to perform these tasks with the new version of pastix (6.xx) ?
Thanks for your help.https://gitlab.inria.fr/solverstack/pastix/-/issues/55Free csc user for the distributed case2021-05-26T11:02:52+02:00DURUFLE MarcFree csc user for the distributed caseHi,
I would like to free the csc matrix during the factorization, I write :
iparm[IPARM_FREE_CSCUSER] = 1;
It works fine for the sequential version. However, for the distributed version, it does not work
because pastix_task_solve needs...Hi,
I would like to free the csc matrix during the factorization, I write :
iparm[IPARM_FREE_CSCUSER] = 1;
It works fine for the sequential version. However, for the distributed version, it does not work
because pastix_task_solve needs the array loc2glob which has been freed by the previous tasks. Is there a way
to avoid freeing this array such that the solve can be completed correctly ?
In terms of memory storage, when I have a moderate fill-in (for instance around 2), this option is interesting ? I was wondering if the arrays are freed before allocating more space for L factor because of fill-in.https://gitlab.inria.fr/solverstack/pastix/-/issues/54Problem when building Pastix with cmake (release 6.2) : undefined references ...2021-05-25T16:32:11+02:00DURUFLE MarcProblem when building Pastix with cmake (release 6.2) : undefined references during the compilation of example_mdof2.c.oHi, I tried to install the release 6.2.0 of Pastix. I executed the following cmake command :
cmake . -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON -DCMAKE_INSTALL_PREFIX=/home/durufle/Solve/pastix/build
The command succeeded and then I compil...Hi, I tried to install the release 6.2.0 of Pastix. I executed the following cmake command :
cmake . -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON -DCMAKE_INSTALL_PREFIX=/home/durufle/Solve/pastix/build
The command succeeded and then I compiled with :
make install
The installation stops at 78% with the following errors :
```
[ 78%] Building C object spm/examples/CMakeFiles/example_mdof2.dir/example_mdof2.c.o
[ 78%] Linking C executable example_mdof2
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmSort':
/home/durufle/Solve/pastix/spm/src/spm.c:549: undefined reference to `z_spmSort'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmMergeDuplicate':
/home/durufle/Solve/pastix/spm/src/spm.c:603: undefined reference to `z_spmMergeDuplicate'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmMatMat':
/home/durufle/Solve/pastix/spm/src/spm.c:1131: undefined reference to `spm_zspmm'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spm2Dense':
/home/durufle/Solve/pastix/spm/src/spm.c:434: undefined reference to `z_spm2dense'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmNorm':
/home/durufle/Solve/pastix/spm/src/spm.c:503: undefined reference to `z_spmNorm'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmPrint':
/home/durufle/Solve/pastix/spm/src/spm.c:919: undefined reference to `z_spmPrint'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmExpand':
/home/durufle/Solve/pastix/spm/src/spm.c:961: undefined reference to `z_spmExpand'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmMatVec':
/home/durufle/Solve/pastix/spm/src/spm.c:1035: undefined reference to `spm_zspmv'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmScalMatrix':
/home/durufle/Solve/pastix/spm/src/spm.c:1261: undefined reference to `z_spmScal'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x18): undefined reference to `z_spmGenMat'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x38): undefined reference to `z_spmCheckAxb'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x98): undefined reference to `z_spmConvertCSC2CSR'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0xc8): undefined reference to `z_spmConvertCSC2IJV'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0xf8): undefined reference to `z_spmConvertCSR2CSC'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x158): undefined reference to `z_spmConvertCSR2IJV'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x188): undefined reference to `z_spmConvertIJV2CSC'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x1b8): undefined reference to `z_spmConvertIJV2CSR'
```
I tried by cloning the git repository (instead of release 6.2.0), but I obtained the same error.However, I tried to compile my own code with the following line :
```
mpicxx -I. -DSELDON_WITH_PASTIX -DSELDON_WITH_MPI test/program/direct_test.cpp -I/home/durufle/Solve/pastix-6.2.0/include -L/home/durufle/Solve/pastix-6.2.0 -lpastix -L/home/durufle/Solve/pastix-6.2.0/spm/src -lspm -L/home/durufle/Solve/pastix-6.2.0/kernels -lpastix_kernels -L/home/durufle/Solve/scotch_6.0.4 -lscotch -lscotcherr -I/home/durufle/Solve/pastix-6.2.0/spm/include -lhwloc -llapacke -lblas -lrt -lpthread
```
I obtained other undefined references that I do not reproduce here. In the documentation I did not find how to compile pastix as a library (do we need to link with -lspm or -lpastix_kernels ?). I encountered a page with the compilation command, but I did not succeed in finding that page again.https://gitlab.inria.fr/solverstack/pastix/-/issues/53mingw Pastix 6.2.02021-04-19T18:30:55+02:00Tony Delaruemingw Pastix 6.2.0I made pastix 6.2.0 package for mingw (msys2), Base Package: mingw-w64-pastix - MSYS2 Packages witout Metis.
With Metis I have this error:
-- Configuration is done - A summary of the current configuration
has been written in C:/msy...I made pastix 6.2.0 package for mingw (msys2), Base Package: mingw-w64-pastix - MSYS2 Packages witout Metis.
With Metis I have this error:
-- Configuration is done - A summary of the current configuration
has been written in C:/msys64/usr/local/pkg_pastix/src/build-x86_64-w64-mingw32-static/config.log
-- Configuring done
CMake Error at CMakeLists.txt:707 (add_library):
Target "pastix" links to target "MORSE::METIS" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
-- Generating done
I may add that version 6.1.0 don't have this error.
Best regards
RafalMathieu FavergeMathieu Favergehttps://gitlab.inria.fr/solverstack/pastix/-/issues/52spm/const.h and spm/datatypes.h are installed in the wrong folder2021-10-28T15:29:06+02:00Ghost Userspm/const.h and spm/datatypes.h are installed in the wrong folderDear PaStiX developers,
If I compile pastix from source, and install it below /usr/local/, then spm/const.h and spm/datatypes.h are installed in /usr/local/include/ instead of /usr/local/include/spm/. This causes a compilation error if ...Dear PaStiX developers,
If I compile pastix from source, and install it below /usr/local/, then spm/const.h and spm/datatypes.h are installed in /usr/local/include/ instead of /usr/local/include/spm/. This causes a compilation error if pastix.h is included in a user program. If I move both files to /usr/local/include/spm/, everything works as expected.https://gitlab.inria.fr/solverstack/pastix/-/issues/51pastixf.mod not built when mpi is turned on2020-05-12T19:22:07+02:00Giorgio Giorgianipastixf.mod not built when mpi is turned onI tried to build the latest Pastix downloaded from gitlab (submodule updated) using mpi:
`cmake .. -DPASTIX_ORDERING_SCOTCH=OFF -DPASTIX_WITH_MPI=ON`
Here is the list of modules built:
giorgio@giorgio-HP-ZBook-14-G2:~/libs/testpasti...I tried to build the latest Pastix downloaded from gitlab (submodule updated) using mpi:
`cmake .. -DPASTIX_ORDERING_SCOTCH=OFF -DPASTIX_WITH_MPI=ON`
Here is the list of modules built:
giorgio@giorgio-HP-ZBook-14-G2:~/libs/testpastix2/pastix/build/mod_files$ l <br />
total 16 <br />
-rw-r--r-- 1 giorgio giorgio 3056 mai 12 19:02 spm_enums.mod <br />
-rw-r--r-- 1 giorgio giorgio 8975 mai 12 19:02 spmf.mod <br />
When I build it without mpi `cmake .. -DPASTIX_ORDERING_SCOTCH=OFF`
I got the following modules built:
giorgio@giorgio-HP-ZBook-14-G2:~/libs/testpastix2/pastix/build/mod_files$ l <br />
total 44 <br />
-rw-r--r-- 1 giorgio giorgio 3056 mai 12 18:57 spm_enums.mod <br />
-rw-r--r-- 1 giorgio giorgio 8975 mai 12 18:57 spmf.mod <br />
-rw-r--r-- 1 giorgio giorgio 6174 mai 12 18:57 pastix_enums.mod <br />
-rw-r--r-- 1 giorgio giorgio 20184 mai 12 18:57 pastixf.mod <br />
Can you help?
Thanks, Giorgiohttps://gitlab.inria.fr/solverstack/pastix/-/issues/50Linking problem when trying to install PaStiX2022-04-12T10:54:52+02:00Giorgio GiorgianiLinking problem when trying to install PaStiXI am trying to install PaStiX using cmake as a part of a bigger project.
I am on Ubuntu 18.04.4 LTS. I set up the dependencies using
sudo apt-get install cmake gcc gfortran libhwloc-dev libscotch-dev libopenblas-dev liblapacke-dev pyt...I am trying to install PaStiX using cmake as a part of a bigger project.
I am on Ubuntu 18.04.4 LTS. I set up the dependencies using
sudo apt-get install cmake gcc gfortran libhwloc-dev libscotch-dev libopenblas-dev liblapacke-dev python-numpy
Here are the cmake options that I am using.
'
if(ENABLE_PASTIX) <br />
<br />
cache_package_cmake_config_dir(EBC-Project EBC)<br />
<br />
ExternalProject_Add(lapacke<br />
GIT_REPOSITORY https://github.com/Reference-LAPACK/lapack.git <br />
GIT_TAG origin/master <br />
INSTALL_DIR ${STAGED_INSTALL_PREFIX} <br />
CMAKE_ARGS <br />
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} <br />
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} <br />
-DLAPACKE=ON <br />
-DCBLAS=ON <br />
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> <br />
-DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE} <br />
CMAKE_CACHE_ARGS <br />
-DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH} <br />
-DEBC_COMPILE_DEFINITIONS:STRING=${EBC_COMPILE_DEFINITIONS} <br />
-DINSTALL_LIBDIR:PATH=${INSTALL_LIBDIR} <br />
-DINSTALL_BINDIR:PATH=${INSTALL_BINDIR} <br />
-DINSTALL_INCLUDEDIR:PATH=${INSTALL_INCLUDEDIR} <br />
-DINSTALL_MODDIR:PATH=${INSTALL_MODDIR} <br />
-DEBC_DIR:PATH=${EBC_DIR} <br />
)<br />
<br />
ExternalProject_Add(pastix <br />
GIT_REPOSITORY https://gitlab.inria.fr/solverstack/pastix.git <br />
GIT_TAG origin/master <br />
INSTALL_DIR ${STAGED_INSTALL_PREFIX} <br />
CMAKE_ARGS <br />
-DUPDATE_DISCONNECTED=${PASTIX_NOUPDATE} <br />
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} <br />
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} <br />
-DCMAKE_C_STANDARD=99 <br />
-DPASTIX_WITH_FORTRAN=ON <br />
-DPASTIX_WITH_MPI=ON <br />
-DPASTIX_ORDERING_SCOTCH=ON <br />
-DPASTIX_INT64=OFF <br />
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> <br />
-DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE} <br />
CMAKE_CACHE_ARGS <br />
-DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH} <br />
-DEBC_COMPILE_DEFINITIONS:STRING=${EBC_COMPILE_DEFINITIONS} <br />
-DINSTALL_LIBDIR:PATH=${INSTALL_LIBDIR} <br />
-DINSTALL_BINDIR:PATH=${INSTALL_BINDIR} <br />
-DINSTALL_INCLUDEDIR:PATH=${INSTALL_INCLUDEDIR} <br />
-DINSTALL_MODDIR:PATH=${INSTALL_MODDIR} <br />
-DEBC_DIR:PATH=${EBC_DIR} <br />
DEPENDS lapacke <br />
) <br />
'
Build fails with the following message:
'
[ 88%] Built target pastix_lrtests <br />
[ 88%] Linking C executable d_rradd_tests <br />
libpastix_lrtests.so: undefined reference to 'LAPACKE_dlatms_work' <br />
libpastix_lrtests.so: undefined reference to 'LAPACKE_slatms_work' <br />
libpastix_lrtests.so: undefined reference to 'LAPACKE_clatms_work' <br />
libpastix_lrtests.so: undefined reference to 'LAPACKE_zlatms_work' <br />
collect2: error: ld returned 1 exit status <br />
test/CMakeFiles/d_rradd_tests.dir/build.make:121: recipe for target 'test/d_rradd_tests' failed <br />
make[5]: *** [test/d_rradd_tests] Error 1 <br />
CMakeFiles/Makefile2:2166: recipe for target 'test/CMakeFiles/d_rradd_tests.dir/all' failed <br />
make[4]: *** [test/CMakeFiles/d_rradd_tests.dir/all] Error 2 <br />
Makefile:140: recipe for target 'all' failed <br />
make[3]: *** [all] Error 2 <br />
CMakeFiles/pastix.dir/build.make:112: recipe for target 'subprojects/Stamp/pastix/pastix-build' failed <br />
make[2]: *** [subprojects/Stamp/pastix/pastix-build] Error 2 <br />
CMakeFiles/Makefile2:196: recipe for target 'CMakeFiles/pastix.dir/all' failed <br />
make[1]: *** [CMakeFiles/pastix.dir/all] Error 2 <br />
Makefile:129: recipe for target 'all' failed <br />
'https://gitlab.inria.fr/solverstack/pastix/-/issues/49Pastix for MPI2020-02-28T16:15:44+01:00Ghost UserPastix for MPIHi,
We are trying to find an effective sparse symmetric solver, but for use with MPI. The Pastix readme says "Distributed memory: PASTIX_WITH_MPI=\[OFF\]: Distributed memory is not supported yet in PaStiX, however you might need to ena...Hi,
We are trying to find an effective sparse symmetric solver, but for use with MPI. The Pastix readme says "Distributed memory: PASTIX_WITH_MPI=\[OFF\]: Distributed memory is not supported yet in PaStiX, however you might need to enable this option if your PaRSEC library has been compiled with MPI support."
Does this mean that Pastix itself doesn't use MPI? Another resolved issue has a comment by Ramet Pierre saying "Do you really need to compile PaStiX with MPI ? You know that MPI won't be supported before release 6.1". Does this mean that the latest Pastix version *DOES* use MPI?
Thanks.