2020 UBC Research Computing Summer Sessions

Learn more about research computing, or how your work in research could benefit from an introduction to advanced computing tools and methods at ARC's free summer sessions from August 17-28, 2020.

This year, UBC Advanced Research Computing is pleased to present the UBC Research Computing Summer Sessions in a virtual format. Students, staff and faculty from all institutions are welcome to register for individual sessions through our online form. 
 

See the Schedule  |   Register

Learning Outcomes

  • The series includes a variety of sessions covering topics designed to provide attendees with hands on skills.
  • Sessions will be research-focused introductions to GNU/Linux, Jupyter, software development practices as well as intermediate-level sessions on topics such as Software configuration management and using the GPU capabilities of UBC’s Sockeye high-performance computing (HPC).
  • You’ll gain access to hands-on workshops and experts in the field, including leading scientists utilizing high-performance computing (HPC) in their research.

Format

Our courses will include a mix of virtual hands-on learning and lecture-style presentations. All session times will be live on Zoom held in Pacific Daylight Time with some sessions being recorded. Please note that certain sessions will be restricted to a maximum number of participants to ensure that we can provide effective hands-on instruction. Session recordings, presentations and other materials for some courses will be made available in September.

Zoom links will be sent to all participants who have successfully registered. If you do not receive a Zoom link, please check your Junk or Spam filters to ensure the email wasn’t incorrectly filtered. If you still have not received a Zoom link, please send an email to arc.info@ubc.ca with the subject “ARC Summer Session Zoom Link” and we will get back to you as soon as possible.

If you're new to Zoom, we recommend that you visit the Zoom website to set up your computer in advance. For any troubleshooting, visit Zoom’s help center.

Prerequisites

Some courses may require some pre-requisite knowledge, software or hardware. Prerequisites are listed per course. We have tried to keep the prerequisites to a minimum in order to ensure all are able to attend. Please review course descriptions for more details.

Sponsors 

ARC would also like to thank the following partners for their support: 

  • Globus
  • Pacific Institute for the Mathematical Sciences (PIMS)
  • Centre for Scholarly Communication - UBC Okanagan 
  • WestGrid
  • UBC IT

Cost

Registration is free!

Contact us for more information


2020 Schedule

August 17 

Introduction to Linux and the Bash Shell - 2.5 hours ​​​​​​| August 17, 2020, 9:30 AM -12:00 PM
  • Course description: This course explores the various tools and techniques commonly used by Linux system administrators and end users. It is designed for experienced computer users who have limited or no previous exposure to Linux, whether they are working in an individual or shared environment.
  • Course level: Beginner
  • Prerequisites: Access to a Linux Bash shell if you want to follow along.
  • Learning Outcome: A broad view of the different Linux utilities available for use at the command line.
  • Instructor: Ian Courtney, Systems Administrator II, IT, Media and Classroom Services - UBC Okanagan.

    Ian recently joined UBCO in 2019. Given a choice in the late 90s to take his MSCE (Microsoft Certified Engineer) certification or find another path, Ian chose to become a RHCE (Redhat Certified Engineer) for RedHat 5.2 (pre-RHEL days). He picked up some Perl and never looked back. These days he's dabbling in Ansible, continuing to try and learn Python, and spending too many hours in Zoom calls!

Introduction to Python I - 2 hours | August 17, 2:00 PM – 4:00 PM
  • Course description: This six-hour introduction will walk you through the basics of programming in Python. It will cover the main language features -- variables and data types, conditionals, lists, for/while loops, list comprehensions, dictionaries, writing functions -- as well as working with external libraries such as pandas (data frames), numpy (mathematical arrays), and plotly (basic plotting).
  • Course level: Beginner
  • Prerequisites: A computer with Internet access.
  • Learning Outcome: A broad view of the different Linux utilities available for use at the command line.
  • Instructor: Alex Razoumov, Training & Visualization Coordinator, Westgrid, Compute Canada.

    Alex is a training and visualization coordinator at WestGrid / Compute Canada. He has a keen interest in difficult computational problems, with a PhD in computational astrophysics from the University of British Columbia and postdoctoral experience in Urbana–Champaign, San Diego, Oak Ridge, and Halifax. He has worked on numerical models ranging from galaxy formation to core-collapse supernovae and stellar hydrodynamics, and has developed a number of computational fluid dynamics and radiative transfer codes and techniques.

 August 18

