Throughout the fall and spring semesters, PICS will host several workshops on topics such as Python, C++, and more. To be informed of upcoming workshops, please sign up for the PICS mailing list by clicking here. You must register for each of these workshops and be a student at the University of Pennsylvania to attend.

To register for any workshop, email the PICS Program Coordinator, Katie Thompson at kathom at seas.upenn.edu

To learn about past workshops, click here.


Upcoming Workshops:

C++ Programming Language

This one day workshop will teach students the basic skills needed to program in C++. We ask that anyone who attends has at least one year of prior programming experience in any language. The class will be capped at 30 people. To attend this workshop you must be a student (or postdoc) at the University of Pennsylvania

When: Saturday, October 19th at 10:00 – 3:30. Lunch will be provided

Where: Towne Building, Room 337

Instructor: Adam Mally

Click here to register


HPC Workshop

This HPC workshop instructed by Stuart Slattery of Oak Ridge National Laboratory. This course will overview the Kokkos programming model for performance portability (https://github.com/kokkos/kokkos). Kokkos is actively being developed by national laboratory staff within the Department of Energy (DOE) to allow developers to compose complex C++ applications through template metaprogramming concepts capable of running on the variety of supercomputers DOE is in the process of procuring in the transition to exascale computing. This includes multithreaded CPU architectures, NVIDIA GPUs, AMD GPUs, Intel GPUs, as well as ARM platforms. In this class we will cover the basics of Kokkos in a tutorial format with interactive code exercises. This includes:

  • Portable memory allocation and code execution
  • Managing data access patterns for performance portability
  • Simple 1D data parallel computational patterns
  • Thread safety, thread scalability, and atomic operations
  • Hierarchical patterns for maximizing parallelism
  • Multidimensional parallelism

When: Saturday, November 2nd from 9:00am – 1:00pm. Lunch will be provided. 

Where: The computer lab located in Moore 100A. You do not need to bring your own machine, computers that run Linux will be provided. 

Student prerequisites

  • Want to use all HPC node architectures in a single code base; including GPUs
  • Are familiar with C++ including templates
  • Are familiar with data parallelism
  • A little familiar with OpenMP
  • A little familiar with NVIDIA GPU architecture
  • Want GPU programming to be easier
  • Would like portability as long as it doesn’t hurt performance
  • You must be a student of the University of Pennsylvania

To register for the course, please click here and fill out the RSVP. Due to the limited number of machines available, we will need to cap this class at 22 people. 


Python Workshop

This one day Python workshop is designed to be an introduction to programming in Python. In this workshop you will learn to write clean, readable, and fast Python code with a focus on graphics-based programming, we ask that you have a proficiency in basic computer operations and you must bring your own laptop. 

To attend this workshop you must be a student (or postdoc) at the University of Pennsylvania.

When: Saturday, November 9, 2019 from 10:00 – 3:30. Lunch will be provided.

Where: Towne 337

Instructor: Adam Mally

Click here to register. 


Check back for updates on upcoming workshops