2.1. C/C++ on Metis

Chapter 2.1.1: Building a C++ Project from the Ground Up

  • Goals: Familiarize with basic commands and job submission on Metis.
  • C++ Boilerplate: Create and run a basic "Hello, World" C++ program with computational loops.
  • PBS Basics: Write a PBS job script to run your C++ program on compute nodes.
  • Execution: Compile and run the C++ program locally and via PBS.
  • Outcome: You will be able to understand job submission, the PBS script structure, and basic module commands.

Chapter 2.1.2: Building a CUDA Project from the Ground Up

  • Goals: Learn to use CUDA for GPU programming on Metis.
  • CUDA Boilerplate: Write a CUDA program to achieve the same task as in Chapter 1.1 but using GPU acceleration.
  • CUDA Modules: Install and use the CUDA compiler (nvcc) with module commands.
  • Execution: Compile and run your CUDA program, observing performance improvements.
  • PBS for CUDA: Adapt the PBS script to load CUDA modules and compile with nvcc.
  • Outcome: You will be able to leverage CUDA for faster computation and understand the structure of both CUDA programs and PBS scripts.