help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Octave and Intel MKL


From: Felix Willenborg
Subject: Octave and Intel MKL
Date: Tue, 12 Sep 2017 23:50:16 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

Dear all,

I'm trying to compile octave (additionally to ATLAS) with Intel MKL and 64-bit indexing. Intel offers a guide where they try to give instructions on how to compile [1] (please notice Remi Payans comment in the comment section). Unfortunately they're not working (for me).

When trying to build with the Intel Compiler, the following happens:
./configure --disable-readline --prefix=/cluster/programs/octave/4.2.1-mkl --enable-64 --with-blas="-Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread -lm" --with-lapack="-Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread -lm" --with-fftw3="-Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread -lm" --with-fftw3f="-Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -liomp5 -lpthread -lm" LD_LIBRARY_PATH='/cluster/programs/octave/4.2.1-mkl/lib:$MKLROOT/lib/intel64:$MKLROOT/../compiler/lib/intel64:$LD_LIBRARY_PATH' LIBRARY_PATH='/cluster/programs/octave/4.2.1-mkl/lib:$LIBRARY_PATH' CPPFLAGS='-I/cluster/programs/octave/4.2.1-mkl/include -I$MKLROOT/include -I$MKLROOT/include/fftw' LDFLAGS='-L/cluster/programs/octave/4.2.1-mkl/lib -L$MKLROOT/lib/intel64 -L$MKLROOT/../compiler/lib/intel64' CC=icc CXX=icc F77=ifort CFLAGS="-O3 -ipo- -fPIC -std=c99 -DMKL_ILP64 -DM_PI=3.1415926535897932384" F77_INTEGER_8_FLAG='-i8'
[...]
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
configure: error: to build Octave, the C++ to Fortran calling convention must be known.

With --enable-fortran-calling-convention I can specify the calling conventions f2c, visual-fortran, cray and gfortran. All options fail with
[...]
configure: error: to build Octave with 64-bit indexing support your Fortran compiler must have an option for setting the default integer size to 8 bytes.  See the file INSTALL for more information.

which is very likely attributable to the fact of wrong calling conventions (maybe somebody has here an idea). When trying Remi Payans suggestion from the comment section using the gnu compiler with mkl libraries for gnu threading
./configure --disable-readline --enable-64 --prefix=/cluster/programs/octave/4.2.1-mkl --with-blas="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -liomp5 -lpthread" --with-lapack="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -liomp5 -lpthread" --with-fftw3="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -liomp5 -lpthread -lm" --with-fftw3f="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -liomp5 -lpthread -lm" LD_LIBRARY_PATH='/cluster/programs/octave/4.2.1-mkl/lib:$MKLROOT/lib/intel64:$MKLROOT/../compiler/lib/intel64:$LD_LIBRARY_PATH' LIBRARY_PATH='/cluster/programs/octave/4.2.1-mkl/lib:$LIBRARY_PATH' CPPFLAGS='-I/cluster/programs/octave/4.2.1-mkl/include -I$MKLROOT/include -I$MKLROOT/include/fftw' LDFLAGS='-L/cluster/programs/octave/4.2.1-mkl/lib -L$MKLROOT/lib/intel64 -L$MKLROOT/../compiler/lib/intel64' CFLAGS="-O2 -fPIC -DMKL_ILP64 -DM_PI=3.1415926535897932384" FFLAGS="-O2 -fPIC" F77=gfortran
[...]
checking fftw3.h usability... yes
checking fftw3.h presence... yes
checking for fftw3.h... yes
checking for fftw_plan_dft_1d in -lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -liomp5 -lpthread -lm... no
configure: WARNING: FFTW3 library not found.  The slower FFTPACK library will be used instead.
checking for fftw3.h... (cached) yes
checking for fftwf_plan_dft_1d in -lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -liomp5 -lpthread -lm... no
configure: WARNING: FFTW3F library not found.  The slower FFTPACK library will be used instead.
[...]
configure: error: BLAS doesn't seem to support 64-bit integers.  This is incompatible with --enable-64.

This is also not working when taking MKL_LP64 libraries and removing --enable64. Somehow he can not find the needed numerical functions. There I get the same messages with the difference that -lblas and -llapack are working (which was expectable).

Has anybody gathered experience in that topic and can give me the desired clue in order to compile it with mkl? Looking forward to your answers.

Best wishes,
Felix Willenborg

[1]: https://software.intel.com/en-us/articles/using-intel-mkl-in-gnu-octave
-- 
Felix Willenborg

Arbeitsgruppe Machine Learning und Exzellenzcluster Hearing4all
Department für Medizinische Physik und Akustik
Fakultät für Medizin und Gesundheitswissenschaften 
Carl von Ossietzky Universität Oldenburg

Küpkersweg 74, 26129 Oldenburg
Tel: +49 441 798 3945

https://www.uni-oldenburg.de/machine-learning/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]