Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6957 Discussions

Intel Fortran Compiler + MK Library Installation Problem

ChristopherDE
Beginner
892 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
Honored Contributor III
860 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
Honored Contributor III
875 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. 

0 Kudos
ChristopherDE
Beginner
872 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?

0 Kudos
mecej4
Honored Contributor III
870 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.

0 Kudos
ChristopherDE
Beginner
866 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

 

 

 

0 Kudos
mecej4
Honored Contributor III
861 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
847 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


0 Kudos
Reply