Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to make #171

Open
ThershiSeebaruth opened this issue Sep 11, 2024 · 1 comment
Open

Unable to make #171

ThershiSeebaruth opened this issue Sep 11, 2024 · 1 comment

Comments

@ThershiSeebaruth
Copy link

Dear all, I am trying to build superlu for Gkeyll (https://gkeyll.readthedocs.io/en/latest/) however I am having some troubles:

First of all, this is how I do the cmake config:

cmake config

cmake .. -DCMAKE_C_COMPILER=$MPICC -DCMAKE_CXX_COMPILER=$MPICXX -DCMAKE_Fortran_COMPILER=mpif90 -DTPL_ENABLE_INTERNAL_BLASLIB=ON -DTPL_BLAS_LIBRARIES="$HOME/local/lib/libopenblas.so;$HOME/tseebaruth/dependencies/OpenBLAS/libopenblas.a" -DUSE_XSDK_DEFAULTS=TRUE -DTPL_PARMETIS_INCLUDE_DIRS="$HOME/local/include" -DTPL_PARMETIS_LIBRARIES="$HOME/local/lib/libparmetis.so;$HOME/local/lib/libmetis.so;$HOME/local/lib/libmetis.a" -DTPL_ENABLE_LAPACKLIB=ON -DTPL_LAPACK_LIBRARIES="$HOME/local/lib64/liblapack.a" -DCMAKE_C_FLAGS="-g -O3 -fPIC" -DCMAKE_CXX_FLAGS="-std=c++11 -O3 -fPIC" -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="$HOME/local" -DXSDK_ENABLE_Fortran=OFF -DCMAKE_EXE_LINKER_FLAGS="-L/backlnec/oldobs/roy/Tools/src/build-gcc-5.3-global/x86_64-unknown-linux-gnu/libgfortran/.libs -lgfortran -lquadmath" -DCMAKE_BUILD_TYPE=Release

during the build, however I get:
-- Did not find or specify BLAS, so configure to build internal CBLAS ...

I am not sure if this may be the problem, but if I do make I get:

[ 76%] Building C object SRC/CMakeFiles/superlu_dist-static.dir/complex16/zpivot_batch.c.o
/obs/tseebaruth/dependencies/superlu_dist/SRC/complex16/ztrfAux.c: In function 'zinitTrf3DpartitionLUstructgrid0':
/obs/tseebaruth/dependencies/superlu_dist/SRC/complex16/ztrfAux.c:720:73: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
  720 |                         gemmCsizes[offset] = SUPERLU_MAX(ldts[offset], ???);
      |                                                                          
/obs/tseebaruth/dependencies/superlu_dist/SRC/complex16/ztrfAux.c: In function 'zinitTrf3Dpartition_allgrid':
/obs/tseebaruth/dependencies/superlu_dist/SRC/complex16/ztrfAux.c:904:73: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
  904 |                         gemmCsizes[offset] = SUPERLU_MAX(ldts[offset], ???);
      |                                                                          
/obs/tseebaruth/dependencies/superlu_dist/SRC/complex16/ztrfAux.c: At top level:
/obs/tseebaruth/dependencies/superlu_dist/SRC/complex16/ztrfAux.c:1089:73: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
 1089 |                         gemmCsizes[offset] = SUPERLU_MAX(ldts[offset], ???);
      |                                                                          
make[1]: *** [SRC/CMakeFiles/superlu_dist.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 77%] Linking C static library libsuperlu_dist.a
[ 77%] Built target superlu_dist-static
make: *** [all] Error 2

And I am not sure how to proceed. Could you help me?
Thank you.

@xiaoyeli
Copy link
Owner

Regarding BLAS, you need the use the following CMake definition:
-DTPL_ENABLE_INTERNAL_BLASLIB=OFF (you are setting it to ON)

Regarding the other errors, those lines are commented out in the code via "#if 0" block, for example, line 720 in ztrfAux.c appears in this block:

#if 0 /* GPU gemm buffers can only be set on GPU side, because here we only know
the size of U data structure on CPU. It is different on GPU /
if ( mycol == kcol ) { /
processes owning L panel */

                }
                if ( myrow == krow )
                    gemmCsizes[offset] = SUPERLU_MAX(ldts[offset], ???);

#endif

This piece of code should NOT be compiled. I don't know why the compiler gets there, but it only issues "warning".

There may be errors somewhere else. Can you send the entire output?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants