Overview

Stanford University’s High Performance Computing Center, in collaboration with fellow members of the HPC Advisory Council and the OpenPOWER Foundation, invite you to the 2nd Annual Stanford Summer Series.

This summer’s syllabus, comprised of four individual Industry Leadership Sessions, focuses instruction on ‘State of the Art Architectures for HPC’.

  • Courses offered August 15th, 17th, 22nd and 24th on the university’s main campus.
  • Tuesday Thursday Twilight Tutorials begin at 4:00 p.m.
  • Industry Expert Instructors
  • Syllabus includes a introductory tutorial and immersive hands-on labs.
Attendees will learn parallel programming and architecture basics and graduate skilled in code optimization and porting to advanced accelerator-based platforms.
Students can select specific courses or attend the entire series. The two hour sessions are open to all
– from learning something new or more about a given topic, as an extension of summer school or continuing education - as stepping stones towards building foundations of expertise ~ Join us!
Two evenings per week – two hour sessions - Tuesday and Thursday – two weeks only!

Week 1
Hewlett Teaching Center
Room: Hewlett201
Max Occ: 288

August 15, 4:00pm - 6:00pm
Session 1: Parallel Programming with OpenACC on CPUs and GPUs

Introduction to parallel programming and profiling
Hands-on Lab

Instructor(s): Kelvin Lwin, NVIDIA
August 17, 4:00pm – 6:00pm
Session 2: Parallel Programming with OpenACC on CPUs and GPUs

OpenACC directives and managed memory
Hands-on Lab

Instructor(s): Kelvin Lwin, NVIDIA
RECCOMENDED PRE-REQUISITS / LINKS
While OpenACC course does not assume any previous experience with OpenACC directives or GPU programming in general, programming experience with C or Fortran is desirable.
RECCOMENDED PRE-REQUISITS / LINKS
While these course does not assume any previous experience with OpenACC directives or GPU programming in general, programming experience with C or Fortran is desirable.
DESCRIPTION
OpenACC is a directive-based programming model designed to provide a simple yet powerful approach to parallel programming for a wide-variety of heterogeneous HPC hardware platforms and architectures. The OpenACC course is comprised of two instructor-led classes that include lectures and hands-on exercises. You’ll learn how to start accelerating your code with OpenACC on GPUs and CPUs. The course will cover introduction to parallel programming, profiling, OpenACC directives, and data management.
DESCRIPTION
OpenACC is a directive-based programming model designed to provide a simple yet powerful approach to parallel programming for a wide-variety of heterogeneous HPC hardware platforms and architectures. The OpenACC course is comprised of two instructor-led classes that include lectures and hands-on exercises. You’ll learn how to start accelerating your code with OpenACC on GPUs and CPUs. The course will cover introduction to parallel programming, profiling, OpenACC directives, and data management.
COURSE INSTRUCTOR
Kelvin Lwin, NVIDIA
After spending nearly a decade at UC Berkeley, Kelvin decided to repay public education by helping build UC Merced. He spent 7 years teaching 4500 students across 55 classes while redesigning the Undergraduate Computer Science curriculum. He is now busy designing curriculums at NVIDIA’s Deep Learning Institute to democratize access to latest technologies by educating the world.
COURSE INSTRUCTOR
Kelvin Lwin, NVIDIA
After spending nearly a decade at UC Berkeley, Kelvin decided to repay public education by helping build UC Merced. He spent 7 years teaching 4500 students across 55 classes while redesigning the Undergraduate Computer Science curriculum. He is now busy designing curriculums at NVIDIA’s Deep Learning Institute to democratize access to latest technologies by educating the world.

Week 2
Shriram Center for Bioengineering & Chemical Engineering
Room: Shriram 104
Max Occ: 126

August 22, 4:00pm – 6:00pm
Session 1: Introduction to IBM POWER Architecture


Getting familiar with POWER architecture; GCC, optimization flags, etc.

Instructor(s): Johnath Dement, IBM
August 24, 4:00PM – 6:00PM
Session 2: Introduction to SU2 and efforts with porting to POWER and GPU acceleration considerations

Techniques Porting to POWER architecture for HPC

Instructor(s): Raj Krishnamurthy, IBM

RECOMMENDED PRE-REQUISITS / LINKS
While this course does not assume any previous experience with OpenPOWER architecture or programming, previous experience with x86 (Intel) architecture and programming is desirable. Familiarity with general C programming and compiling will be assumed.
RECCOMENDED PRE-REQUISITS / LINKS
Introduction to the IBM Power Architecture https://developer.ibm.com/linuxonpower/ https://openpowerfoundation.org/
BRIEF DESCRIPTION
OpenPOWER has emerged as an alternative server processor architecture with many unique advantages over x86-based platforms. Over 300 industry partners, including all the major Linux distributions, have joined the OpenPOWER foundation to create a robust eco-system alternative to Intel. This course will review the advantages of this architecture that when applied correctly, can give 2-3x price-performance gains over conventional servers. Furthermore, we will cover everything needed to compile and optimize for OpenPOWER (ppcle64), allowing you to explore opportunities for market disruption on key emerging workloads.
BRIEF DESCRIPTION
Practical techniques to porting to the POWER architecture with GPU acceleration capabilities are explored in this session on a production based code-base. The SU2 suite is an open-source collection of C++ based software tools for performing Partial Differential Equation (PDE) analysis and solving PDE-constrained optimization problems. The toolset is designed with Computational Fluid Dynamics (CFD) and aerodynamic shape optimization in mind, but is extensible to treat arbitrary sets of governing equations such as potential flow, elasticity, electrodynamics, chemically-reacting flows, and many others.
COURSE INSTRUCTOR
Johnath Dement, IBM
Jonathan DeMent is a Stanford alumni (MSEE 2001) who has spent 16 years at IBM. He has held various technical positions in CPU logic design and architecture. He has then managed a number of design teams including the Power7 and Power8 physical design engineering group. Recently he was responsible for all architecture and design of Power8 and Power9 based servers produced by IBM. He currently is the Director of Hypserscale Datacenter Business Development and Sales. In this role he works with the the world's largest datacenters to exploit and deploy OpenPower-based servers.
COURSE INSTRUCTOR
Raj Krishnamurthy, IBM
Raj Krishnamurthy designs and develops system stacks consisting of software and hardware elements for emerging and contemporary data analytics & HPC workloads. He has been a technical staff member in the Cognitive Systems division at IBM since 2006. His work has impacted several platforms, software products, and roadmaps in IBM—both on Mainframes and Power Systems. Raj holds 100+ patents and has written a number of peer-reviewed publications. Raj earned a PhD in Computer Science and an MS/BS degree in Electrical Engineering. He is an elected member of the IBM Academy of Technology.

Maps

Hewlett Teaching Center
Hewlett201, 370 Serra Mall
Shriram Center for Bioengineering & Chemical Engineering
Shriram104, 443 Via Ortega

Click here to view the Hewlett parking map

Click here to view the Shiram parking map