Scientific Programming

Scientific Programming / 2012 / Article
Special Issue

A New Overview of the Trilinos Project – Part 1

View this Special Issue

Open Access

Volume 20 |Article ID 917630 | https://doi.org/10.3233/SPR-2012-0343

H. Carter Edwards, Daniel Sunderland, Vicki Porter, Chris Amsler, Sam Mish, "Manycore Performance-Portability: Kokkos Multidimensional Array Library", Scientific Programming, vol. 20, Article ID 917630, 26 pages, 2012. https://doi.org/10.3233/SPR-2012-0343

Manycore Performance-Portability: Kokkos Multidimensional Array Library

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].

Copyright © 2012 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


More related articles

 PDF Download Citation Citation
 Order printed copiesOrder
Views409
Downloads556
Citations