|CCT Tech Talk Series|
|CaKernel - Unleash the Power of the Cactus Computational Framework on Heterogeneous Systems|
|Jian Tao, LSU|
|Johnston Hall 338
January 23, 2012 - 02:00 pm
Heterogeneous systems are becoming more common on High Performance Computing systems. Three out of five of the fastest computers in the world use GPGPUs to achieve their performance. However, even using tools like CUDA and OpenCL it is a non-trivial task to obtain optimal performance on the GPU, not to mention to achieve sustained performance on hybrid supercomputers. As an alternative approach to address programming productivity and scalability to a CPU/GPU hybrid system, we present the CaKernel programming framework, which leverages the highly scalable Cactus framework to design and implement tools for a high level abstraction for the stencil computation kernel. With automatic code generation from a highly optimized code templates, CaKernel frees scientific application developers from not only lower level programming issues, such as parameter parsing and I/O, but more importantly, parallelization and optimization in GPGPU programming. With one GPU assigned to one MPI process, we are able to directly leverage the Cactus grid abstractions in creating a parallelized GPGPU application without any changes to the distributed grid structure, grid geometry, and inter-process communication. The major extension to Cactus goes into the implementation of the functions to deal with storage on GPU, synchronization among threads, communication between CPU and GPU, and optimization on GPU. Fortunately, all except the kernel code to do stencil computations could be handled in the CaKernel programming framework automatically via a kernel descriptor and a code generator.
Jian Tao is a research scientist at CCT. He received his Ph.D in computational astrophysics from Washington University in St. Louis. Before joining CCT as a research scientist, he worked at CCT as a postdoc in the XiRel project to build the next generation infrastructure for numerical relativity, and CyberTools project to develop the infrastructures needed for interdisciplinary research. He is actively involved in the Cactus framework group and helps to manage the cyberinfrastructure development of the Northern Gulf Coastal Hazards Collaboratory project. He is currently working on CaKernel, a programming framework to support automatic code generation and optimization for scientific applications on heterogeneous systems. He is also working on a Boussinesq model for ocean surface wave to simulate storm surge and tsunami.
|Refreshments will be served.|