PUMPS+AI Summer School, 2022, September 3-6th

The Barcelona Supercomputing Center (BSC) currently offers a number of courses covering CUDA architecture and programming languages for parallel computing. Please contact us for possible collaborations.

The 12th edition of the Programming and Tuning Massively Parallel Systems + Artificial Intelligence summer school (PUMPS+AI) is aimed at enriching the skills of researchers, graduate students and teachers with cutting-edge technique and hands-on experience in developing applications for many-core processors with massively parallel computing resources like GPU accelerators.

  • Summer School Co-Directors: Mateo Valero (BSC and UPC) and Wen-mei Hwu (University of Illinois at Urbana-Champaign / NVIDIA)
  • Local Organizers: Antonio J. Peña (Chair, BSC), Marc Jordà (BSC)
  • Dates:
    • Applications due: July 17, 2022 Last spots available, first come first served
      • Due to space limitations, early application is strongly recommended. You may also be suggested to attend an online prerequisite training on basic CUDA programming before joining PUMPS.
    • Notification of acceptance:July 25, 2022 First come, first served
  • Location: UPC Campus Nord, Barcelona (Spain)
  • The following is a list of some of the topics that will be covered during the course:
    • Deep Learning / AI engine internals
    • High-level programming models (OpenACC, Python, and Mathematica on GPUs)
    • CUDA Algorithmic Optimization Strategies
    • Dealing with Sparse and Dynamic data
    • Efficiency in Large Data Traversal
    • Reducing Output Interference
    • Controlling Load Imbalance and Divergence
    • Acceleration of Collective Operations
    • Dynamic Parallelism and HyperQ
    • Debugging and Profiling CUDA Code
    • Multi-GPU Execution
    • Architecture Trends and Implications
    • Introduction to OmpSs and to the Paraver analysis tool
    • OmpSs: Leveraging GPU/CUDA Programming
    • Hands-on Labs: CUDA Optimizations on Scientific Codes; OmpSs Programming and Tuning
  • Prerequisites for the course are:
    • Basic CUDA knowledge is required to attend the course. Applicants that cannot certify their experience in CUDA programming will be asked to take a short on-line course covering the necessary introductory topics
    • C, C++, Java, or equivalent programming knowledge. Skills in parallel programming will be helpful

Preliminary Overview

  • Registration for the course is free for attendees from academia and public institutions. Please note that travel, lodging, and meals are not covered. Applicants from non-academic institutions (companies), please contact us by email at pumps at bsc.es for sponsorship possibilities.
  • By the end of the summer school, participants will:
    • Be able to design algorithms (including deep learning / AI) that are suitable for accelerators.
    • Understand the most important architectural performance considerations for developing parallel applications.
    • Be exposed to computational thinking skills for accelerating applications in science and engineering.
    • Engage computing accelerators on science and engineering breakthroughs.
  • Programming Languages: CUDA, MPI, OmpSs, OpenACC
  • Hands-on Labs: Afternoon labs with teaching assistants for each audience/level.
    • Participants are expected to bring their own laptops to access the servers with GPU accelerators.
    • The afternoon lab sessions will provide hands-on experience with various languages and tools covered in the lectures and will comprise a brief introduction to the programming assignments, followed by independent work periods. Teaching assistants will be available in person and on the web to help with assignments.