Introduction to Python II & III - 2x2 hours | August 18, 10:00 AM – 12:00 PM; August 18 2:00 PM – 4:00 PM
  • Course description: This six-hour introduction will walk you through the basics of programming in Python. It will cover the main language features -- variables and data types, conditionals, lists, for/while loops, list comprehensions, dictionaries, writing functions -- as well as working with external libraries such as pandas (data frames), numpy (mathematical arrays), and plotly (basic plotting).
  • Course level: Beginner
  • Prerequisites: A computer with Internet access.
  • Learning Outcome: A broad view of the different Linux utilities available for use at the command line.
  • Instructor: Alex Razoumov, Training & Visualization Coordinator, Westgrid, Compute Canada.

    Alex is a training and visualization coordinator at WestGrid / Compute Canada. He has a keen interest in difficult computational problems, with a PhD in computational astrophysics from the University of British Columbia and postdoctoral experience in Urbana–Champaign, San Diego, Oak Ridge, and Halifax. He has worked on numerical models ranging from galaxy formation to core-collapse supernovae and stellar hydrodynamics, and has developed a number of computational fluid dynamics and radiative transfer codes and techniques.

August 20 

Introduction to UBC ARC Sockeye - 2 hours |  August 20, 2020, 10:00 AM-12:00 PM
  • Course description: Recommended if you have a Sockeye account, or will obtain one in the future. This course has two sessions: a presentation and hands-on component. The presentation will include an overview of Sockeye. The hands-on session will include an overview of Sockeye and access to Sockeye HPC to practice using the platform.
  • Course level: Beginner
  • Prerequisites: Completion of the “Introduction to Linux and the Bash Shell” course or working knowledge of the Linux command line. Attendees will need a remote secure shell (SSH) client installed on their computer in order to participate in the course exercises. We recommend MobaXTerm. Information on how to access Sockeye for the hands-on session will be provided seven days in advance. Please review the Sockeye Terms of Reference, at https://arc.ubc.ca/ubc-arc-sockeye
  • Learning Outcome: Understand what UBC ARC Sockeye is, how to access it and how to get started using it.
  • Instructors: Jacob Boschee, Systems Administrator, Advanced Research Computing, VPRI, UBC; Roman Baranowski, Software Architect - Advanced Research Computing, VPRI, UBC.

Roman Baranowski has been involved in HPC since 1991 and has been working as the UBC Site Lead for Compute Canada/WestGrid since 2003. In addition, Roman is a member of the Compute Canada Storage National Team and serves on the National Team: Simon Fraser University. His background is in Theoretical and Computational Physics and Chemistry with a PhD from Memorial University in St. John's, Newfoundland.

Jacob Boschee is a Systems Administrator with the Advanced Research Computing group at UBC. He began his background in systems administration at the South Dakota School of Mines and Technology where he maintained the research cluster on campus while completing his PHD in Physics. His research background is in quantum computing, phononics, and computational modeling.

Introduction to Running GPU Jobs on Sockeye - 1.5 hours | August 20, 2020 2:00 PM - 3:30 PM
  • Course description: The aim of this course is to provide the basics of the running GPU jobs on UBC ARC Sockeye by providing simple examples. We will cover the fundamentals of scheduling requests and how to submit GPU jobs to the Sockeye scheduler. We will also provide a brief introduction the UBC ARC Sockeye GPU software stack.
  • Course level: Intermediate
  • Prerequisites: Access to and use of Sockeye. Attendees will need a remote secure shell (SSH) client installed on their computer in order to participate in the course exercises. We recommend MobaXTerm.
  • Learning Outcome: Gain a better understanding of how to submit GPU jobs through the Sockeye scheduler.
  • Instructors:  Jacob Boschee, Systems Administrator, Advanced Research Computing, VPRI, UBC; Roman Baranowski, Software Architect - Advanced Research Computing, VPRI, UBC. Ken Bigelow, Systems Administrator, Advanced Research Computing, VPRI, UBC.

