Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Manycore Performance-Portability: Kokkos Multidimensional Array Library

Journal Article · · Scientific Programming
DOI:https://doi.org/10.1155/2012/917630· OSTI ID:1197983
 [1];  [2];  [2];  [3];  [4]
  1. Computing Research Center, Sandia National Laboratories, Livermore, CA, USA
  2. Engineering Sciences Center, Sandia National Laboratories, Albuquerque, NM, USA
  3. Department of Electrical and Computer Engineering, Kansas State University, Manhattan, KS, USA
  4. Department of Mathematics, California State University, Los Angeles, CA, USA

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

Sponsoring Organization:
USDOE
Grant/Contract Number:
AC04-94AL85000
OSTI ID:
1197983
Journal Information:
Scientific Programming, Journal Name: Scientific Programming Journal Issue: 2 Vol. 20; ISSN 1058-9244
Publisher:
Hindawi Publishing CorporationCopyright Statement
Country of Publication:
Egypt
Language:
English

Similar Records

Kokkos Array
Software · Wed Sep 12 00:00:00 EDT 2012 · OSTI ID:1245158

Kokkos Array
Software · Mon Sep 10 20:00:00 EDT 2012 · OSTI ID:code-2109

Kokkos Version 2.0
Software · Sun Oct 18 20:00:00 EDT 2015 · OSTI ID:code-3666

Related Subjects