Return
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns
DOI:10.1016/j.jpdc.2014.07.003.png)
Abstract
En 中文
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. 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. 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. (C) 2014 Elsevier Inc. All rights reserved.
Keywords:
Parallel computing
Thread parallelism
Manycore
GPU
Performance portability
Multidimensional array
Mini-application
AI Summary
Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.
Journal
IF:
4
Papers:
3.8K
Citations:
4.8K
Organization
Cited Papers
Evaluation of NCS-1, DARPP-32, and neurotrophins in hippocampus and prefrontal cortex in rats submitted to sepsis
Synapse
IF0
no more

