Kokkos

The KOKKOS package was developed primarily by Christian Trott (Sandia) with contributions of various styles by others, including Sikandar Mashayak (UIUC), Stan Moore (Sandia), and Ray Shan (Sandia). The underlying Kokkos library was written primarily by Carter Edwards, Christian Trott, and Dan Sunderland (all Sandia). The KOKKOS package contains versions of pair, fix, and atom styles that use data structures and macros provided by the Kokkos library, which is included with LAMMPS in lib/kokkos. The Kokkos library is part of Trilinos and can also be downloaded from Github. Kokkos is a templated C++ library that provides two key abstractions for an application like LAMMPS. First, it allows a single implementation of an application kernel (e.g. a pair style) to run efficiently on different kinds of hardware, such as a GPU, Intel Phi, or many-core CPU. The Kokkos library also provides data abstractions to adjust (at compile time) the memory layout of basic data structures like 2d and 3d arrays and allow the transparent utilization of special hardware load and store operations. Such data structures are used in LAMMPS to store atom coordinates or forces or neighbor lists. The layout is chosen to optimize performance on different platforms. Again this functionality is hidden from the developer, and does not affect how the kernel is coded. These abstractions are set at build time, when LAMMPS is compiled with the KOKKOS package installed. All Kokkos operations occur within the context of an individual MPI task running on a single node of the machine. The total number of MPI tasks used by LAMMPS (one or multiple per compute node) is set in the usual manner via the mpirun or mpiexec commands, and is independent of Kokkos. Kokkos currently provides support for 3 modes of execution (per MPI task). These are OpenMP (for many-core CPUs), Cuda (for NVIDIA GPUs), and OpenMP (for Intel Phi). Note that the KOKKOS package supports running on the Phi in native mode, not offload mode like the USER-INTEL package supports. You choose the mode at build time to produce an executable compatible with specific hardware.


References in zbMATH (referenced in 28 articles )

Showing results 1 to 20 of 28.
Sorted by year (citations)

1 2 next

  1. Ghosh, Supriyo; Newman, Christopher K.; Francois, Marianne M.: \textttTusas: a fully implicit parallel approach for coupled phase-field equations (2022)
  2. Jaiswal, Shashank: Non-linear Boltzmann equation on hybrid-unstructured non-conforming multi-domains (2022)
  3. McGregor, Duncan; Phillips, Edward; Sirajuddin, David; Pointon, Timothy: Variational, stable, and self-consistent coupling of 3D electromagnetics to 1D transmission lines in the time domain (2022)
  4. Anton Afanasyev, Mauro Bianco, Lukas Mosimann, Carlos Osuna, Felix Thaler, Hannes Vogt, Oliver Fuhrer, Joost VandeVondele, Thomas C. Schulthess: GridTools: A framework for portable weather and climate applications (2021) not zbMATH
  5. Arndt, Daniel; Bangerth, Wolfgang; Davydov, Denis; Heister, Timo; Heltai, Luca; Kronbichler, Martin; Maier, Matthias; Pelteret, Jean-Paul; Turcksin, Bruno; Wells, David: The \textscdeal.II finite element library: design, features, and insights (2021)
  6. Bettencourt, Matthew T.; Brown, Dominic A. S.; Cartwright, Keith L.; Cyr, Eric C.; Glusa, Christian A.; Lin, Paul T.; Moore, Stan G.; Mcgregor, Duncan A. O.; Pawlowski, Roger P.; Phillips, Edward G.; Roberts, Nathan V.; Wright, Steven A.; Maheswaran, Satheesh; Jones, John P.; Jarvis, Stephen A.: EMPIRE-PIC: a performance portable unstructured particle-in-cell code (2021)
  7. Christlieb, Andrew J.; Guthrey, Pierson T.; Sands, William A.; Thavappiragasm, Mathialakan: Parallel algorithms for successive convolution (2021)
  8. De Rango, Alessio; Furnari, Luca; Giordano, Andrea; Senatore, Alfonso; D’Ambrosio, Donato; Spataro, William; Straface, Salvatore; Mendicino, Giuseppe: OpenCAL system extension and application to the three-dimensional Richards equation for unsaturated flow (2021)
  9. Desai, Swapnil; Kim, Yu Jeong; Song, Wonsik; Luong, Minh Bau; Hernández Pérez, Francisco E.; Sankaran, Ramanan; Im, Hong G.: Direct numerical simulations of turbulent reacting flows with shock waves and stiff chemistry using many-core/GPU acceleration (2021)
  10. Hokkanen, Jaro; Kollet, Stefan; Kraus, Jiri; Herten, Andreas; Hrywniak, Markus; Pleiter, Dirk: Leveraging HPC accelerator architectures with modern techniques -- hydrologic modeling on GPUs with ParFlow (2021)
  11. Jaiswal, Shashank: Isogeometric schemes in rarefied gas dynamics context (2021)
  12. Jean Sexton, Zarija Lukic, Ann Almgren, Chris Daley, Brian Friesen, Andrew Myers, Weiqun Zhang: Nyx: A Massively Parallel AMR Code for Computational Cosmology (2021) not zbMATH
  13. Lebrun-Grandié, D.; Prokopenko, A.; Turcksin, B.; Slattery, S. R.: ArborX. A performance portable geometric search library (2021)
  14. Rizzi, Francesco; Parish, Eric J.; Blonigan, Patrick J.; Tencer, John: A compute-bound formulation of Galerkin model reduction for linear time-invariant dynamical systems (2021)
  15. D’Elia, M.; Phipps, E.; Rushdi, A.; Ebeida, M. S.: Surrogate-based ensemble grouping strategies for embedded sampling-based uncertainty quantification (2020)
  16. Köstler, Harald; Heisig, Marco; Kohl, Nils; Kuckuk, Sebastian; Bauer, Martin; Rüde, Ulrich: Code generation approaches for parallel geometric multigrid solvers (2020)
  17. Verdier, Werner; Kestener, Pierre; Cartalade, Alain: Performance portability of lattice Boltzmann methods for two-phase flows with phase change (2020)
  18. Bosler, Peter A.; Bradley, Andrew M.; Taylor, Mark A.: Conservative multimoment transport along characteristics for discontinuous Galerkin methods (2019)
  19. Phipps, Eric T.; Kolda, Tamara G.: Software for sparse tensor decomposition on emerging computing architectures (2019)
  20. Ramanuj, Vimal; Sankaran, Ramanan: High order anchoring and reinitialization of level set function for simulating interface motion (2019)

1 2 next