scholarly journals Manycore Performance-Portability: Kokkos Multidimensional Array Library

2012 ◽  
Vol 20 (2) ◽  
pp. 89-114 ◽  
Author(s):  
H. Carter Edwards ◽  
Daniel Sunderland ◽  
Vicki Porter ◽  
Chris Amsler ◽  
Sam Mish

Large, complex scientific and engineering application code have a significant investment in computational kernels to implement their mathematical models. Porting these computational kernels to the collection of modern manycore accelerator devices is a major challenge in that these devices have diverse programming models, application programming interfaces (APIs), and performance requirements. The Kokkos Array programming model provides library-based approach to implement computational kernels that are performance-portable to CPU-multicore and GPGPU accelerator devices. This programming model is based upon three fundamental concepts: (1) manycore compute devices each with its own memory space, (2) data parallel kernels and (3) multidimensional arrays. Kernel execution performance is, especially for NVIDIA® devices, extremely dependent on data access patterns. Optimal data access pattern can be different for different manycore devices – potentially leading to different implementations of computational kernels specialized for different devices. The Kokkos Array programming model supports performance-portable kernels by (1) separating data access patterns from computational kernels through a multidimensional array API and (2) introduce device-specific data access mappings when a kernel is compiled. An implementation of Kokkos Array is available through Trilinos [Trilinos website, http://trilinos.sandia.gov/, August 2011].

2020 ◽  
Vol 13 (12) ◽  
pp. 1656-1671 ◽  
Author(s):  
Jizhe Xia ◽  
Sicheng Huang ◽  
Shaobiao Zhang ◽  
Xiaoming Li ◽  
Jianrong Lyu ◽  
...  

2013 ◽  
Vol 10 (4) ◽  
pp. 1-19
Author(s):  
Andrei Hagiescu ◽  
Bing Liu ◽  
R. Ramanathan ◽  
Sucheendra K. Palaniappan ◽  
Zheng Cui ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document