Kokkos: Enabling manycore performance portability through polymorphic memory access patterns
Journal Article
·
· Journal of Parallel and Distributed Computing
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
The manycore revolution can be characterized by increasing thread counts, decreasing memory per thread, and diversity of continually evolving manycore architectures. High performance computing (HPC) applications and libraries must exploit increasingly finer levels of parallelism within their codes to sustain scalability on these devices. We found that a major obstacle to performance portability is the diverse and conflicting set of constraints on memory access patterns across devices. Contemporary portable programming models address manycore parallelism (e.g., OpenMP, OpenACC, OpenCL) but fail to address memory access patterns. The Kokkos C++ library enables applications and domain libraries to achieve performance portability on diverse manycore architectures by unifying abstractions for both fine-grain data parallelism and memory access patterns. In this paper we describe Kokkos’ abstractions, summarize its application programmer interface (API), present performance results for unit-test kernels and mini-applications, and outline an incremental strategy for migrating legacy C++ codes to Kokkos. Furthermore, the Kokkos library is under active research and development to incorporate capabilities from new generations of manycore architectures, and to address a growing list of applications and domain libraries.
- Research Organization:
- Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA)
- Grant/Contract Number:
- AC04-94AL85000
- OSTI ID:
- 1106586
- Alternate ID(s):
- OSTI ID: 1556442
- Report Number(s):
- SAND-2013-5603J; PII: S0743731514001257
- Journal Information:
- Journal of Parallel and Distributed Computing, Journal Name: Journal of Parallel and Distributed Computing Journal Issue: 12 Vol. 74; ISSN 0743-7315
- Publisher:
- ElsevierCopyright Statement
- Country of Publication:
- United States
- Language:
- English
Similar Records
Manycore Performance-Portability: Kokkos Multidimensional Array Library
Kokkos Version 2.0
Kokkos Programming Model and Library
Journal Article
·
2011
· Scientific Programming
·
OSTI ID:1197983
Kokkos Version 2.0
Software
·
2015
·
OSTI ID:code-3666
Kokkos Programming Model and Library
Technical Report
·
2015
·
OSTI ID:1222666