Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
6742 Discussions

Intel Fortran Compiler + MK Library Installation Problem

ChristopherDE
Beginner
660 Views

Hello,

 

we tried to install the MK library on our Centos 6 computing cluster. We're useing the Intel-Fortran-Compiler (parallel_studio_xe_2016.5.074). After the installation we received the following error while compiling via mpif90:

Spoiler
libdmumps.a(dscalapack.o): In function `pfpotrf_':
dscalapack.F:(.text+0x105): undefined reference to `pdpotrf_'
libdmumps.a(dscalapack.o): In function `pfpotrs_':
dscalapack.F:(.text+0x347): undefined reference to `pdpotrs_'
libdmumps.a(dscalapack.o): In function `pfgetrf_':
dscalapack.F:(.text+0x5ba): undefined reference to `pdgetrf_'
libdmumps.a(dscalapack.o): In function `pfgetrs_':
dscalapack.F:(.text+0xaf6): undefined reference to `pdgetrs_'
libmumps_common.a(xscalapack.o): In function `numroq_':
xscalapack.F:(.text+0x3e): undefined reference to `numroc_'
libmumps_common.a(xscalapack.o): In function `lstc_gridinfo_':
xscalapack.F:(.text+0x99): undefined reference to `blacs_gridinfo_'
libmumps_common.a(xscalapack.o): In function `pkerbla_':
xscalapack.F:(.text+0xf4): undefined reference to `pxerbla_'
libmumps_common.a(xscalapack.o): In function `lstc_gridinit_':
xscalapack.F:(.text+0x134): undefined reference to `blacs_gridinit_'
libmumps_common.a(xscalapack.o): In function `lstc_gridexit_':
xscalapack.F:(.text+0x165): undefined reference to `blacs_gridexit_'
libmumps_common.a(xscalapack.o): In function `desqinit_':
xscalapack.F:(.text+0x1fb): undefined reference to `descinit_'

Unfortunately, i'm not able to solve this issue by my own and would be grateful for any provided help.

 

0 Kudos
1 Solution
mecej4
Black Belt
628 Views

I think that the Parallel Studio installer contains Scalapack as a selectable component, and Scalapack is installed if the "cluster option" is selected during installation. 

It is also possible that your system has a version of Scalapack that was obtained from a Linux distro/repository, so the details vary. 

Please consult your system administrator (even if that is yourself!) regarding what components are installed on your system.

View solution in original post

6 Replies
mecej4
Black Belt
643 Views

Was libdmumps.a built with/for use with Gfortran or Intel Fortran? Did you build the library yourself, or did you obtain it from another source? Details, please.

Note that the linking errors that you reported do not indicate any MKL installation problems. 

ChristopherDE
Beginner
640 Views

Thanks for your answer.

It was build for use with Intel Fortran and was obtained from another source (LS-Dyna Usermaterial).

Note that the linking errors that you reported do not indicate any MKL installation problems. 

I also have the suspicion that after the installation something is still missing or needs to be linked. Do you need more informations?

mecej4
Black Belt
638 Views

Please read the LSDyna documentation to ascertain additional prerequisites. I know nothing about LSDyna.

You probably need have the Scalapack library installed, and need to specify to the linker that it should use that library when linking your a.out, and provide to the linker the location of the library. If your are building using make, Cmake or some other build system, you may need to edit their configurations/scripts to make known to them where to find Scalapack.

ChristopherDE
Beginner
634 Views

Maybe you could help me to link the scalapack to my Makefile? Where do i need to specifiy the install dir?

 

The Makefile looks like the following:

