Getting started

0. Installing X10 on your laptop

You have two options: command-line X10 or Eclipse (x10dt)

1. Go to http://x10-lang.org -> Download -> X10 + X10DTReleases -> Latest release

1.a. For MacOS, go halfway down, select prebuilt:

– Unzip, read INSTALL.txt

– Make sure you have Java 8 SDK installed, then set JAVA_HOME to the directory containing bin/java, e.g., export JAVA_HOME=/usr

2. X10DT (Eclipse)

2.a. Download/reuse Photon (but do NOT download Eclipse during lecture over wireless–bandwidth is limited!)

2.b. Install from update site: http://x10.sourceforge.net/x10dt/2.6.1/updateSite/

2.c. Unselect the “group by” box, select all X10 entries.

3. X10 tutorial: http://x10-lang.org/articles/234.html

4. Vijay Saraswat’s notes: https://github.com/saraswat/X10Notes/wiki

1. How to Access Remotely

If you are on the UOGuest or UOSecure wireless networks, first use this shared account to get onto a trusted network (password will be given in lecture):

ssh oplss@arya.cs.uoregon.edu

Then:

ssh studentXXX@cerberus.nic.uoregon.edu

Use ssh with the “-o ServerAliveInterval=30” option to prevent timeouts

scp username@hostname:source destination
  • Copy files between local (personal) and remote machines
  • Use with “-r” flag to copy entire directories

2. Module System

For OPLSS, first run the following command (you may also wish to add it to your ~/.bashrc file).

module use /usr/local/oplss/modulefiles

module avail
  • List all modules available on the system
  • Use “module avail [prefix]” to list available modules with the prefix
module load [module_name]
  • Load module with name specified name, for example: “module load java/1.8.0” makes the Java 1.8.0 SDK available for use.
module list
  • List all currently loaded modules
module purge
  • Remove all currently loaded modules
  • Use “module purge [module_name]” to purge specific modules

3. Compilers

gcc/g++
  • GNU C/C++ compiler
  • Used for general C/C++ programming
nvcc
  • Nvidia C/C++ compiler
  • Needed for CUDA programming
icc
  •  Intel C/C++ compiler
  • “mpicc” is the MPI wrapper for the icc compiler
x10
  • IBM X10 compiler, x10
  • “module load x10” (with all lowercase “x10”), then check with “which x10”

4. Job Submission

sinfo
  • Report the state of partitions and nodes
srun [binary]
  • Run a parallel job on cluster managed by SLURM.
sbatch [script]
  • Submit a batch script to SLURM.
squeue
  • View information about jobs located in the SLURM scheduling queue.
scontrol
  • View and modify SLURM configuration and state.
scancel
  • Signal or cancel jobs or job steps that are under the control of SLURM.

Example SLURM script, test.slurm, that runs the hostname command on 8 cores, which may be allocated across different node counts (you can replace this with your executable). Also, it would be easier to track your job if you make the job name something unique to you.

#!/bin/bash
#
#SBATCH --job-name=test
#SBATCH --output=res.txt
#
#SBATCH --ntasks=8
#SBATCH --time=10:00

srun hostname
srun sleep 60

You can submit this job with “sbatch test.slurm” and check the status with the squeue command. The output of the job will be in the res.txt file in the same directory as the script.


Problems or questions — email norris@cs.uoregon.edu. Make sure to mention OPLSS in the subject line.

Skip to toolbar