PicoCluster Tutorial

COSC 365 · Fall 2026

These instructions cover connecting to and using the PicoCluster on campus.

Hardware

PicoCluster is a 64-bit ARM computer with 20 nodes. The login node is pc0, and the compute nodes are pc1 through pc19. Each node has 4 cores and 8 GB of RAM, for 80 cores in total.

Connect to PicoCluster

Note

PicoCluster is available from the Wofford campus network and is not accessible off campus.

Open Terminal on macOS or Windows Terminal on Windows, then connect with SSH:

ssh yourWoffordUsername@picocluster

Initial login information will be shared through Moodle or in class. When entering a password in the terminal, no characters will appear; that is normal. After your first login, change the temporary password with the passwd command. If you forget it, contact me so I can reset it.

Use the command line

Your account has its own home directory. These commands will help you get oriented:

pwd         # show your current directory
ls          # list its contents
mkdir test  # create a directory named test
cd test     # enter that directory
pwd         # confirm your location
ls          # list its contents
cd ..       # move up one directory

You can return to your home directory at any time with cd ~.

You will also need a terminal-based text editor. nano is the easiest place to start. To create or edit a file, enter nano filename.

Compile a C program

Create a directory for your program, move into it, and enter nano hello.c. Add the following program:

#include <stdio.h>

int main(void) {
  printf("Hello, world!\n");
  return 0;
}

Press Control+O to save the file and Control+X to exit nano. Compile and run it with:

gcc -Wall -Wextra -o hello hello.c
./hello

Compile and run MPI programs

PicoCluster already has the machine file needed to use its compute nodes. Compile an MPI program with:

mpicc -o program program.c

Run it with an explicit machine file:

mpiexec -machinefile /etc/mpi_hosts -n numberOfProcesses ./program

The mpirun command has been configured to include PicoCluster’s host file automatically, so you may also use:

mpirun -n numberOfProcesses ./program

For example:

mpicc -o myProgram myProgram.c
mpirun -n 8 ./myProgram

Compile and run Pthreads programs

gcc -Wall -Wextra -pthread -o program program.c
./program

Compile and run OpenMP programs

gcc -Wall -Wextra -fopenmp -o program program.c
./program
Back to top