Working with C++

The tutorial assumes you have already worked through the Execute a Job Tutorial. Therefore, the instructions here are abbreviated but will follow the same format so you may easily consult the extended tutorial.

Table of Contents

📝 Note: Do not execute jobs on the login nodes; only use the login nodes to access your compute nodes. Processor-intensive, memory-intensive, or otherwise disruptive processes running on login nodes will be killed without warning.

Step 1: Access the Onyx HPC

  1. Open a Bash terminal (or MobaXterm for Windows users).

  2. Execute ssh doaneusername@onyx.doane.edu.

  3. When prompted, enter your password.

Step 2: Create an sbatch Script

Example sbatch Script

Here is an example sbatch script for running a batch job on an HPC like Onyx.

sbatch Procedure

  1. Use nano or Vim (we use Vim here) to create and edit your sbatch script.

  2. Create your sbatch script within Vim by typing i for insert mode or paste the contents of your sbatch script into Vim.

  3. Save your file by typing :wq! and return to the Bash shell.

Step 3: Compile the C++ Program from Source

MPI Hello World Source Code

C++ Procedure

  1. Use Vim (vim wiki_mpi_example.c) to create your C++ source file.

  2. Save your file and return to the Bash shell.

  3. Load the MPI compiler using the openmpi module.

  4. Compile the C++ source into a binary executable file.

  5. Use ls -al to verify the presence of the hello.mpi binary in your working directory.

Step 4: Run the Job

  1. Before proceeding, ensure that you are still in your working directory (using pwd) and that you still have the openmpi module loaded (using module list).

    • We need to be in the same path/directory as our sbatch script and our C++ binary. Use ls -al to confirm their presence.

  2. Use sbatch to schedule your batch job in the queue.

    This command will automatically queue your job using slurm and produce a job number. You can check the status of your job at any time with the squeue command.

    You can also stop your job at any time with the scancel command.

  3. View your results. You can view the contents of these files using the less command followed by the file name.

    Your output should look something like this:

  4. Download your results (using the scp command or an SFTP client) or move them to persistent storage. See our moving data section for help.

Additional Examples

Last updated