The library is available free of charge under the terms of Intel Simplified Software License which allow redistribution. Commercial support is available when purchased as a standalone software or as part of Intel Parallel Studio XE or Intel System Studio. Next I install Intel® Parallel Studio XE Cluster Edition (includes Fortran and C/C) from Intel Developer Zone Site. At that site was a free offer the tool for students. The installation was installed the next softwares: But when I try to create a new Fortran Project I didn't find the option on the Visual Studio Community 2017.
Developer(s) | Intel |
---|---|
Initial release | May 9, 2003; 16 years ago |
Stable release | |
Written in | C/C++, Fortran |
Operating system | Microsoft Windows, Linux, macOS |
Platform | Intel Xeon Phi, Intel Xeon, Intel Core, Intel Atom[2] |
Type | Library and framework |
License | Freeware[3] |
Website | software.intel.com/mkl |
IntelMath Kernel Library (Intel MKL) is a library of optimized math routines for science, engineering, and financial applications. Core math functions include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast Fourier transforms, and vector math.[4] The routines in MKL are hand-optimized specifically for Intel processors.[5][6]
The library supports Intel processors[2] and is available for Windows, Linux and macOSoperating systems.[7][4][5][4]
- 4Details
History[edit]
Intel launched the Math Kernel Library on May 9, 2003, and called it blas.lib.[8] The project's development teams are located in Russia and the United States. MKL is bundled with Intel Parallel Studio XE, Intel Cluster Studio XE, Intel C++, Fortran Studio XE products as well as canopy. Standalone versions have not been sold for years to new customers but are now available for free.[9]
License[edit]
The library is available free of charge under the terms of Intel Simplified Software License[3] which allow redistribution.[9] Commercial support is available when purchased as a standalone software or as part of Intel Parallel Studio XE or Intel System Studio.
Performance[edit]
Intel MKL and other programs generated by the Intel C++ Compiler improve performance with a technique called function multi-versioning: a function is compiled or written for many of the x86 instruction set extensions, and at run-time a 'master function' uses the CPUID instruction to select a version most appropriate for the current CPU. However, as long as the master function detects a non-Intel CPU, it almost always chooses the most basic (and slowest) function to use, regardless of what instruction sets the CPU claims to support. This has netted the system a nickname of 'cripple AMD' routine since 2009.[10] As of 2019, MKL, which remains the choice of many pre-compiled Mathematical applications on Windows (such as NumPy, SymPy, and MATLAB), still significantly underperforms on AMD CPUs with equivalent instruction sets.[11]
Details[edit]
Functional categories[edit]
Intel MKL has the following functional categories:[12]
- Linear algebra: BLAS routines are vector-vector (Level 1), matrix-vector (Level 2) and matrix matrix (Level 3) operations for real and complex single and double precision data. LAPACK consists of tuned LU, Cholesky and QR factorizations, eigenvalue and least squares solvers. MKL also includes Sparse BLAS, ScaLAPACK, Sparse Solver, Extended Eigensolver, PBLAS and BLACS.
- Since MKL uses standard interfaces for BLAS and LAPACK, the application which uses other implementations can get better performance on Intel and compatible processors by re-linking with MKL libraries.
- MKL includes a variety of Fast Fourier Transforms (FFTs) from 1D to multidimensional, complex to complex, real to complex, and real to real transforms of arbitrary lengths. Applications written with the open source FFTW can be easily ported to MKL by linking with interface wrapper libraries provided as part of MKL for easy migration.
- Cluster versions of LAPACK and FFTs are also available as part of MKL to take advantage of MPI parallelism in addition to single node parallelism from multithreading.
- Vector math functions include computationally intensive core mathematical operations for single and double precision real and complex data types. These are similar to libm functions from compiler libraries but operate on vectors rather than scalars to provide better performance. There are various controls for setting accuracy, error mode and denormalized number handling to customize the behavior of the routines.
- Statistics functions include random number generators and probability distributions. optimized for multicore processors. Also included are compute-intensive in and out-of-core routines to compute basic statistics, estimation of dependencies etc.
- Data fitting functions include splines (linear, quadratic, cubic, look-up, stepwise constant) for 1-dimensional interpolation that can be used in data analytics, geometric modeling and surface approximation applications.
See also[edit]
- Automatically Tuned Linear Algebra Software (ATLAS)
References[edit]
- ^'Intel Math Kernel Library 2018 Release Notes'.
- ^ abIntel® Math Kernel Library (Intel® MKL) | Intel® Software
- ^ ab'Intel Simplified Software License'.
- ^ abc'Intel Math Kernel Library'.
- ^ ab'Intel Math Kernel Library (MKL)'.
- ^'Webinar 3 – Practical usage of Intel Math Kernel Library: performance tuning tips and usage with coprocessors'.
- ^'MKL - Intel Math Kernel Library'.
- ^'Intel launches library tool for developers. (Intel Math Kernel Library 6.0) (Brief Article)'. Telecomworldwire. May 9, 2003. Retrieved November 29, 2009.
- ^ ab'Intel Math Kernel Library Licensing FAQ'.
- ^'Agner`s CPU blog - Intel's 'cripple AMD' function'. www.agner.org.
- ^'MKL has bad performance on an AMD cpu'. Mingru Yang.
- ^Developer Reference for Intel® Math Kernel Library 2018 - C
External links[edit]
- Official website
I installed the Intel Fortran Composer XE from this link on my Debian Linux system, which includes the Intel Fortran Compiler. I installed it to opt/intel/composer_xe_2013_sp1.0.080
, but now I'm not sure how to run it. I followed the instructions in this question to install the environment variables, but now I'm trying to run the IDE.
Does Intel Fortran on Linux not come with an IDE? On Windows everyone talks about integrating it with Visual Studio, so do I need to integrate it with Eclipse (somehow?), or what? Can someone point me to resources telling me about this? I don't see information anywhere, so I feel like... I'm just supposed to know and that this is a really stupid question. What is the composer if not an IDE? Is the composer different from the compiler?
4 Answers
You need to source two files into your environment (and possibly specify your architecture)
To find out what architectures are supported run
without any arguments
You can create a file named /etc/profile.d/intel.sh
, and insert these lines into it. after editing you should log out and log in back again, then try
To see if your environment knows the correct location of everything
Intel Fortran Compiler License
If you cannot edit files under /etc (no super user privileges), just add these two 'source' lines into your ~/.bashrc, then log out and log in again
Just put source compilervars.sh
to jour .profile
or /etc/profile.d
. No need to create symlinks for everything.
As to IDE, there is no own IDE in Intel Composer. People even don't use IDE's that much on Linux, when they are used to vi
, emacs
, kate
or whatever.
Intel Parallel Studio comes with eclipse plug-in for C++, but not for Fortran. You may use Photran as a Fortran Eclipse plugin.
Vladimir FVladimir FIn response to Part A about using ifort, you need to create a symbolic link to ifort
:
Then you should be able to just type ifort code.f90
into your terminal and have an executable.
As to Part B about an IDE: my $0.02 is that they as a whole are a dime a dozen. I usually use a text editor or terminal (I'm a nano
user). I don't know squat about Intel's IDE, but Steve Lionel has been hanging around SO lately, so he might be able to better serve you on this note.
Intel Fortran License
Here's an excellent article by Intel on Using Intel® C++ Compiler with the Eclipse* IDE on Linux*. Hope this helps. I'm amazed people think they can get by with no debugger on Linux. They must be writing some very flat, mono-threaded code. Also, here's a good expose on the features of the debugger. It's about time SOMEBODY went beyond GDB and provided a reasonable debugging environment in Linux. Intel® Debugger for Linux* (IDB)