firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
663 stars 622 forks source link

undefined reference to `cluster_sparse_solver_d_' with impi_intel_linux_64 and mkl (ifort 15.0.2) #6208

Closed mulyanto-rescale closed 6 years ago

mulyanto-rescale commented 6 years ago

I'm using Intel ifort 15.0.2. If I unset MKLROOT or if I use just PARDISO it builds fine. Is there a way to build this with MKL and 2015 version of intel compilers?

[root impi_intel_linux_64]$ ./make_fds.sh 
Building impi_intel_linux_64 with Intel MPI
mpiifort -c -m64 -O2 -ipo -mt_mpi -traceback -no-wrap-margin -fpp -DGITHASH_PP=\"-\" -DGITDATE_PP=\""\"" -DBUILDDATE_PP=\""Mar 28, 2018  04:42:44\"" -DCOMPVER_PP=\""Intel ifort 15.0.2"\" -DWITH_MKL -I/opt/intel/composer_xe_2015.2.164/mkl/include ../../Source/prec.f90
...
mpiifort -m64 -O2 -ipo -mt_mpi -traceback -no-wrap-margin -fpp -DGITHASH_PP=\"-\" -DGITDATE_PP=\""\"" -DBUILDDATE_PP=\""Mar 28, 2018  04:42:44\"" -DCOMPVER_PP=\""Intel ifort 15.0.2"\" -DWITH_MKL -I/opt/intel/composer_xe_2015.2.164/mkl/include -static-intel -qopenmp -qopenmp-link static -liomp5 -o fds_impi_intel_linux_64 prec.o cons.o devc.o data.o type.o mesh.o func.o smvv.o irad.o turb.o soot.o ieva.o pois.o scrc.o radi.o evac.o gsmv.o geom.o part.o vege.o ctrl.o samr.o dump.o hvac.o mass.o read.o wall.o fire.o divg.o velo.o pres.o init.o main.o -Wl,--start-group /opt/intel/composer_xe_2015.2.164/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/composer_xe_2015.2.164/mkl/lib/intel64/libmkl_core.a /opt/intel/composer_xe_2015.2.164/mkl/lib/intel64/libmkl_intel_thread.a /opt/intel/composer_xe_2015.2.164/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -lpthread -lm -ldl
ipo: warning #11021: unresolved cluster_sparse_solver_d_
        Referenced in /tmp/ipo_ifortZUjZ58.o
/tmp/ipo_ifortZUjZ582.o: In function `scrc_mp_scarc_method_cluster_':
ipo_out2.f:(.text.hot0001e+0x46f3): undefined reference to `cluster_sparse_solver_d_'
/tmp/ipo_ifortZUjZ582.o: In function `scrc_mp_scarc_block_solver_':
ipo_out2.f:(.text.hot0001e+0x16d01): undefined reference to `cluster_sparse_solver_d_'
/tmp/ipo_ifortZUjZ582.o: In function `scrc_mp_scarc_setup_cluster_':
ipo_out2.f:(.text.hot0006f+0x39e14): undefined reference to `cluster_sparse_solver_d_'
ipo_out2.f:(.text.hot0006f+0x39eab): undefined reference to `cluster_sparse_solver_d_'
/tmp/ipo_ifortZUjZ583.o: In function `complex_geometry_mp_ccregion_density_implicit_':
ipo_out3.f:(.text.hot00020+0xa3cd): undefined reference to `cluster_sparse_solver_d_'
/tmp/ipo_ifortZUjZ583.o:ipo_out3.f:(.text.hot00020+0xa472): more undefined references to `cluster_sparse_solver_d_' follow
make: *** [impi_intel_linux_64] Error 1
marcosvanella commented 6 years ago

Hi, you might want to try downloading the latest MKL from intel (it's free) and link to that one. Check this wiki on how to install.

https://github.com/firemodels/fds/wiki/Linking-FDS-to-Intel-Performance-Libraries-in-Linux-and-OSX

Looks like your 2015 MKL version does not have the sparse_cluster_solver, being used by FDS.

rmcdermo commented 6 years ago

Sorry, Marcos, I was doing some editing and changed the link slightly. Here is the wiki:

https://github.com/firemodels/fds/wiki/Linking-to-Intel-Math-Kernel-Libraries-in-Linux-and-OSX

mulyanto-rescale commented 6 years ago

@marcosvanella, thanks for the suggestion. I may wait until we upgrade our compilers. Do you foresee any issues with Intel's 2018 Compilers/MKL?

marcosvanella commented 6 years ago

I don't foresee any issues with the new Intel suite. We are also going to start testing with Intel 2018 update 2 on our local clusters, so we'll know soon enough.

mulyanto-rescale commented 6 years ago

I got it to compile. I found one more nit. The 6.6.0 release still prints out '6.5.3' in main.f90:

WRITE(VERSION_STRING,'(A)') 'FDS 6.5.3'

rmcdermo commented 6 years ago

This is due to a mistake we made in tagging the 6.6.0 release. You can look at the logs just after that tag and see the commit where the version string was fixed. You can check out this commit and compile, you should be good at that point.

commit e6327dbc908dbfda086145d080946e1639c95816
Author: gforney <gforney@gmail.com>
Date:   Mon Oct 30 16:17:00 2017 -0400

    FDS source: update version to 6.6.0