AOCC – AMD Optimizing C/C++ and Fortran Compiler
AOCC is the AMD Optimizing C/C++ and Fortran Compiler and is available at https://amd.com/en/developer/aocc.html. Based on LLVM with specialized support for Zen cores and particularly focused on the AMD EPYC server processors. Some of this is upstream but also some optimizations only in the AOCC. It has a click-through EULA before installing.
By default it installs in /opt/AMD/aocc-compiler-4.1.0 and /opt/AMD/aocc-compiler-4.1.0/bin should be added to PATH and perhaps /opt/AMD/aocc-compiler-4.1.0/lib to LD_LIBRARY_PATH. This enables versions of LLVM-based tools including clang, flang, lld.
Also includes amdgpu-arch which tells me my AMD GPU version (also nvptx-arch which presumably does the same for NVidia GPUs
prompt% amdgpu-arch
gfx1100
There is also a Quick Reference Guide of compiler options at: https://www.amd.com/content/dam/amd/en/documents/developer/version-4-1-documents/aocc/aocc-4.1-quick-reference-guide.pdf and a User Guide with more complete descriptions and prerequisites, etc.
There is a set of related libraries at: https://www.amd.com/en/developer/aocl.html
gcc/g++
The default system version of gcc with Ubuntu 22.04 is 11.4
The latest version of gcc I have built is 13.2
Intel(C) oneAPI DPC++/C++ Compiler
The Intel OneAPI DPC++/C++ Compiler is available at http://software.intel.com/ and more specifically https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html
The “intel-basekit” package pulls in many other Intel compiler packages. These get installed into /opt/intel. For example the C++ compiler driver is /opt/intel/oneapi/compiler/2024.0/bin/icpx and the C compiler is “icx” in the same directory.