Roman Baranowski has been involved in HPC since 1991 and has been working as the UBC Site Lead for Compute Canada/WestGrid since 2003. In addition, Roman is a member of the Compute Canada Storage National Team and serves on the National Team: Simon Fraser University. His background is in Theoretical and Computational Physics and Chemistry with a PhD from Memorial University in St. John's, Newfoundland.

Jacob Boschee is a Systems Administrator with the Advanced Research Computing group at UBC. He began his background in systems administration at the South Dakota School of Mines and Technology where he maintained the research cluster on campus while completing his PHD in Physics. His research background is in quantum computing, phononics, and computational modeling.

Ken Bigelow is a Systems Administrator with the Advanced Research Computing group at UBC. Ken has over 20 years of experience as a systems administrator, with the last 18 years with the Department of Medicine at UBC. Ken has a particular interest in high-performance computing and has seen the evolution from cluster CPU computing to highly specialized GPUs for machine learning and image processing. He also has a keen interest in augmented and virtual reality.

August 21 

Python in Juypter Notebooks - 2 hours |  August 21, 2020 10:00 AM-12:00 PM
  • Course description: This course introduces researchers to Jupyter notebooks as a tool for conducting research and for communicating their work. The Jupyter ecosystem is a rich environment for interactive computing which provides intuitive and powerful tools for data-analysis, computation and collaboration. We will explore the features of the Jupyter notebook and the Python programming language. Specifically, we will look at:
    • Notebook cells: markdown, code, output
    • Python syntax: structures, loops, control flow, logic.
    • Using popular Python packages (Pandas, Numpy, Scipy, Sympy, etc) to work through a series of examples and exercises with external data sources and how to produce insights and visualizations and help create compelling showcases of your work.
  • Course level: Beginner
  • Prerequisites: You will need a GitHub account (https://github.com/join) for this course. Please take a look at these two notebooks before the course. You will be using a machine called westgrid.syzygy.ca with your GitHub account – you can access it in your web browser. Once you log in, the system will clone the course materials for you.
  • Learning Outcome: An introductory understanding of Juypter Notebooks.
  • Instructor: Ian Allison, Systems and Video Conferencing Manager, Pacific Institute for the Mathematical Sciences (PIMS), UBC.

    Ian Allison is an IT manager for the Pacific Institute for the Mathematical Sciences. A longtime user of Python and Project Jupyter, Ian helped create and deploy a system of JupyterHubs under the name Syzygy, enabling more than 27,000 staff, students, and faculty members to include Jupyter in their work. Ian is also involved in a program called Callysto to leverage Jupyter in K–12 classrooms via the Canadian government’s CanCode initiative. His background is in computational physics.

Globus for Research Data Management - 2 hours |  August 21, 2020 2:00 PM – 4:00 PM
  • Course description:In the world of data-driven research, data is stored at many tiers: personal, departmental, campus, national, international, and cloud. Globus offers a common interface for data across all of these tiers.

    We will introduce and demo the Globus web app and command line interface, a powerful multi-platform data management application that provides a simple, consistent interface for accessing storage systems at all tiers and facilitates data sharing among teams that span organizations.

    We'll see how to connect to Globus, how its storage connectors provide capabilities for cloud storage (e.g., AWS S3, Box, Google Drive) and object storage (e.g., OpenStack Ceph) and how it can be used to securely gather data from—or distribute data to—researchers at many institutions from a central location. We’ll walk through an automation example, showing how the interface can be used to automate data transfers between data-producing research instruments (e.g., gene sequencers, cryo-em microscopes) and campus data storage.

  • Course level: Beginner to Intermediate 
  • Prerequisites: Access to Globus via website https://www.globus.org/get-started
  • Learning Outcome: All attendees will leave with the ability to install, login and connect to Globus's web app, transfer data to and from Globus-enabled storage systems, an introduction to the command line interface for scripting and automation. Attendees will also see how Globus can be used on a campus to streamline research data management, facilitate collaborations with colleagues, and automate repetitive data management tasks.
  • Instructor: Lee Liming, Technical Communications Manager at University of Chicago

    Lee Liming has been part of the Globus team at the University of Chicago for twenty years. Globus's mission is to improve research data management through high-quality software and services. Globus has operated a software-as-a-service data management application for ten years, during which it's moved more than 900 PB of data (113 billion files) over global networks for 135,000+ researchers in 81 countries. On the more than 1,600 academic and research storage systems already connected to Globus, researchers can access data securely and seamlessly across institutional boundaries. Lee has a degree in Computer Engineering from the University of Michigan. While working in both industry and academia, his heart has always been in the research community.

August 24 

Software Development for Research Labs - 3 hours | August 24, 2020 1:00 PM - 4:00 PM
  • Course description: In this session, we’ll introduce Version Control and how it can support non-linear developments and handle large projects. We’ll outline the features of Git, walk through branching and merging when working with teams and examine the various Git hosting services available.
  • Course level: Beginner
  • Prerequisites: Worked with and shared coding projects with team members.
  • Learning Outcome: Understand the features of Git, branching and merging and have an awareness of Git hosting services.
  • Instructors: Matt Gregoire, Systems Administrator II, UBC IT; Colin Calnan, GNU/Linux Systems Administrator, UBC

     

Colin Calnan is a Cybersecurity Solutions Engineer in UBC. He obtained Bachelor’s degree in Computer Systems in University of Limerick and MSc of Design and Digital Media in The University of Edinburgh. He excels in translating and integrating new digital methods and processes into existing ways of working. Colin understands and can bridge the gap between the technical aspects and business potential of digital technologies. His breadth of knowledge across the stack ensures he can deliver the tech required to achieve digital transformations; JavaScript (Node.js, React), REST, SOAP, GraphQL, AWS, Google Cloud, Docker, SSO, OAuth.

Matt Gregoire is a GNU/Linux Systems Administrator at UBC for cybersecurity. He administers hosting platforms, virtual machine clusters, automation environments, and any services that run on GNU/Linux. Previously he has worked for software companies isolating end-user problems which usually resulted in education, bug fixes, and sometimes design changes. Most of the work Matt does is on a command line. Matt has faithfully run GNU software for 20 years and appreciates the philosophy of freesoftware, sharing, and enlightening society.

August 26 

UBC Survey Tools for Research Data: Best Practices for Storing and Sharing Sensitive Data - 2 hours |  August 26, 2020 10:00 AM- 12:00 PM
  • Course description: This course will talk about some best-practices for the sharing/storage of sensitive data, survey tool options and the process in selecting tools/services for research projects.
  • Course level: Beginner
  • Prerequisites: None.
  • Learning Outcome: Introduction to best-practices for sharing/storage of sensitive data and choice of survey tools.
  • Instructor: Sensitive Research Team, Advanced Research Computing, VPRI, UBC

Scott Baker is the Manager, Sensitive Research at UBC Advanced Research Computing. He leads a group of privacy and security professionals focused on assisting researchers in finding balanced solutions for their research projects. He is the leader of the CARA IT-SIG, represents WestGrid on the Compute Canada security council, and has over 20 years of experience managing people, projects, and systems. 

Bobby Nikkhah is a Cybersecurity Analyst for Sensitive Research with the Advanced Research Computing Group at UBC. He holds a Bachelor of Arts degree in English Literature & Philosophy from Simon Fraser University. He has a professional background in Telecom, Payment Processing, IoT & Managed Services information systems administration, support and security. Bobby is enthusiastic about ensuring the security of UBC's Advanced Research Computing data and infrastructure. 

Luc Letarte is a Security Analyst with the Sensitive Research team, at UBC Advanced Research Computing. He is a graduate from the University of Quebec in Montreal and hold many years of experience in different segments of the public and private sector including financial, legal and health care. He specializes in information technology governance, privacy and security.

Sockeye Townhall - 2 hours |  August 26, 2020 2:00 PM – 4:00 PM
  • Course description: Current UBC ARC Sockeye users are invited to ask questions ahead of time or at the event. All faculty, students and researchers currently or will be engaged in computational research are also welcome to attend. Email questions ahead of time to arc.info@ubc.ca with the subject “Sockeye Townhall”.
  • Course level: Beginner
  • Prerequisites: None.
  • Learning Outcome: Have your questions answered by Sockeye experts from ARC.

August 28 

HPC and Research I - 2 hours | August 28, 2020 10:00 AM -12:00 PM
  • Course description: This session invites two Sockeye users to talk about their research and experience in using UBC ARC Sockeye. There are two presentations:
    • Topic 1: Quantum simulations for low-dimensional strongly correlated topological materials. In solid state materials, the main physical properties are determined by the interplay between the electrons, negatively charged particles which move as a "fluid" around the ionic crystal structure. When solving for the quantum dynamics of such many-body system, the main bottleneck is the size of the configuration space or the so-called Hilbert space, which is exponentially large in the number of electrons, making the problem extremely difficult to tackle. In certain conditions, however, one can use the so-called Density Matrix Renormalization Group technique to obtain essentially exact results for the electronic dynamics by opportune and iterative truncation of irrelevant degrees of freedom. In this talk, Dr. Alberto Nocera will show the use of this computational technique with ARC resources to solve the electronic dynamics for a one-dimensional model relevant quantum computing applications.
    • Topic 2: Parallel computing of particle-laden flows: Dr. Anthony Wachs will discuss various computational methods to model momentum, heat and mass in rigid particle-laden flows at the particle scale. These methods involve the coupling of a granular solver to track the motion of rigid bodies with a Navier-Stokes solver on a Cartesian grid. The grid features a number of points ranging from a few thousands to a few billions, hence requiring the use of massively parallel algorithms. Parallelization is achieved by a classical domain decomposition and MPI. Recently, our codes helped to benchmark the extension of Sockeye and jobs were run successfully on up to 5000 cores. 
  • Course level: Beginner
  • Prerequisites: None.
  • Instructors: Dr. Alberto Nocera, Research Associate, Many Body Numerical Techniques Stewart Blusson Quantum Matter Institute; Dr. Anthony Wachs, Associate Professor, the Department of Mathematics and the Department of Chemical & Biological Engineering.

     

Dr. Alberto Nocera received his Ph.D. in physics in 2013 at the University of Roma Tre, Italy. He then moved to the USA and held postdoctoral research positions at Northeastern University and Oak Ridge National Laboratory/University of Tennessee. He joined the UBC Stewart Blusson Quantum Matter Institute in August 2018 as a Research Associate in Quantum Many-Body computational techniques. Dr. Nocera’s research interests focus on strongly correlated solid state materials, where the physics is dominated by the interplay between electronic, spin, orbital, and vibrational degrees of freedom. His expertise includes several computational methods for the solution of models of quantum many-body systems. 

Anthony Wachs is a professor in the Department of Mathematics and the Department of Chemical and Biological Engineering at UBC. Prior to his faculty position, he worked for 15 years for IFPEN, a national lab in France in the field of energy. He has more than 20 years of experience in developing, programming and using high performance scientific codes to compute solutions to complex multiphase flow problems. He runs a research group of approximately seven students, both supported by federal institutions and companies.

HPC and Research II - 2 hours | August 28, 2020 2:00 PM – 4:00 PM
  • Course description: This session invites two Sockeye users to talk about their research and experience in using UBC ARC Sockeye. There are two presentations:
    • Topic 1: Viral MD: Investigating the endocytosis process between the SARS-CoV-2 and the ACE2 human receptor with molecular dynamics simulations
    • Topic 2: ExpansionHunter Denovo: a computational method for locating known and novel repeat expansions in short-read sequencing data. Repeat expansions are responsible for over 40 monogenic disorders, and undoubtedly more pathogenic repeat expansions remain to be discovered. Existing methods for detecting repeat expansions in short-read sequencing data require predefined repeat catalogs. Recent discoveries emphasize the need for methods that do not require pre-specified candidate repeats. To address this need, we introduce ExpansionHunter Denovo, an efficient catalog-free method for genome-wide repeat expansion detection. Analysis of real and simulated data shows that our method can identify large expansions of 41 out of 44 pathogenic repeats, including nine recently reported non-reference repeat expansions not discoverable via existing methods. This talk will focus both on the utility of ExpansionHunter DeNovo, and the role of the UBC ARC Sockeye Compute Cluster in the simulation and benchmarking of repeat expansions. 
  • Course level: Beginner 
  • Prerequisites: None. 
  • Instructors: Dr. Mauricio Ponga, Assistant Professor, Department of Mechanical Engineering); Phillip Richmond, Ph.D student in Bioinformatics, BC Children’s Hospitall.

