Welcome to the SMU HPC Summer Workshop 2019

Welcome to the SMU HPC Summer Workshop site for the tutorials and hands-on exercises associated with the 2019 SMU HPC Summer workshop, sponsored by the SMU Center for Scientific Computation. While this workshop will focus on high-performance computing in general as in previous workshops, these topics will be tuned to computing on SMU’s cluster “ManeFrame II”.


If you haven’t registered yet, please do so here.

Attendance and Suggestions

Please take a moment to register your attendence for today and any any suggestions for future workshops here.


This 4-day workshop is intended to be a general overview of key topics in high-performance computing (HPC). The workshop is generally divided by day into discrete areas that build upon each other. The workshop begins with an introduction to HPC in general, UNIX, and SMU’s cluster “ManeFrame II”. This is followed by an introduction to programming concepts using Bash and Python, compiling, and using version control systems. The third day covers program debugging, profiling and optimization, and continuous integration and testing. The second to last day includes an introduction to parallel programming using OpenMP, Pthreads, and MPI and debugging and profiling parallel applications. The workshop finishes with a introduction to heterogeneous computing and using accelerators via libraries, OpenACC, and OpenCL.

  1. Introduction to High-Performance Computing

  2. Accessing ManeFrame II

  3. Introduction to UNIX and Scripting

  4. Using ManeFrame II, Using Modules, Using Slurm

  1. Introductions to Python and R

  2. Jupyter Notebooks, Jupyter Lab, and RStudio

  3. Data Visualization Toolkits: matplotlib (additional) and ggplot2

  4. Machine Learning Toolkits: TensorFlow via Keras (Classification, Regression) and scikit-learn (Clustering)

Thursday (Note: 2:30 PM start for afternoon session)
  1. Version Control Systems and GitHub

  2. Containers: Docker and Singularity

  3. Developing with C++, CUDA, and HPC Libraries

  1. University Data Center (UDC) and ManeFrame II Tour: 9:30 AM at UDC, sign up via attendance page

  2. We’ll resume at 10:45 AM Introduction to Parallel Programming Concepts

  3. OpenMP Introduction & Shared Memory Parallel Programming with OpenMP

  4. MPI Introduction & Distributed Memory Parallel Programming with MPI

  5. Debugging and Profiling Parallel Programs

General Daily Schedule

Session A of each day is an overview of topics to be covered that day. Remaining sessions of the day detail specific usage of particular tools with half of the session time being lecture and half being hands-on tutorials.



Session A

9:00 AM - 10:15 AM


10:15 AM - 10:45 AM

Session B

10:45 AM - 12:00 PM


12:00 PM - 1:30 PM

Session C

1:30 PM - 2:45 PM


2:45 PM - 3:15 PM

Session D

3:15 PM - 4:30 PM