Intel compilers
Intel compilers
Under Intel's licensing agreement (of November 2020), the oneAPI compilers are installed on CSC machines, at /lsc/opt/intel
.
The licence terms can be found at /lsc/opt/intel/licensing/latest/EULA.htm
.
Enabling the compilers
In order to set all necessary environment variables, run: source /lsc/opt/intel/setvars.sh
Without this, the compilers will not work correctly.
Compilers
The available executables are then:
Executable | Function |
ic | C Compiler |
icpx | C++ Compiler |
ifort | Fortran Compiler |
mpiicc | C Compiler (with MPI flags and linking) |
mpiicpc | C++ Compiler (with MPI flags and linking) |
mpiifort | Fortran Compiler (with MPI flags and linking) |
dpcpp | DPC++/SYCL Compiler |
gdb-oneapi | Debugger based on GDB |
vtune | VTune Command line profiler |
vtune-gui | VTune Graphical profiler |
advisor | Performance Advisor Command Line Tool |
traceanalyzer | Parallel Communication Profiler |
Documentation
Documentation can be found at:
- C++ Compiler Guide
- MPI Compilation and performance
- VTune Profiler documentation
- Intel Design Performance Advisor
Libraries
Also included are:
- Math Kernel Library (Documentation)
- Threading Building Blocks (Documentation)
SYCL / DPC++
The SYCL language is an extension of C++ that supports heterogeneous (e.g. CPU/GPU/FPGA) computing from a single source file. Tutorials can be found from CodePlay's Git repository.
Intel have created DPC++ (Data Parallel C++) which is an extension of SYCL and which can be compiled with dpcpp
. More details can be found on Intel's website.
CUDA and DPC++
Currently, DPC++ does not recognise NVIDIA GPUs on the CSC network. This is a work-in-progress.