[petsc-users] Combining SUPERLU_DIST with CUDA fails

Barry Smith bsmith at petsc.dev
Mon Dec 20 13:38:03 CST 2021


  Are you sure you have the correct PETSc branch? From configure.log it has

            Defined "VERSION_GIT" to ""v3.16.2-466-g959e1fce86""
            Defined "VERSION_DATE_GIT" to ""2021-12-18 11:17:24 -0600""
            Defined "VERSION_BRANCH_GIT" to ""master""

It should have balay/slu-without-omp-3 for the branch.



> On Dec 20, 2021, at 10:50 AM, Roland Richter <roland.richter at ntnu.no> wrote:
> 
> In that case it fails with
> 
> ~/Downloads/git-files/petsc/mpich-complex-linux-gcc-demo/externalpackages/git.superlu_dist/SRC/cublas_utils.h:22:10: fatal error: cublas_v2.h: No such file or directory
> 
> even though this header is available. I assume some header paths are not set correctly?
> 
> Thanks,
> 
> regards,
> 
> Roland
> 
> Am 20.12.21 um 16:29 schrieb Barry Smith:
>> 
>>   Please try the branch balay/slu-without-omp-3  It is in MR https://gitlab.com/petsc/petsc/-/merge_requests/4635 <https://gitlab.com/petsc/petsc/-/merge_requests/4635>
>> 
>> 
>> 
>>> On Dec 20, 2021, at 8:14 AM, Roland Richter <roland.richter at ntnu.no <mailto:roland.richter at ntnu.no>> wrote:
>>> 
>>> Hei,
>>> 
>>> I tried to combine CUDA with superlu_dist in petsc using the following configure-line:
>>> 
>>> ./configure PETSC_ARCH=mpich-complex-linux-gcc-demo --CC=/opt/intel/oneapi/mpi/2021.5.0/bin/mpicc --CXX=/opt/intel/oneapi/mpi/2021.5.0/bin/mpicxx --FC=/opt/intel/oneapi/mpi/2021.5.0/bin/mpifc --CFLAGS="-mavx2 -march=native -O3" --CXXFLAGS="-mavx2 -march=native -O3" --FFLAGS="-mavx2 -march=native -O3" --CUDAFLAGS=-allow-unsupported-compiler --CUDA-CXX=g++ --prefix=/opt/petsc --with-blaslapack=1 --with-mpi=1 --with-scalar-type=complex --download-suitesparse=1 --with-cuda --with-debugging=0 --with-openmp --download-superlu_dist --force
>>> 
>>> but the configure-step fails with several errors correlated with CUDA and superlu_dist, the first one being
>>> 
>>> cublas_utils.c:21:37: error: ‘CUDART_VERSION’ undeclared (first use in this function); did you mean ‘CUDA_VERSION’?
>>>    21 |     printf("CUDA version:   v %d\n",CUDART_VERSION);
>>>       |                                     ^~~~~~~~~~~~~~
>>>       |                                     CUDA_VERSION
>>> 
>>> Compiling superlu_dist separately works, though (including CUDA).
>>> 
>>> Is there a bug somewhere in the configure-routine? I attached the full configure-log.
>>> 
>>> Thanks!
>>> 
>>> Regards,
>>> 
>>> Roland
>>> 
>>> <configure.log>
>> 
> <configure.log>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211220/d8d690e7/attachment.html>


More information about the petsc-users mailing list