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 ninth 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), and Pau Farre (BSC)
Dates:
Applications due: May 31, 2018
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: June 12, 2018
Hackathon day: 15 July (only for selected applicants)
Summer school: 16-20 July
Location: Barcelona Supercomputing Center, Computer Architecture Dept. at Universitat Politecnica de Catalunya, Barcelona, Spain
Organized by:
Barcelona Supercomputing Center (BSC)
University of Illinois at Urbana-Champaign (University of Illinois)
Universitat Politecnica de Catalunya (UPC)
HiPEAC Network of Excellence (HiPEAC)
PUMPS is part of this year PRACE Advanced Training Centre program
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
Distinguished Lecturers: Wen-mei Hwu (University of Illinois at Urbana-Champaign) and David Kirk (NVIDIA Corporation )
Invited Lecturer: Juan Gómez-Luna (Universidad de Córdoba)
BSC / UPC Lecturers: Antonio J. Peña, Xavier Martorell and Xavier Teruel
Teaching Assistants:
UIUC: Carl Pearson, Simon Garcia de Gonzalo, Mert Hidayetoglu
BSC/UPC: Marc Jorda, Pau Farre, Ivan Martinez, Aimar Rodriguez
Hackathon:
Juan Gómez-Luna (Universidad de Córdoba)
Pedro Valero (BSC)
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
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 at pumps@bsc.es for sponsorship possibilities.
By the end of the summer school, participants will:
Be able to design algorithms 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
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.