Compiling MAGMA on Summit with PGI compiler
Posted: Wed Jun 24, 2020 8:38 pm
Hi,
I'm having trouble building the testing routines and the MAGMA sparse library on Summit. I'm using PGI 20.1. Here are snippets from my make.inc (only the parts that I changed from the example make.inc file for Summit) :
Compiling the testing routines (make test) fails with a bunch of undefined references (which should be there, since netlib-lapack is already included in LIB ?):
Compiling the sparse library (make sparse) fails with the following error:
Can anyone guide me in the right direction?
I'm having trouble building the testing routines and the MAGMA sparse library on Summit. I'm using PGI 20.1. Here are snippets from my make.inc (only the parts that I changed from the example make.inc file for Summit) :
Code: Select all
CC = pgcc
CXX = pgc++
FORT = pgfortran
CFLAGS = -O3 $(FPIC) -mp -DNDEBUG -DNOCHANGE -Minform=warn
LDFLAGS = $(FPIC) -mp
# --------------------
# libraries
# ESSL is not LAPACK complete, so reference LAPACK must be added
LIB = -lesslsmp -lpthread -lstdc++ -lm -llapack
# ESSL also depends on XL runtime libraries
LIB += -lxlf90_r -lxlsmp -lxlfmath
LIB += -lcublas -lcusparse -lcudart -lcudadevrt
# --------------------
LIBDIR = -L$(OLCF_CUDA_ROOT)/lib64 \
-L$(OLCF_XLF_ROOT)/lib -L$(OLCF_XLSMP_ROOT)/lib \
-L$(OLCF_ESSL_ROOT)/lib64 -L$(OLCF_NETLIB_LAPACK_ROOT)/lib64
Code: Select all
testing/testing_zaxpy.o: In function `main':
/gpfs/alpine/mat201/scratch/wyphan/magma-2.5.3/testing/testing_zaxpy.cpp:81: undefined reference to `zlarnv'
/gpfs/alpine/mat201/scratch/wyphan/magma-2.5.3/testing/testing_zaxpy.cpp:82: undefined reference to `zlarnv'
./lib/libmagma.so: undefined reference to `dlamrg'
./lib/libmagma.so: undefined reference to `sgerqf'
./lib/libmagma.so: undefined reference to `clacrm'
./lib/libmagma.so: undefined reference to `sormql'
./lib/libmagma.so: undefined reference to `dormrq'
./lib/libmagma.so: undefined reference to `dlarft'
./lib/libmagma.so: undefined reference to `zstein'
./lib/libmagma.so: undefined reference to `sladiv'
./lib/libmagma.so: undefined reference to `clacp2'
./lib/libmagma.so: undefined reference to `dormlq'
./lib/libmagma.so: undefined reference to `csyr'
./lib/libmagma.so: undefined reference to `dgeqlf'
./lib/libmagma.so: undefined reference to `slaqp2'
./lib/libmagma.so: undefined reference to `zstemr'
./lib/libmagma.so: undefined reference to `slascl'
./lib/libmagma.so: undefined reference to `chetrd'
./lib/libmagma.so: undefined reference to `dbdsqr'
./lib/libmagma.so: undefined reference to `dgerqf'
./lib/libmagma.so: undefined reference to `zgehd2'
./lib/libmagma.so: undefined reference to `dorgbr'
./lib/libmagma.so: undefined reference to `dsygst'
./lib/libmagma.so: undefined reference to `dlaed4'
./lib/libmagma.so: undefined reference to `zgebak'
./lib/libmagma.so: undefined reference to `dlarfb'
./lib/libmagma.so: undefined reference to `sorgql'
./lib/libmagma.so: undefined reference to `zunmrq'
./lib/libmagma.so: undefined reference to `cgehd2'
./lib/libmagma.so: undefined reference to `slamrg'
./lib/libmagma.so: undefined reference to `zlaqp2'
./lib/libmagma.so: undefined reference to `zunmlq'
./lib/libmagma.so: undefined reference to `zgebal'
./lib/libmagma.so: undefined reference to `dsytrd'
./lib/libmagma.so: undefined reference to `sbdsdc'
./lib/libmagma.so: undefined reference to `slanst'
./lib/libmagma.so: undefined reference to `slartg'
./lib/libmagma.so: undefined reference to `zhseqr'
./lib/libmagma.so: undefined reference to `zlacrm'
./lib/libmagma.so: undefined reference to `dorgqr'
./lib/libmagma.so: undefined reference to `zlarcm'
./lib/libmagma.so: undefined reference to `cungqr'
./lib/libmagma.so: undefined reference to `sstebz'
./lib/libmagma.so: undefined reference to `sgeqlf'
./lib/libmagma.so: undefined reference to `clacgv'
./lib/libmagma.so: undefined reference to `cbdsqr'
./lib/libmagma.so: undefined reference to `dlaed2'
./lib/libmagma.so: undefined reference to `zsyr'
./lib/libmagma.so: undefined reference to `zlacgv'
./lib/libmagma.so: undefined reference to `sorgqr'
./lib/libmagma.so: undefined reference to `clatrs'
./lib/libmagma.so: undefined reference to `zhegst'
./lib/libmagma.so: undefined reference to `clauum'
./lib/libmagma.so: undefined reference to `dhseqr'
./lib/libmagma.so: undefined reference to `sormrq'
./lib/libmagma.so: undefined reference to `slaset'
./lib/libmagma.so: undefined reference to `zlauum'
./lib/libmagma.so: undefined reference to `sorgbr'
./lib/libmagma.so: undefined reference to `clarfx'
./lib/libmagma.so: undefined reference to `zlaswp'
./lib/libmagma.so: undefined reference to `sgehd2'
./lib/libmagma.so: undefined reference to `zbdsqr'
./lib/libmagma.so: undefined reference to `cgebak'
./lib/libmagma.so: undefined reference to `dlascl'
./lib/libmagma.so: undefined reference to `dlaqp2'
./lib/libmagma.so: undefined reference to `clarcm'
./lib/libmagma.so: undefined reference to `cunmql'
./lib/libmagma.so: undefined reference to `zsteqr'
./lib/libmagma.so: undefined reference to `cgebal'
./lib/libmagma.so: undefined reference to `dgehd2'
./lib/libmagma.so: undefined reference to `claswp'
./lib/libmagma.so: undefined reference to `shseqr'
./lib/libmagma.so: undefined reference to `zlacpy'
./lib/libmagma.so: undefined reference to `zgeqlf'
./lib/libmagma.so: undefined reference to `zungqr'
./lib/libmagma.so: undefined reference to `cstein'
./lib/libmagma.so: undefined reference to `dsterf'
./lib/libmagma.so: undefined reference to `dstebz'
./lib/libmagma.so: undefined reference to `dlacpy'
./lib/libmagma.so: undefined reference to `ssytrd'
./lib/libmagma.so: undefined reference to `dsteqr'
./lib/libmagma.so: undefined reference to `zlascl'
./lib/libmagma.so: undefined reference to `cunmqr'
./lib/libmagma.so: undefined reference to `zlarft'
./lib/libmagma.so: undefined reference to `slaed2'
./lib/libmagma.so: undefined reference to `dlaswp'
./lib/libmagma.so: undefined reference to `clarft'
./lib/libmagma.so: undefined reference to `cgeqlf'
./lib/libmagma.so: undefined reference to `zhetrd'
./lib/libmagma.so: undefined reference to `dlapy2'
./lib/libmagma.so: undefined reference to `csteqr'
./lib/libmagma.so: undefined reference to `zungql'
./lib/libmagma.so: undefined reference to `ssteqr'
./lib/libmagma.so: undefined reference to `dorgql'
./lib/libmagma.so: undefined reference to `dladiv'
./lib/libmagma.so: undefined reference to `slamc3'
./lib/libmagma.so: undefined reference to `slarfg'
./lib/libmagma.so: undefined reference to `dormql'
./lib/libmagma.so: undefined reference to `zgerqf'
./lib/libmagma.so: undefined reference to `dlaset'
./lib/libmagma.so: undefined reference to `clarfg'
./lib/libmagma.so: undefined reference to `dsytf2'
./lib/libmagma.so: undefined reference to `dlamc3'
./lib/libmagma.so: undefined reference to `dlauum'
./lib/libmagma.so: undefined reference to `dbdsdc'
./lib/libmagma.so: undefined reference to `slapy2'
./lib/libmagma.so: undefined reference to `zlarfb'
./lib/libmagma.so: undefined reference to `slaed4'
./lib/libmagma.so: undefined reference to `zlaset'
./lib/libmagma.so: undefined reference to `zlatrs'
./lib/libmagma.so: undefined reference to `cgebrd'
./lib/libmagma.so: undefined reference to `slarfx'
./lib/libmagma.so: undefined reference to `ssytf2'
./lib/libmagma.so: undefined reference to `dlabad'
./lib/libmagma.so: undefined reference to `cgerqf'
./lib/libmagma.so: undefined reference to `zungtr'
./lib/libmagma.so: undefined reference to `dgebak'
./lib/libmagma.so: undefined reference to `ssterf'
./lib/libmagma.so: undefined reference to `claqp2'
./lib/libmagma.so: undefined reference to `zunmql'
./lib/libmagma.so: undefined reference to `zgebrd'
./lib/libmagma.so: undefined reference to `slauum'
./lib/libmagma.so: undefined reference to `cunmlq'
./lib/libmagma.so: undefined reference to `dlarfx'
./lib/libmagma.so: undefined reference to `zhetf2'
./lib/libmagma.so: undefined reference to `zlarfx'
./lib/libmagma.so: undefined reference to `claset'
./lib/libmagma.so: undefined reference to `cunmrq'
./lib/libmagma.so: undefined reference to `chetf2'
./lib/libmagma.so: undefined reference to `sbdsqr'
./lib/libmagma.so: undefined reference to `dgebal'
./lib/libmagma.so: undefined reference to `chseqr'
./lib/libmagma.so: undefined reference to `slarfb'
./lib/libmagma.so: undefined reference to `sormlq'
./lib/libmagma.so: undefined reference to `slabad'
./lib/libmagma.so: undefined reference to `cungql'
./lib/libmagma.so: undefined reference to `dlartg'
./lib/libmagma.so: undefined reference to `clascl'
./lib/libmagma.so: undefined reference to `zunmqr'
./lib/libmagma.so: undefined reference to `dgebrd'
./lib/libmagma.so: undefined reference to `zlacp2'
./lib/libmagma.so: undefined reference to `sormqr'
./lib/libmagma.so: undefined reference to `cstemr'
./lib/libmagma.so: undefined reference to `ssygst'
./lib/libmagma.so: undefined reference to `slaswp'
./lib/libmagma.so: undefined reference to `chegst'
./lib/libmagma.so: undefined reference to `sgebrd'
./lib/libmagma.so: undefined reference to `slacpy'
./lib/libmagma.so: undefined reference to `sgebak'
./lib/libmagma.so: undefined reference to `slarft'
./lib/libmagma.so: undefined reference to `clarfb'
./lib/libmagma.so: undefined reference to `dlarfg'
./lib/libmagma.so: undefined reference to `zlarfg'
./lib/libmagma.so: undefined reference to `cungtr'
./lib/libmagma.so: undefined reference to `clacpy'
./lib/libmagma.so: undefined reference to `dlanst'
./lib/libmagma.so: undefined reference to `sgebal'
./lib/libmagma.so: undefined reference to `ieeeck'
./lib/libmagma.so: undefined reference to `dormqr'
/usr/bin/ld: link errors found, deleting executable `testing/testing_zaxpy'
make: *** [testing/testing_zaxpy] Error 2
Code: Select all
"sparse/control/magma_zmatrix_tools.cpp", line 519: error: branching into or
out of a parallel region is not allowed
break;
^
"sparse/control/magma_zmatrix_tools.cpp", line 540: error: branching into or
out of a parallel region is not allowed
break;
^
"sparse/control/magma_zmatrix_tools.cpp", line 575: error: branching into or
out of a parallel region is not allowed
break;
^
"sparse/control/magma_zmatrix_tools.cpp", line 599: error: branching into or
out of a parallel region is not allowed
break;
^
4 errors detected in the compilation of "sparse/control/magma_zmatrix_tools.cpp".
make: *** [sparse/control/magma_zmatrix_tools.o] Error 2