Introduction
Modules in the context of High-Performance Computing (HPC) systems
are packages that I can load and unload dynamically to configure my
environment(s) with the necessary software. Below is a brief explanation
of each module listed.
Compiler Modules
AMD AOCC
Module: amd/aocc/4.1.0
Description: AMD Optimizing C/C++ Compiler is a
high-performance, production-quality code generation tool. It supports
C, C++, and Fortran programming languages and is specifically optimized
for AMD processors.
module load amd/aocc/4.1.0
GNU Compiler Collection
Modules: gcc/11.2.0
and
gcc/13.2.0
Description: These versions of GCC are
widely-used compilers for C, C++, and Fortran. GCC 13.2.0 is the default
version in this environment, known for its portability and a standard on
many Linux distributions.
module load gcc/11.2.0 and gcc/13.2.0
Intel OneAPI
Module:
intel/oneapi/2023.2
Description: Intel OneAPI is a comprehensive,
cross-architecture programming toolkit, which includes compilers and
analysis tools optimized for Intel processors.
module load intel/oneapi/2023.2
NVIDIA HPC SDK
Module: nvidia/nvhpc/23.7
Description: NVIDIA HPC SDK includes compilers
and tools to develop applications for NVIDIA GPUs and CPUs, optimized
for CUDA and GPU-accelerated applications.
module load nvidia/nvhpc/23.7
Application Modules
Apptainer
Module: apptainer/1.1.9
Description: Formerly known as Singularity,
Apptainer is a container platform designed for HPC environments,
enabling portable and reproducible computational environments.
module load apptainer/1.1.9
Gaussian
Module: gaussian/g16c02
Description: Gaussian is used for computational
chemistry, performing electronic structure calculations, widely used for
predicting molecular structures and properties.
module load gaussian/g16c02
Using Modules
To use the NVIDIA NVHPC 23.7 compiler suite on an HPC system:
Step 1: Load the NVHPC Module
Load the NVIDIA NVHPC module to set up the environment with the
necessary paths and environment variables.
module load nvidia/nvhpc/23.7
Verify that the module has been loaded correctly by checking the
currently loaded modules:
module list
Step 2: Compile Code
Use the NVHPC compilers to compile code. NVHPC includes several
compilers, such as nvc
for C, nvc++
for C++,
and nvfortran
for Fortran. Here are examples of how to
compile C, C++, and Fortran code:
Compile C Code
nvc -o my_program my_program.c
Compile C++ Code
nvc++ -o my_program my_program.cpp
Compile Fortran Code
nvfortran -o my_program my_program.f90
Step 3: Run Program
Run the compiled executable:
./my_program
Example Workflow
This workflow includes loading the NVHPC module, compiling a C
program, and running the compiled program:
- Load the NVHPC module:
module load nvidia/nvhpc/23.7
- Compile the C program:
nvc -o hello_world hello_world.c
- Run the compiled program:
./hello_world
This R Markdown setup will provide a clean and organized notebook in
HTML format, detailing the use of superpod modules in an HPC
environment. ```
This format keeps your document well-organized and easy to follow,
making good use of sections and code blocks to separate and clearly
describe each step.
LS0tDQp0aXRsZTogIlN1cGVycG9kIE1vZHVsZXMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyMjIEludHJvZHVjdGlvbg0KDQpNb2R1bGVzIGluIHRoZSBjb250ZXh0IG9mIEhpZ2gtUGVyZm9ybWFuY2UgQ29tcHV0aW5nIChIUEMpIHN5c3RlbXMgYXJlDQpwYWNrYWdlcyB0aGF0IEkgY2FuIGxvYWQgYW5kIHVubG9hZCBkeW5hbWljYWxseSB0byBjb25maWd1cmUgbXkNCmVudmlyb25tZW50KHMpIHdpdGggdGhlIG5lY2Vzc2FyeSBzb2Z0d2FyZS4gQmVsb3cgaXMgYSBicmllZiBleHBsYW5hdGlvbg0Kb2YgZWFjaCBtb2R1bGUgbGlzdGVkLg0KDQojIyMgKipDb21waWxlciBNb2R1bGVzKioNCg0KIyMjICoqQU1EIEFPQ0MqKg0KDQotICAgKipNb2R1bGUqKjogYGFtZC9hb2NjLzQuMS4wYA0KDQogICAgKipEZXNjcmlwdGlvbioqOiBBTUQgT3B0aW1pemluZyBDL0MrKyBDb21waWxlciBpcyBhDQogICAgaGlnaC1wZXJmb3JtYW5jZSwgcHJvZHVjdGlvbi1xdWFsaXR5IGNvZGUgZ2VuZXJhdGlvbiB0b29sLiBJdA0KICAgIHN1cHBvcnRzIEMsIEMrKywgYW5kIEZvcnRyYW4gcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIGFuZCBpcw0KICAgIHNwZWNpZmljYWxseSBvcHRpbWl6ZWQgZm9yIEFNRCBwcm9jZXNzb3JzLg0KDQogICAgYGBgIHNoDQogICAgbW9kdWxlIGxvYWQgYW1kL2FvY2MvNC4xLjANCiAgICBgYGANCg0KIyMjICoqR05VIENvbXBpbGVyIENvbGxlY3Rpb24qKg0KDQotICAgKipNb2R1bGVzKio6IGBnY2MvMTEuMi4wYCBhbmQgYGdjYy8xMy4yLjBgDQoNCi0gICAqKkRlc2NyaXB0aW9uKio6IFRoZXNlIHZlcnNpb25zIG9mIEdDQyBhcmUgd2lkZWx5LXVzZWQgY29tcGlsZXJzIGZvcg0KICAgIEMsIEMrKywgYW5kIEZvcnRyYW4uIEdDQyAxMy4yLjAgaXMgdGhlIGRlZmF1bHQgdmVyc2lvbiBpbiB0aGlzDQogICAgZW52aXJvbm1lbnQsIGtub3duIGZvciBpdHMgcG9ydGFiaWxpdHkgYW5kIGEgc3RhbmRhcmQgb24gbWFueSBMaW51eA0KICAgIGRpc3RyaWJ1dGlvbnMuDQoNCiAgICBgYGAgc2gNCiAgICBtb2R1bGUgbG9hZCBnY2MvMTEuMi4wIGFuZCBnY2MvMTMuMi4wDQogICAgYGBgDQoNCiMjIyAqKkludGVsIE9uZUFQSSoqDQoNCi0gICAqKk1vZHVsZSoqOiBgaW50ZWwvb25lYXBpLzIwMjMuMmANCg0KLSAgICoqRGVzY3JpcHRpb24qKjogSW50ZWwgT25lQVBJIGlzIGEgY29tcHJlaGVuc2l2ZSwgY3Jvc3MtYXJjaGl0ZWN0dXJlDQogICAgcHJvZ3JhbW1pbmcgdG9vbGtpdCwgd2hpY2ggaW5jbHVkZXMgY29tcGlsZXJzIGFuZCBhbmFseXNpcyB0b29scw0KICAgIG9wdGltaXplZCBmb3IgSW50ZWwgcHJvY2Vzc29ycy4NCg0KICAgIGBgYCBzaA0KICAgIG1vZHVsZSBsb2FkIGludGVsL29uZWFwaS8yMDIzLjINCiAgICBgYGANCg0KIyMjICoqTlZJRElBIEhQQyBTREsqKg0KDQotICAgKipNb2R1bGUqKjogYG52aWRpYS9udmhwYy8yMy43YA0KDQotICAgKipEZXNjcmlwdGlvbioqOiBOVklESUEgSFBDIFNESyBpbmNsdWRlcyBjb21waWxlcnMgYW5kIHRvb2xzIHRvDQogICAgZGV2ZWxvcCBhcHBsaWNhdGlvbnMgZm9yIE5WSURJQSBHUFVzIGFuZCBDUFVzLCBvcHRpbWl6ZWQgZm9yIENVREENCiAgICBhbmQgR1BVLWFjY2VsZXJhdGVkIGFwcGxpY2F0aW9ucy4NCg0KLSAgIA0KDQogICAgYGBgIHNoDQogICAgbW9kdWxlIGxvYWQgbnZpZGlhL252aHBjLzIzLjcNCiAgICBgYGANCg0KIyMgKipBcHBsaWNhdGlvbiBNb2R1bGVzKioNCg0KIyMjICoqQU1CRVIqKg0KDQotICAgKipNb2R1bGUqKjogYGFtYmVyLzIyYA0KDQotICAgKipEZXNjcmlwdGlvbioqOiBBTUJFUiBpcyBhIHN1aXRlIG9mIGJpb21vbGVjdWxhciBzaW11bGF0aW9uDQogICAgcHJvZ3JhbXMgcHJpbWFyaWx5IHVzZWQgZm9yIG1vbGVjdWxhciBkeW5hbWljcyBvZiBwcm90ZWlucyBhbmQNCiAgICBudWNsZWljIGFjaWRzLg0KDQotICAgDQoNCiAgICBgYGAgc2gNCiAgICBtb2R1bGUgbG9hZCBhbWJlci8yMg0KICAgIGBgYA0KDQojIyMgQXBwdGFpbmVyDQoNCi0gICAqKk1vZHVsZSoqOiBgYXBwdGFpbmVyLzEuMS45YA0KDQotICAgKipEZXNjcmlwdGlvbioqOiBGb3JtZXJseSBrbm93biBhcyBTaW5ndWxhcml0eSwgQXBwdGFpbmVyIGlzIGENCiAgICBjb250YWluZXIgcGxhdGZvcm0gZGVzaWduZWQgZm9yIEhQQyBlbnZpcm9ubWVudHMsIGVuYWJsaW5nIHBvcnRhYmxlDQogICAgYW5kIHJlcHJvZHVjaWJsZSBjb21wdXRhdGlvbmFsIGVudmlyb25tZW50cy4NCg0KLSAgIA0KDQogICAgYGBgIHNoDQogICAgbW9kdWxlIGxvYWQgYXBwdGFpbmVyLzEuMS45DQogICAgYGBgDQoNCiMjIyBDb25kYQ0KDQotICAgKipNb2R1bGUqKjogYGNvbmRhYA0KDQotICAgKipEZXNjcmlwdGlvbioqOiBDb25kYSBpcyBhbiBvcGVuLXNvdXJjZSBwYWNrYWdlIGFuZCBlbnZpcm9ubWVudA0KICAgIG1hbmFnZW1lbnQgc3lzdGVtLCBwb3B1bGFyIGZvciBtYW5hZ2luZyBQeXRob24gZW52aXJvbm1lbnRzIGFuZA0KICAgIHBhY2thZ2VzLg0KDQotICAgDQoNCiAgICBgYGAgc2gNCiAgICBtb2R1bGUgbG9hZCBjb25kYQ0KICAgIGBgYA0KDQojIyMgR2F1c3NpYW4NCg0KLSAgICoqTW9kdWxlKio6IGBnYXVzc2lhbi9nMTZjMDJgDQoNCi0gICAqKkRlc2NyaXB0aW9uKio6IEdhdXNzaWFuIGlzIHVzZWQgZm9yIGNvbXB1dGF0aW9uYWwgY2hlbWlzdHJ5LA0KICAgIHBlcmZvcm1pbmcgZWxlY3Ryb25pYyBzdHJ1Y3R1cmUgY2FsY3VsYXRpb25zLCB3aWRlbHkgdXNlZCBmb3INCiAgICBwcmVkaWN0aW5nIG1vbGVjdWxhciBzdHJ1Y3R1cmVzIGFuZCBwcm9wZXJ0aWVzLg0KDQotICAgDQoNCiAgICBgYGAgc2gNCiAgICBtb2R1bGUgbG9hZCBnYXVzc2lhbi9nMTZjMDINCiAgICBgYGANCg0KIyMgVXNpbmcgTW9kdWxlcw0KDQpUbyB1c2UgdGhlIE5WSURJQSBOVkhQQyAyMy43IGNvbXBpbGVyIHN1aXRlIG9uIGFuIEhQQyBzeXN0ZW06DQoNCiMjIyBTdGVwIDE6IExvYWQgdGhlIE5WSFBDIE1vZHVsZQ0KDQpMb2FkIHRoZSBOVklESUEgTlZIUEMgbW9kdWxlIHRvIHNldCB1cCB0aGUgZW52aXJvbm1lbnQgd2l0aCB0aGUNCm5lY2Vzc2FyeSBwYXRocyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzLg0KDQpgYGAgYmFzaA0KbW9kdWxlIGxvYWQgbnZpZGlhL252aHBjLzIzLjcNCmBgYA0KDQpWZXJpZnkgdGhhdCB0aGUgbW9kdWxlIGhhcyBiZWVuIGxvYWRlZCBjb3JyZWN0bHkgYnkgY2hlY2tpbmcgdGhlDQpjdXJyZW50bHkgbG9hZGVkIG1vZHVsZXM6DQoNCmBgYCBiYXNoDQptb2R1bGUgbGlzdA0KYGBgDQoNCiMjIyBTdGVwIDI6IENvbXBpbGUgQ29kZQ0KDQpVc2UgdGhlIE5WSFBDIGNvbXBpbGVycyB0byBjb21waWxlIGNvZGUuIE5WSFBDIGluY2x1ZGVzIHNldmVyYWwNCmNvbXBpbGVycywgc3VjaCBhcyBgbnZjYCBmb3IgQywgYG52YysrYCBmb3IgQysrLCBhbmQgYG52Zm9ydHJhbmAgZm9yDQpGb3J0cmFuLiBIZXJlIGFyZSBleGFtcGxlcyBvZiBob3cgdG8gY29tcGlsZSBDLCBDKyssIGFuZCBGb3J0cmFuIGNvZGU6DQoNCiMjIyMgQ29tcGlsZSBDIENvZGUNCg0KYGBgIGJhc2gNCm52YyAtbyBteV9wcm9ncmFtIG15X3Byb2dyYW0uYw0KYGBgDQoNCiMjIyMgQ29tcGlsZSBDKysgQ29kZQ0KDQpgYGAgYmFzaA0KbnZjKysgLW8gbXlfcHJvZ3JhbSBteV9wcm9ncmFtLmNwcA0KYGBgDQoNCiMjIyMgQ29tcGlsZSBGb3J0cmFuIENvZGUNCg0KYGBgIGJhc2gNCm52Zm9ydHJhbiAtbyBteV9wcm9ncmFtIG15X3Byb2dyYW0uZjkwDQpgYGANCg0KIyMjIFN0ZXAgMzogUnVuIFByb2dyYW0NCg0KUnVuIHRoZSBjb21waWxlZCBleGVjdXRhYmxlOg0KDQpgYGAgYmFzaA0KLi9teV9wcm9ncmFtDQpgYGANCg0KIyMjIEV4YW1wbGUgV29ya2Zsb3cNCg0KVGhpcyB3b3JrZmxvdyBpbmNsdWRlcyBsb2FkaW5nIHRoZSBOVkhQQyBtb2R1bGUsIGNvbXBpbGluZyBhIEMgcHJvZ3JhbSwNCmFuZCBydW5uaW5nIHRoZSBjb21waWxlZCBwcm9ncmFtOg0KDQoxLiAgTG9hZCB0aGUgTlZIUEMgbW9kdWxlOg0KDQpgYGAgYmFzaA0KbW9kdWxlIGxvYWQgbnZpZGlhL252aHBjLzIzLjcNCmBgYA0KDQoyLiAgQ29tcGlsZSB0aGUgQyBwcm9ncmFtOg0KDQpgYGAgYmFzaA0KbnZjIC1vIGhlbGxvX3dvcmxkIGhlbGxvX3dvcmxkLmMNCmBgYA0KDQozLiAgUnVuIHRoZSBjb21waWxlZCBwcm9ncmFtOg0KDQpgYGAgYmFzaA0KLi9oZWxsb193b3JsZA0KYGBgDQoNClRoaXMgUiBNYXJrZG93biBzZXR1cCB3aWxsIHByb3ZpZGUgYSBjbGVhbiBhbmQgb3JnYW5pemVkIG5vdGVib29rIGluDQpIVE1MIGZvcm1hdCwgZGV0YWlsaW5nIHRoZSB1c2Ugb2Ygc3VwZXJwb2QgbW9kdWxlcyBpbiBhbiBIUEMNCmVudmlyb25tZW50LiBcYFxgXGANCg0KVGhpcyBmb3JtYXQga2VlcHMgeW91ciBkb2N1bWVudCB3ZWxsLW9yZ2FuaXplZCBhbmQgZWFzeSB0byBmb2xsb3csDQptYWtpbmcgZ29vZCB1c2Ugb2Ygc2VjdGlvbnMgYW5kIGNvZGUgYmxvY2tzIHRvIHNlcGFyYXRlIGFuZCBjbGVhcmx5DQpkZXNjcmliZSBlYWNoIHN0ZXAuDQo=