Software Development Best Practices

This is a collection of some material that is intended to support the software development aspect of an ESDW

Datasets in the Collection

Thumbnail of Kokkos: Enabling many-core performance portability through  polymorphic memory access patterns
The many-core revolution can be characterized by increasing thread counts, decreasing memory per thread, and diversity of continually evolving many-core 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 many-core 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 many-core architectures by unifying abstractions for both fine-grain data parallelism and memory access patterns. In this tutorial 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 many-core architectures, and to address a growing list of applications and domain libraries.
Created on Oct 08, 2018
Thumbnail of Introduction to OpenACC
Presented by Dr. Jony Castagna
Created on Jun 25, 2018
Thumbnail of Effectively Utilizing HPC Resources
Created on Jan 19, 2018

Child Collections in the Collection

There are no child collections in this collection and not enough permission to edit this collection.


Views: 187
Last viewed: Apr 06, 2020 08:26:10

Space containing the Collection

4 collections |

Parent collections