You are here

Research Computing Tutorials at UNBC: Intro to HPC, Programming & ParaView

WestGrid is hosting a series of free workshops at the University of Northern British Columbia from May 16-18 that will provide hands-on introductions to high performance computing (HPC), scientific visualization with ParaView, programming with Python, and parallel programming with Chapel.

There is no cost to attend, but you must register in advance.

May 16 - 18, 2018
9:00 am - 4:00 pm (each day)
University of Northern British Columbia
Gathering Place 5-123 


Sessions Topics:


  • 3D scientific visualization with ParaView
    ParaView is an open source, multi-platform data analysis and visualization tool designed to run on a variety of hardware from an individual laptop to large supercomputers. With ParaView users can interactively visualize 2- and 3-dimensional data defined on structured, adaptive and unstructured meshes or particles, animate these datasets in time, and manipulate them with a variety of filters. ParaView supports both interactive (GUI) and scripted (including offscreen) visualization, and is an easy and fun tool to learn. This is a full-day introductory workshop that will feature interactive hands-on exercises. No prior visualization experience is required. We will provide all sample data and codes for the exercises, and you can bring your dataset if you want to visualize it with ParaView.


  • Morning Session - Introductory Python
    This introductory session will cover topics such as:
    • Variables and Data Types
    • Built-in Functions and Help
    • Loops and conditionals
    • Using libraries
    • Reading Tabular Data into Data Frames
    • Plotting
    • Using Python from the command line

  • Afternoon Session - Introduction to HPC
    This is an introductory workshop for those without any HPC experience. Topics covered include:
    • Introduction to Compute Canada systems
    • Cluster hardware overview basic knowledge and tools necessary to work with the cluster
    • Basic steps: how to log in, transfer files, write make files, compile codes, submit jobs, etc.
    • Quick overview of different parallel programming models: OpenMP, MPI, Chapel
    • Debugging profiling and optimization best practices
    • Research data management
    • Overview of Globus, ownCloud/Nextcloud, and using these for file sharing and publishing 

Day 3

  • Parallel programming with Chapel
    This course is a general introduction to the main concepts of the Chapel parallel programming language. Chapel is a relatively new language for both shared- and distributed-memory programming, with easy-to-use, high-level abstractions for both task and data parallelism that make it ideal for learning parallel programming for a novice HPC user. Chapel is incredibly intuitive, striving to merge the ease-of-use of Python and the performance of traditional compiled languages such as C and Fortran. Parallel constructs that typically take tens of lines of MPI code can expressed in only a few lines of Chapel code. Chapel is open source and can run on any Unix-like operating system, with hardware support from a laptop to a large HPC system.


If you have any questions about the sessions, contact Alex Razoumov -