cms-patatrack / cmssw

CMSSW fork of the Patatrack project
https://patatrack.web.cern.ch/patatrack/index.html
Apache License 2.0
2 stars 5 forks source link

Investigate the use of Kokkos #326

Open fwyzard opened 5 years ago

fwyzard commented 5 years ago

We should look into Kokkos for performance portability across different backends.

The Kokkos C++ Performance Portability Programming EcoSystem is a collection of C++ libraries developed by Sandia National Laboratories, available on GitHub under a 3-clause BSD license, including a set of tutorials, profiling tools, and kernels for linear algebra and graph operations.

From the Kokkos Core README:

Kokkos Core implements a programming model in C++ for writing performance portable applications targeting all major HPC platforms. For that purpose it provides abstractions for both parallel execution of code and data management. Kokkos is designed to target complex node architectures with N-level memory hierarchies and multiple types of execution resources. It currently can use OpenMP, Pthreads and CUDA as backend programming models.

Kokkos Core is part of the Kokkos C++ Performance Portability Programming EcoSystem, which also provides math kernels, as well as profiling and debugging tools.

fwyzard commented 4 years ago

See some Matti's presentation at the September 4th O&C meeting.