Spoiler
FC=mpif90
#
FF=-safe_cray_ptr -assume byterecl,buffered_io,protect_parens -warn nousage -zero -ftz -fp-model precise -mP2OPT_hpo_dist_factor=21 -diag-disable 10212,10010 -fimf-arch-consistency=true -qno-opt-dynamic-align -xSSE2 -align array16byte -traceback -pad -DLINUX -DIFORT -DNET_SECURITY -DADDR64 -DINTEL -DXEON64 -DFCC80 -DTIMER=cycle_time -DSSE2 -DOVERRIDE -DMPP -DMPICH -DHPMPI -DAUTODOUBLE -DNEWIO -DEXTENDED -DLSTCODE -DBIGID -DENABLE_HASH3 -DFFTW -DROTORDYN -DMUMPS -DORDRPACK -DZMF2 -DUSES_CXX -DPFEM -DSPRNG -DUSE_SPRNG -DMUMPSVER=stable -DUSES_CPP -DPTHREADS -i8 -r8 -DSPRNG_MPI -DUSE_MPI -DINTEL -DAdd_ -fPIC -O2
#
LD=mpif90 -sox -static-intel
#
LF= -lrt -lstdc++ -lpthread
#
OBJS=init_once.o init_dyn21.o dynm.o banner.o sec.o dyn12.o atemp.o dyn21.o dyn21umat.o dyn21umats.o dyn21umatv.o dyn21umatc.o dyn21tumat.o dyn21utan.o dyn21ueos.o dyn21cnt.o dyn21ushl.o dyn21usld.o couple2other_user.o dynrfn_user.o adummy_graph.o orderByMetis.o mod_impl_matrices.o adummy_ansys.o adummy_ansyslic.o adummy_msc.o mscapi.o
#
LIBS=libdyna.a liblsmpp.a libmpp_lanczos.a libbcsext4.a liblsda.a liblsdb.a liblssecurity.a liblcpack.a libspooles.a libcparse.a libmf2.a liblsm.a liblscrypt.a libresurf.a liblsmppdes.a libdsa.a libbalance.a libsfg.a libzmumps.a libdmumps.a libmumps_common.a libmetis.a libim_rotor_dynamics.a liblsmpp.a liblso.a libem.a libfemster_wrap.a libfemster_wrap2d.a libfemster_wrap1d.a libfemster.a libfemster2d.a libfemster1d.a libpfem.a libcese.a libchemistry.a libparticles.a libeosfl.a libpfem.a libmoving.a liblsmpp.a libmetis.a libfftw3.a libsprng.a libdyna.a liblapack.a libblas.a libmetis.a libspooles.a
#
mppdyna: $(OBJS)
$(LD) -o mppdyna $(OBJS) $(LIBS) $(LF)
#
init_dyn21.o: init_dyn21.f nhisparm.inc
$(FC) -c $(FF) -I. init_dyn21.f
userinterface.o: userinterface.f90
$(FC) -c $(FF) -I. userinterface.f90
dyn21.o: dyn21.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21.f
dyn21umat.o: dyn21umat.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21umat.f
dyn21umats.o: dyn21umats.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21umats.f
dyn21umatv.o: dyn21umatv.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21umatv.f
dyn21umatc.o: dyn21umatc.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21umatc.f
dyn21tumat.o: dyn21tumat.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21tumat.f
dyn21utan.o: dyn21utan.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21utan.f
dyn21ueos.o: dyn21ueos.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21ueos.f
dyn21cnt.o: dyn21cnt.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21cnt.f
dyn21ushl.o: dyn21ushl.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21ushl.f
dyn21usld.o: dyn21usld.f nhisparm.inc userinterface.o
$(FC) -c $(FF) -I. dyn21usld.f
couple2other_user.o: couple2other_user.f
$(FC) -c $(FF) -I. couple2other_user.f
dynrfn_user.o: dynrfn_user.f
$(FC) -c $(FF) -I. dynrfn_user.f

 

 

 

mecej4
Black Belt
629 Views

I think that the Parallel Studio installer contains Scalapack as a selectable component, and Scalapack is installed if the "cluster option" is selected during installation. 

It is also possible that your system has a version of Scalapack that was obtained from a Linux distro/repository, so the details vary. 

Please consult your system administrator (even if that is yourself!) regarding what components are installed on your system.

Gennady_F_Intel
Moderator
615 Views

“This issue has been resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only


Reply