Loading...
Please wait, while we are loading the content...
Manycore Performance-Portability: Kokkos Multidimensional Array Library
| Content Provider | Paperity |
|---|---|
| Author | Mish, Sam Edwards, H. Carter Sunderland, Daniel Porter, Vicki Amsler, Chris |
| Abstract | 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]. |
| File Format | HTM / HTML |
| ISSN | 10589244 |
| DOI | 10.3233/SPR-2012-0343 |
| Journal | Scientific Programming |
| Volume Number | 20 |
| e-ISSN | 1875919X |
| Language | English |
| Publisher | Hindawi Limited |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |
| Subject | Computer Science Applications Software |