- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I had a problem with makefiles to generate module files (*.mod files) for the Fortran95 interfaces to BLAS and LAPACK provided in MKL for Linux. These makefiles are installed by default under
/opt/intel/mkl/interfaces/blas95/makefile
/opt/intel/mkl/interfaces/lapack95/makefile
I wanted to generate the *.mod files with gfortran. By executing the
norio@myhost:/opt/intel/mkl/interfaces/blas95$ make libintel64 FC=gfortran INSTALL_DIR=/home/norio/opt/intel/mkl2018_interfaces_gfortran720 interface=lp64
norio@myhost:/opt/intel/mkl/interfaces/lapack95$ make libintel64 FC=gfortran INSTALL_DIR=/home/norio/opt/intel/mkl2018_interfaces_gfortran720 interface=lp64
did not generate lapack95.mod under
/home/norio/opt/intel/mkl2018_interfaces_gfortran720/include/intel64/lp64/
The variable mod95 does not seem to be assigned at all. Then, the target of
the following block in the makefiles above becomes a directory which is supposed contain
the *.mod files rather than the *.mod files them selves.
$(mod_path)/$(mod95): $(inc_path)/$(iface_95)
mkdir -p $(obj77_path)
mkdir -p $(mod_path)
$(FC) $(SPEC_OPT) $(FOPTS) $(opt_mod)$(mod_path) $(optsc) -o $(obj77_path)/mkl_lapack.$(sufobj) $<
This directory is shared by the results of blas95 and lapack95 (and perhaps
other) makefiles. Hence the block above is executed only for the makefile
run first and not for the other makefile run later.
To circumvent this situation, I did as following.
norio@myhost:/opt/intel/mkl/interfaces/blas95$ make libintel64 FC=gfortran INSTALL_DIR=/home/norio/opt/intel/mkl2018_interfaces_gfortran720 interface=lp64
norio@myhost:/opt/intel/mkl/interfaces/lapack95$ make libintel64 FC=gfortran INSTALL_DIR=/home/norio/opt/intel/mkl2018_interfaces_gfortran720 interface=lp64 mod95=lapack.mod
That is, I passed `mod95` variable as an argument to the lapack95 makefile.
If I need to generate multiple *.mod files from a single makefile,
there may be a problem. (f95_precision.mod is generated both from
blas95 and lapack95, and I only need to generate it from either
one of them.) In that case, I can target a temporary directory and
manually copy the generated files.
If this is a bug, I wish Intel could fix it. I had the same problem at least in one release of MKL2017 as well.
Thank you for sharing MKL with the community.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Norio,
Thank you a lot for the report. We will record it and fix it in future release.
If any new issue, please feel free to submit to Online Service Center
Thanks
Ying
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page