About PUMPS+AI

PUMPS+AI Summer School

The 2020 edition of PUMPS+AI will be held on July 6-10. The application site will open soon, stay tuned!

 

PUMPS+AI Summer School, 2019, June 24-29

The Barcelona Supercomputing Center (BSC) in association with Universitat Politecnica de Catalunya (UPC) has been awarded by NVIDIA as a GPU Center of Excellence. BSC and UPC currently offer a number of courses covering CUDA architecture and programming languages for parallel computing. Please contact us for possible collaborations.

The tenth 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)
  • Local Organizers: Antonio J. Peña (responsible, BSC and UPC), Marc Jordà (BSC)
  • Dates:
    • Applications due: April 30, 2019
      • 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: May 15, 2019
    • Hackathon day: 24 June (only for selected applicants)
    • Summer school: 25-29 June
  • Location: Barcelona Supercomputing Center, Computer Architecture Dept. at Universitat Politecnica de Catalunya, Barcelona, Spain
  • The following is a list of some of the topics that will be covered during the course:
    • Deep Learning
    • 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
  • Hackathon:
  • 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.