Problem in building CUDA-GPU port with experimental MAGMA support

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Locked
Message
Author
m_khalkhali
Newbie
Newbie
Posts: 1
Joined: Tue Feb 18, 2020 7:48 pm

Problem in building CUDA-GPU port with experimental MAGMA support

#1 Post by m_khalkhali » Sat Apr 04, 2020 9:27 pm

Hi,

First, let me give my system specifications:

CPUS: 2 x Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz
GPUs: 1 x NVIDIA Corporation GP100GL [Quadro GP100]
OS: Red Hat Enterprise Linux Workstation release 7.7 (Maipo)
Compiler: Intel Parallel Studio 2019 update 4 cluster edition
CUDA: cuda 10.2.89_440.33.01
VASP: 6.1.0

I face some problems in building the VASP CPU and GPU versions before trying to add MAGMA support, but I could eventually figure them out and install all executables (vasp_gam, vasp_std, vasp_ncl, vasp_gpu, vasp_gpu_ncl) without an error. I documented issues I faced during building these versions of VASP here in case you are interested. Then, I tried to build the GPU port with the MAGMA support as I read somewhere that it can have a significant effect on the performance. To build the MAGMA support, I made following changes in the make.include file:
  1. I added -DUSE_MAGMA to CPP_GPU
  2. I added path to MAGMA to the end of the file: MAGMA_ROOT := /usr/local/magma/lib
The installation went on for a while but stopped with following errors:

subrot_gpu.F(999): error #6633: The type of the actual argument differs from the type of the dummy argument. [COVL]
CALL cublas_Set_Matrix(NB_TOT,NB_TOT,int(c_sizeof(COVL(1,1)),c_size_t),COVL,NB_TOT,GPU%COVL,NB_TOT)
------------------------------------------------------------------------------------^
subrot_gpu.F(999): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated. [COVL]
CALL cublas_Set_Matrix(NB_TOT,NB_TOT,int(c_sizeof(COVL(1,1)),c_size_t),COVL,NB_TOT,GPU%COVL,NB_TOT)
------------------------------------------------------------------------------------^
subrot_gpu.F(1032): error #6633: The type of the actual argument differs from the type of the dummy argument. [CHAM]
CALL cublas_Set_Matrix(NB_TOT,NB_TOT,int(c_sizeof(CHAM(1,1)),c_size_t),CHAM,NB_TOT,GPU%COVL,NB_TOT)
------------------------------------------------------------------------------------^
subrot_gpu.F(1032): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated. [CHAM]
CALL cublas_Set_Matrix(NB_TOT,NB_TOT,int(c_sizeof(CHAM(1,1)),c_size_t),CHAM,NB_TOT,GPU%COVL,NB_TOT)
------------------------------------------------------------------------------------^
subrot_gpu.F(2504): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [SUBROT]
USE subrot
--------^
compilation aborted for subrot_gpu.f90 (code 1)
make[2]: *** [subrot_gpu.o] Error 1
make[2]: Leaving directory `/home/khalkhal/Downloads/vasp.6.1.0/build/gpu'
cp: cannot stat ‘vasp’: No such file or directory
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/khalkhal/Downloads/vasp.6.1.0/build/gpu'
make: *** [gpu] Error 2

I am not an expert in programming but I can tell this is a FORTRAN compiler issue. Does anyone know how to solve this? I highly doubt that the solution is modifying the source code! I couldn't fine any guideline for building the MAGMA support so any help would be appreciated.

Thanks

support_vasp
Global Moderator
Global Moderator
Posts: 1817
Joined: Mon Nov 18, 2019 11:00 am

Re: Problem in building CUDA-GPU port with experimental MAGMA support

#2 Post by support_vasp » Wed Sep 04, 2024 12:53 pm

Hi,

We're sorry that we didn’t answer your question. This does not live up to the quality of support that we aim to provide. The team has since expanded. If we can still help with your problem, please ask again in a new post, linking to this one, and we will answer as quickly as possible.

Best wishes,

VASP


Locked