Dr. Mauricio Ponga has been an Assistant Professor in Mechanical Engineering at UBC and joined as a faculty member in 2016. Ponga is also affiliated with the UBC Institutes of Applied Mathematics and Computing, Information and Cognitive Systems (ICICS), and the Advanced Materials and Process Engineering Laboratory at UBC. Ponga is an expert in computational mechanics and modelling and simulation, with a specific focus on multiscale and multiphysics phenomena in materials at the nanoscale. Ponga’s research group develops novel modelling techniques to analyze coupled problems in nanoscale systems. These techniques include large-scale ab-initio methodologies, coarse-grained molecular dynamics, coupling phonons and electrons in molecular dynamics simulations, mechanics of polymer brushes, and to simulate annealing of superconducting materials. These techniques extend the realm of atomistic simulations and represent the state-of-the-art modelling tools for materials at the nanoscale. They are implemented in communities’ codes that are available to other researchers. Ponga’s methods are also at the forefront of high-performance computing (HPC), which may use the most powerful supercomputers in the world in a very efficient way. As a result of this work, Ponga has been awarded several allocations in HPC facilities, including the prestigious and competitive U.S. Department of Energy ALCC allocation with more than 20 million CPU hours to the use of large-scale ab-initio simulations, and about 3 million CPU hours from Compute Canada. Ponga actively collaborates with experts at Westgrid, mainly to train students and Postdoctoral Fellows (PDFs) in the field of HPC. Ponga’s research has been supported by NSERC (Alliance, DG, Engage), the New Frontiers in Research Funds, and the IDEaS program by the Department of National Defence and many other industrial partners in Canada. 

Phillip Richmond has had a passion for Genomics since 2010, where he got his start in yeast genomics studying genotypic effects of directed evolution in Robin Dowell's lab at the University of Colorado, Boulder (USA). He gained experience in other model organisms across fields of cancer and behavioral genetics. In 2015, he started his PhD in Bioinformatics at UBC with the Wasserman lab, focusing on ways to expand the utility of whole genome sequencing in the diagnosis of rare genetic disorders. He has a special interest in improving and benchmarking methods for variant detection and interpretation, with an emphasis on short tandem repeat expansions, modifiers of rare disease phenotypes, and noncoding disruptions to gene regulation. Beyond research, Phillip has a passion for teaching and leadership, and has developed and taught open source courses in genome analysis for GenomeBC's GeneSkool, WestGrid, Compute Canada, and UBC Advanced Research Computing. He is a co-founder and chair of the BCCHR Trainee Omics Group, an initiative which focuses on training programming and analysis methods for "omics" data. For more information, see his website at: https://phillip-a-richmond.github.io

 

Register