FreeFEM++ is a package that targeted for researchers who needs a powerful tool for solving partial differential equations.
It can be found at http://www.freefem.org/
By default build instructions for FreeFEM++ uses open-source products http://www.freefem.org/ff++/linux.php .
Intel provides for software developers a wonderful product Intel® Parallel Studio XE. It can be used to get additional optimizations and performance of FreeFEM++ on Intel platforms.
Prework
Let's download Intel Parallel Studio XE and install it to <IPSXE_install_dir>.
Currently version 2018 Update 1 is released and will be used.
Prepare build directories structure:
Download FreeFED++:
And unzip it
Building
We will use Intel(R) Composer, Intel(R) Math Kernel Library(Intel(R) MKL) and Intel(R) MPI Library (Intel(R) MPI):
FreeFEM++ for building uses traditional autotools way: configure - make. So let's setup it with Intel tools (single line will be given below):
Where icc is Intel® C compiler, icpc - Intel® C++ compiler, ifort - Intel® Fortran Compiler.
We are using --with-mpiinc and --with-mpilbs to notify FreeFEM++ how to build packages with Intel® MPI Library. Unfortunately traditional mpiicc, mpiicpc and mpiifort cause compatibility issues.
The same with single line is:
Also as we are using -xCOMMON-AVX512, so we need to set system default compiler to icc:
And now we can build it all
Unfortunately parallel build (-j<n>) is not supported, so it will take some time.
Conclusion
Enjoy your FreeFEM++ with Intel® Software Tools for developers!
"