Table of Contents | ||||||||
---|---|---|---|---|---|---|---|---|
|
Overview
Teton hosts several compiler collections. To utilize a compiler in any of these sets, one must utilize the module command to augment the environment to load the appropriate compiler set. To compile code that requires the utilization of the message passing interface (MPI), an MPI wrapper needs to be utilized.
Info |
---|
Each of the following collections includes C, C++ and Fortran compilers. A list of the compilers in each of these collections is given below. |
Teton Compilers
Intel Compiler Collection
The Intel compilers are the preferred choice for compiling on Teton. This is because the compute nodes utilize Intel processors. Intel software often can optimize more for their own processing units better than other compilers, but that is not always the case or you may have specific reasons to utilize other compilers.
...
Command
...
Explanation
...
icc
...
Intel C Compiler
...
icpc
...
Intel C++ Compiler
...
ifort
...
Intel Fortran Compiler
You can use the "module spider intel" to see what versions of the compiler are available.
Intel Compiler Suite
Overview
Intel Parallel Studio Cluster Edition includes industry-leading C, C++ and Fortran compilers, performance libraries, standards-based parallel models, and performance-optimized Python. Build your software with a performance profiler, optimized vectorization, threading prototyping, and debugging tools for memory and threads. It Includes an MPI library, an MPI tuning and analysis tool, and an advanced cluster diagnostic system.
Intel Parallel Studio
Vendor: Intel
Application: C, C++, Fortran, MKL library, Debuggers
Version: Multiple
License: floating license with all features supported.
Module Load Command
Use the following module commands to enable access to the different Intel software components:
Compilers:
Code Block |
---|
module load intel |
Intel Math Kernel Library
Code Block |
---|
module load intel-mkl |
Intel MPI librariesL
Code Block |
---|
module load intel-mpi |
Intel debugging tools:
Code Block |
---|
module load intel-tbb |
GNU Compiler Collection
The GNU Compiler Collection (GCC) is a set of compilers that is open source and often found as part of any base Linux system for research computing. The following table shows the commands for compiling C, C++, and Fortran on Teton.
...
Command
...
Explanation
...
gcc
...
GNU C compiler
...
g++
...
GNU C++ compiler
...
gfortran
...
GNU Fortran compiler
You can use the "module spider gcc" to see what versions of the compiler are available.
PGI Compilers
The PGI compilers are developed by the Portland Group and concentrate on providing full-featured compilers for several environments. PGI compilers also have extensions for additional programming practices such as OpenACC.
...
Command
...
Explanation
...
pgcc
...
PGI C compiler
...
pgCC
...
PGI C++ Compiler
...
pgfortran
...
PGI Fortran Compiler
...
pgf77
...
PGI Fortran 77 Compiler
Note |
---|
Currently not installed on Teton. If you need this compiler please request that it be installed. |
PGI Compiler Suite
Overview
PGI Compiler Suite includes PGI Fortran, C, and C++ compilers and tools for scientists and engineers. Features include V100 Tensor Core support, full C++17 language support, OpenACC print(), PCAST directives, LLVM 7.0, Turing support, and more. The PGI CUDA Fortran compiler now supports programming Tensor Cores in NVIDIA’s Volta V100 and Turing GPUs. Scientists using Fortran can take advantage of FP16 matrix operations accelerated by Tensor Cores.
PGI Compiler Suite
Vendor: Pgroup an Nivdia company
Application: C, C++, Fortran
Version: Multiple
Website: https://www.pgroup.com/index.htm
License: floating license with all features supported.
Module Load Command
Use the following module commands to enable access to the different PGI software components:
Note |
---|
Not currently available on Teton but can be upon request. |
Allinea Debugger
Arm DDT is the debugger of choice for developing C++, C, or Fortran parallel, and threaded applications on CPUs, GPUs, and Intel Xeon Phi. Its powerful intuitive graphical interface helps you easily detect memory bugs and divergent behavior at all scales, making Arm DDT the number one debugger in research, industry, and academia.
Arm/Allinea DDT Debugger
Vendor: Arm/Allinea
Application: Debugger
Version: Multiple
Website: https://www.arm.com/products/development-tools/server-and-hpc/forge
License: floating license with support for up to 128 parallel cores.
Module Load Command
Use the following module commands to enable access to the different Intel software components:
...
Beartooth hosts a number of compilers with the GNU family collection currently being the primary with the majority of our software tree and libraries being built with it.
Take a look at the child pages to see what other family of compilers are available, what tools they provide and how to use them.