L6108 - Kokkos, Manycore Performance Portability Made Easy for C++ HPC Applications
H. Carter Edwards
Principle Member Technical Staff, Sandia National Laboratories
H. Carter Edwards has over three decades of experience developing software for simulations of a variety of engineering domains. He has been researching and developing software for HPC algorithms and data structures for the past 16 years at Sandia National Laboratories. An expert in high performance computing, he's currently focusing on thread-scalable algorithms and data structures for heterogeneous many-core architectures, such as NVIDIA GPU, AMD Fusion, and Intel Xeon Phi. He has a B.S. and M.S. in aerospace engineering from the University of Texas at Austin, and worked for 10 years at the Johnson Space Center in the domain of spacecraft guidance, navigation, and control. He has a Ph.D. in computational and applied mathematics, also from the University of Texas at Austin.
Senior Member Technical Staff, Sandia National Laboratories
Christian Trott is a high performance computing expert with experience in designing and implementing software for GPU and MIC compute-clusters. He earned a Dr. rer. nat. from the University of Technology Ilmenau in theoretical physics. Prior scientific work focused on computational material research using Ab-Initio calculations, molecular dynamic simulations and monte carlo methods. As of 2015 Christian is a senior member of technical staff at the Sandia National Laboratories. He is a core developer of the Kokkos programming model with a large role in advising applications on adopting Kokkos to achieve performance portability for next generation super computers.
Visiting Professor, Harvey Mudd College
Jeff Amelang focuses on teaching high performance computing technologies and techniques in a variety of contexts. He has taught courses, tutorials, and workshops at several national labs as well as US and international universities. He obtained his MS and PhD in Mechanical Engineering from the California Institute of Technology, with a focus on Computational Science and Engineering. Currently serving as a Visiting Professor at Harvey Mudd College, his favorite courses to teach are on distributed and GPU programming.
The Kokkos C++ library enables development of HPC scientific applications that are performance portable across disparate manycore architectures such as NVIDIA Kepler, AMD Fusion, and Intel Xeon Phi. Kokkos leverages the CUDA 7.5 device lambda capability to provide a highly intuitive and easy to use parallel programming model. Kokkos simplifies data management for heterogeneous memory (CPU, GPU, UVM, etc.) through a unique polymorphic multidimensional array view interface. View polymorphism includes mutable multidimensional layout, transparent overloads for atomic operations, and simplified access to GPU texture hardware. Kokkos advanced features culminate in portable team parallelism that performantly maps onto CUDA grids, blocks, and shared memory.
Type: Hands-on Lab
Tags: Supercomputing & HPC; Tools & Libraries