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
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@picoclusterInitial 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 directoryYou 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
./helloCompile 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.cRun it with an explicit machine file:
mpiexec -machinefile /etc/mpi_hosts -n numberOfProcesses ./programThe mpirun command has been configured to include PicoCluster’s host file automatically, so you may also use:
mpirun -n numberOfProcesses ./programFor example:
mpicc -o myProgram myProgram.c
mpirun -n 8 ./myProgramCompile and run Pthreads programs
gcc -Wall -Wextra -pthread -o program program.c
./programCompile and run OpenMP programs
gcc -Wall -Wextra -fopenmp -o program program.c
./program