Contents

Before You Begin

Warning: Packages that have been compiled by icc will depend on the associated libs contained the intel-openmp package in order to run. Since intel-openmp depends on intel-compiler-base, users MUST have both packages installed at all times!

Setup and Installation

intel-parallel-studio-xeAUR are available in the AUR. To build the package, one needs a license file which is free for personal and for non-commercial use. The requisite license file is emailed to users upon [registration] and should be copied into the $startdir prior to running makepkg. The current PKGBUILD assembles 7 or 8 packages:

Note: A minimal working environment requires the intel-compiler-base and intel-openmp packages; if you want also the fortran compiler you must install intel-fortran-compiler.

Using icc with makepkg

Note: Not every package will successfully compile with icc without heavy modifications to the underlying source.

There is currently no official guide to using icc with makepkg. This section is meant to capture various methods suggested by users. Please make a new sub-section with your suggested method titled as such.

Method 1

Modify /etc/makepkg.conf inserting the following code under the existing line defining CXXFLAGS to enable makepkg to use icc. No special switches are needed when calling makepkg to build.

Note: To toggle between the native gcc and icc, simple comment or uncomment the newly created _CC variable.

Note: Is some case the compilation method described above fails and the compilation will be performed with gcc, so you should test if yours application has been effectively compiled with icc

To test if your package has been really compiled with icc:

Type the command ldd [your_app] | grep intel If the application is linked to a shared object located in the directory /opt/intel/lib/ it's mind that has been complied with icc.

Another method is to observe the build output and watch if it's using the icc or icpc command.

The last method is to watch if the warnings are in icc style or not.

icc CFLAGS

In general, icc supports many of the same CFLAGS gcc supports and is also pretty tolerant to gcc flags it cannot use. In most cases it will happily ignore the flag warning the user and moving on. For an exhaustive list and explanation of available compiler flags, consult the icc manpage or better yet by invoking the compiler with the help flag:

icc --help

-xX

Use to generate specialized code to run exclusively on processors supporting it. If unsure which option to use, simply inspect the flags section of /proc/cpuinfo. In the example below, SSE4.1 would be the correct selection: