User:Mtmiller/Notes

From Octave
Jump to navigation Jump to search

Intel Toolchain

Warning icon.svg
I do not endorse using the Intel Compiler or Math Kernel Library, I always endorse using completely free software solutions. I am simply evaluating how compatible Octave is with the Intel development tools and putting some notes here.

Intel Compiler

To compile Octave with the Intel compiler (tested with version 12.0.0.084) pass the following variables to configure:

Code: Intel compiler variables
CC=icc
CXX=icpc
F77=ifort
CFLAGS="-g -O2 -diag-error 10006,10155,10156,10157,10158"
CXXFLAGS="-g -O2 -diag-error 10006,10155,10156,10157,10158 -diag-disable 654,1125"
FFLAGS="-g -O2 -diag-error 10006,10155,10156,10157,10158"

The -diag-error 10006,10155,10156,10157,10158 options tell the compiler to treat unknown command-line options as errors instead of warnings. This allows the configure script to correctly detect which options are recognized by the compiler.

The -diag-disable 654,1125 setting for C++ turns off warnings about shadowing member functions. I may turn these back on at some point to compile a list of these warnings, but ignore for now.

Intel Math Kernel Library

The IMKL provides a library interface that includes BLAS, LAPACK, and FFTW functions, so it should be possible to use it in place of all three of those libraries.