3 ms·
I don't work for ORNL and don't know what their take in this is, but a lot of codes that the DoE uses are being ported to the Kokkos framework out of the Sandia
by petschge 7y ago
I don't work for ORNL and don't know what their take in this is, but a lot of codes that the DoE uses are being ported to the Kokkos framework out of the Sandia National Lab. The application developer at that point basically doesn't have to care if the code runs on KNL, on Nvidia cards using Cuda or on AMD cards using ROCm. The work of tuning Kokkos well on AMD cards is cheap compared to getting stuck on a single vendor.
- gigatexal 7y agoIs it open source? It’d be huge to have something compete with cuda so that the best hardware may win
- petschge 7y agoKokkos (as in the C++ template frame work and a lot of tools to get insights into bottle necks) is opens source. See https://github.com/kokkos/kokkos https://github.com/kokkos/kokkos and https://github.com/kokkos/kokkos-tools https://github.com/kokkos/kokkos-tools . They take pull requests and react to bug reports. They even plan to upstream some things from kokkos (such as multi-dimensional arrays) into future C++ standards. The mission related codes based on kokkos are very much not open source.
- desertrider12 7y agoThere are some non-weapons codes like Albany and NaluCFD based on Kokkos and Trilinos that are open source. [1] https://github.com/SNLComputation/Albany https://github.com/SNLComputation/Albany [2] https://github.com/NaluCFD/Nalu https://github.com/NaluCFD/Nalu
- xbdobd 7y agoMost everything we develop (I work for the DOE) has to be open source.
- tgamblin 7y agoAt LLNL the story is similar, but the framework is RAJA: https://github.com/llnl/raja https://github.com/llnl/raja. RAJA is a bit simpler than Kokkos in that it does not require you to adopt its data structures. The Kokkos and RAJA teams are also working together on some common utility libraries now.
- gnufx 7y agoIs the implication, that applications must use C++, rather than a language people like me can understand? A while ago, I heard the LLNL CTO talk about performance portability for Sierra with the message, I thought, that it was focussed on OpenMP 5, with features driven by CORAL requirements. (He was around for an OpenMP standards meeting, though...) Is it not actually working that way -- if you can talk about such things?