Christian Trott
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Christian Trott has a total of 129 co-authors. Here are the top co-authors by number of shared publications:
- Aidan Patrick Thompson
Center for Computing Research, Sandia National Laboratories, Albuquerque, NM 87185, United States of America
3 shared publications - Sivasankaran Rajamanickam
Sandia National Laboratories, Albuquerque, NM, USA
3 shared publications Damien Lebrun-Grandie
Oak Ridge National Laboratory, Oak Ridge, TN, USA
2 shared publications- Damien Lebrun-Grandie
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
2 shared publications - Daniel Arndt
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
2 shared publications - David Poliakoff
Sandia National Laboratories, Albuquerque, NM, USA
2 shared publications
Latest Publications
- Top Cited PapersOpen Access
- 8 June 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Mathematical Software
- Vol. 52 (2) , 1-34
Trilinos: Enabling Scientific Computing across Diverse Hardware Architectures at Scale
Trilinos is a community-developed, open-source software framework that facilitates building large-scale, complex, multiscale, multiphysics simulation code bases for scientific and engineering problems. Since the Trilinos framework has undergone substantial changes to support new applications and new hardware architectures, this document is an update to “An Overview of the Trilinos project” by Heroux et al. (ACM Transactions on Mathematical Software, 31(3):397–423, 2005). It describes the design of Trilinos, introduces its new organization in product areas, and highlights established and new features available in Trilinos. Particular focus is put on the modernized software stack based on the Kokkos ecosystem to deliver performance portability across heterogeneous hardware architectures. This article also outlines the organization of the Trilinos community and the contribution model to help onboard interested users and contributors.
- 8 June 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Mathematical Software
- Vol. 52 (2) , 1-34
Top Cited PapersOpen AccessTrilinos: Enabling Scientific Computing across Diverse Hardware Architectures at Scale
Trilinos is a community-developed, open-source software framework that facilitates building large-scale, complex, multiscale, multiphysics simulation code bases for scientific and engineering problems. Since the Trilinos framework has undergone substantial changes to support new applications and new hardware architectures, this document is an update to “An Overview of the Trilinos project” by Heroux et al. (ACM Transactions on Mathematical Software, 31(3):397–423, 2005). It describes the design of Trilinos, introduces its new organization in product areas, and highlights established and new features available in Trilinos. Particular focus is put on the modernized software stack based on the Kokkos ecosystem to deliver performance portability across heterogeneous hardware architectures. This article also outlines the organization of the Trilinos community and the contribution model to help onboard interested users and contributors.
- Open Access
- 15 November 2025
- Published by Association for Computing Machinery (ACM)
- p. 1217-1232
LAMMPS-KOKKOS: Performance Portable Molecular Dynamics Across Exascale Architectures
- 15 November 2025
- Published by Association for Computing Machinery (ACM)
- p. 1217-1232
Open AccessLAMMPS-KOKKOS: Performance Portable Molecular Dynamics Across Exascale Architectures
- Open Access
- 1 August 2025
- Published by Office of Scientific and Technical Information (OSTI)
LAMMPS-KOKKOS: Performance portable molecular dynamics across exascale
Presentation at LAMMPS workshop, content identical to recently submitted paper IR 1786384
- 1 August 2025
- Published by Office of Scientific and Technical Information (OSTI)
Open AccessLAMMPS-KOKKOS: Performance portable molecular dynamics across exascale
Presentation at LAMMPS workshop, content identical to recently submitted paper IR 1786384
- Open Access
- 8 April 2024
- Published by Association for Computing Machinery (ACM)
- p. 1-11
Experiences with implementing Kokkos’ SYCL backend
- 8 April 2024
- Published by Association for Computing Machinery (ACM)
- p. 1-11
Open AccessExperiences with implementing Kokkos’ SYCL backend
- 1 September 2023
- Published by Springer Nature
- p. 99-113
The Kokkos OpenMPTarget Backend: Implementation and Lessons Learned
- 1 September 2023
- Published by Springer Nature
- p. 99-113
The Kokkos OpenMPTarget Backend: Implementation and Lessons Learned
- Open Access
- 27 February 2023
- Published by Association for Computing Machinery (ACM)
- Vol. 2023, 35-49
Application Experiences on a GPU-Accelerated Arm-based HPC Testbed
This paper assesses and reports the experience of ten teams working to port, validate, and benchmark several High Performance Computing applications on a novel GPU-accelerated Arm testbed system. The testbed consists of eight NVIDIA Arm HPC Developer Kit systems, each one equipped with a server-class Arm CPU from Ampere Computing and two data center GPUs from NVIDIA Corp. The systems are connected together using InfiniBand interconnect. The selected applications and mini-apps are written using several programming languages and use multiple accelerator-based programming models for GPUs such as CUDA, OpenACC, and OpenMP offloading. Working on application porting requires a robust and easy-to-access programming environment, including a variety of compilers and optimized scientific libraries. The goal of this work is to evaluate platform readiness and assess the effort required from developers to deploy well-established scientific workloads on current and future generation Arm-based GPU-accelerated HPC systems. The reported case studies demonstrate that the current level of maturity and diversity of software and tools is already adequate for large-scale production deployments.
- 27 February 2023
- Published by Association for Computing Machinery (ACM)
- Vol. 2023, 35-49
Open AccessApplication Experiences on a GPU-Accelerated Arm-based HPC Testbed
This paper assesses and reports the experience of ten teams working to port, validate, and benchmark several High Performance Computing applications on a novel GPU-accelerated Arm testbed system. The testbed consists of eight NVIDIA Arm HPC Developer Kit systems, each one equipped with a server-class Arm CPU from Ampere Computing and two data center GPUs from NVIDIA Corp. The systems are connected together using InfiniBand interconnect. The selected applications and mini-apps are written using several programming languages and use multiple accelerator-based programming models for GPUs such as CUDA, OpenACC, and OpenMP offloading. Working on application porting requires a robust and easy-to-access programming environment, including a variety of compilers and optimized scientific libraries. The goal of this work is to evaluate platform readiness and assess the effort required from developers to deploy well-established scientific workloads on current and future generation Arm-based GPU-accelerated HPC systems. The reported case studies demonstrate that the current level of maturity and diversity of software and tools is already adequate for large-scale production deployments.
- Open Access
- 19 December 2022
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Mathematical Software
- Vol. 48 (4) , 1-29
Automatic Differentiation of C++ Codes on Emerging Manycore Architectures with Sacado
Automatic differentiation (AD) is a well-known technique for evaluating analytic derivatives of calculations implemented on a computer, with numerous software tools available for incorporating AD technology into complex applications. However, a growing challenge for AD is the efficient differentiation of parallel computations implemented on emerging manycore computing architectures such as multicore CPUs, GPUs, and accelerators as these devices become more pervasive. In this work, we explore forward mode, operator overloading-based differentiation of C++ codes on these architectures using the widely available Sacado AD software package. In particular, we leverage Kokkos, a C++ tool providing APIs for implementing parallel computations that is portable to a wide variety of emerging architectures. We describe the challenges that arise when differentiating code for these architectures using Kokkos, and two approaches for overcoming them that ensure optimal memory access patterns as well as expose additional dimensions of fine-grained parallelism in the derivative calculation. We describe the results of several computational experiments that demonstrate the performance of the approach on a few contemporary CPU and GPU architectures. We then conclude with applications of these techniques to the simulation of discretized systems of partial differential equations.
- 19 December 2022
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Mathematical Software
- Vol. 48 (4) , 1-29
Open AccessAutomatic Differentiation of C++ Codes on Emerging Manycore Architectures with Sacado
Automatic differentiation (AD) is a well-known technique for evaluating analytic derivatives of calculations implemented on a computer, with numerous software tools available for incorporating AD technology into complex applications. However, a growing challenge for AD is the efficient differentiation of parallel computations implemented on emerging manycore computing architectures such as multicore CPUs, GPUs, and accelerators as these devices become more pervasive. In this work, we explore forward mode, operator overloading-based differentiation of C++ codes on these architectures using the widely available Sacado AD software package. In particular, we leverage Kokkos, a C++ tool providing APIs for implementing parallel computations that is portable to a wide variety of emerging architectures. We describe the challenges that arise when differentiating code for these architectures using Kokkos, and two approaches for overcoming them that ensure optimal memory access patterns as well as expose additional dimensions of fine-grained parallelism in the derivative calculation. We describe the results of several computational experiments that demonstrate the performance of the approach on a few contemporary CPU and GPU architectures. We then conclude with applications of these techniques to the simulation of discretized systems of partial differential equations.
- Top Cited Papers
- 2 August 2021
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computing in Science & Engineering
- Vol. 23 (5) , 10-18
The Kokkos EcoSystem: Comprehensive Performance Portability for High Performance Computing
State-of-the-art engineering and science codes have grown in complexity dramatically over the last two decades. Application teams have adopted more sophisticated development strategies, leveraging third party libraries, deploying comprehensive testing, and using advanced debugging and profiling tools. In today’s environment of diverse hardware platforms, these applications also desire performance portability—avoiding the need to duplicate work for various platforms. The Kokkos EcoSystem provides that portable software stack. Based on the Kokkos Core Programming Model, the EcoSystem provides math libraries, interoperability capabilities with Python and Fortran, and Tools for analyzing, debugging, and optimizing applications. In this article, we overview the components, discuss some specific use cases, and highlight how codesigning these components enables a more developer friendly experience.
- 2 August 2021
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computing in Science & Engineering
- Vol. 23 (5) , 10-18
Top Cited PapersThe Kokkos EcoSystem: Comprehensive Performance Portability for High Performance Computing
State-of-the-art engineering and science codes have grown in complexity dramatically over the last two decades. Application teams have adopted more sophisticated development strategies, leveraging third party libraries, deploying comprehensive testing, and using advanced debugging and profiling tools. In today’s environment of diverse hardware platforms, these applications also desire performance portability—avoiding the need to duplicate work for various platforms. The Kokkos EcoSystem provides that portable software stack. Based on the Kokkos Core Programming Model, the EcoSystem provides math libraries, interoperability capabilities with Python and Fortran, and Tools for analyzing, debugging, and optimizing applications. In this article, we overview the components, discuss some specific use cases, and highlight how codesigning these components enables a more developer friendly experience.
- Top Cited PapersOpen Access
- 14 July 2021
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 33 (4) , 805-817
Kokkos 3: Programming Model Extensions for the Exascale Era
As the push towards exascale hardware has increased the diversity of system architectures, performance portability has become a critical aspect for scientific software. We describe the Kokkos Performance Portable Programming Model that allows developers to write single source applications for diverse high-performance computing architectures. Kokkos provides key abstractions for both the compute and memory hierarchy of modern hardware. We describe the novel abstractions that have been added to Kokkos version 3 such as hierarchical parallelism, containers, task graphs, and arbitrary-sized atomic operations to prepare for exascale era architectures. We demonstrate the performance of these new features with reproducible benchmarks on CPUs and GPUs.
- 14 July 2021
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 33 (4) , 805-817
Top Cited PapersOpen AccessKokkos 3: Programming Model Extensions for the Exascale Era
As the push towards exascale hardware has increased the diversity of system architectures, performance portability has become a critical aspect for scientific software. We describe the Kokkos Performance Portable Programming Model that allows developers to write single source applications for diverse high-performance computing architectures. Kokkos provides key abstractions for both the compute and memory hierarchy of modern hardware. We describe the novel abstractions that have been added to Kokkos version 3 such as hierarchical parallelism, containers, task graphs, and arbitrary-sized atomic operations to prepare for exascale era architectures. We demonstrate the performance of these new features with reproducible benchmarks on CPUs and GPUs.
- Open Access
mdspan in C++: A Case Study in the Integration of Performance Portable Features into International Language Standards
Multi-dimensional arrays are ubiquitous in high-performance computing (HPC), but their absence from the C++ language standard is a long-standing and well-known limitation of their use for HPC. This paper describes the design and implementation of mdspan, a proposed C++ standard multidimensional array view (planned for inclusion in C++23). The proposal is largely inspired by work done in the Kokkos project---a C++ performance-portable programming model deployed by numerous HPC institutions to prepare their code base for exascale-class supercomputing systems. This paper describes the final design of mdspan after a five-year process to achieve consensus in the C++ community. In particular, we will lay out how the design addresses some of the core challenges of performance-portable programming, and how its customization points allow a seamless extension into areas not currently addressed by the C++ Standard but which are of critical importance in the heterogeneous computing world of today's systems. Finally, we have provided a production-quality implementation of the proposal in its current form. This work includes several benchmarks of this implementation aimed at demonstrating the zero-overhead nature of the modern design.
Open Accessmdspan in C++: A Case Study in the Integration of Performance Portable Features into International Language Standards
Multi-dimensional arrays are ubiquitous in high-performance computing (HPC), but their absence from the C++ language standard is a long-standing and well-known limitation of their use for HPC. This paper describes the design and implementation of mdspan, a proposed C++ standard multidimensional array view (planned for inclusion in C++23). The proposal is largely inspired by work done in the Kokkos project---a C++ performance-portable programming model deployed by numerous HPC institutions to prepare their code base for exascale-class supercomputing systems. This paper describes the final design of mdspan after a five-year process to achieve consensus in the C++ community. In particular, we will lay out how the design addresses some of the core challenges of performance-portable programming, and how its customization points allow a seamless extension into areas not currently addressed by the C++ Standard but which are of critical importance in the heterogeneous computing world of today's systems. Finally, we have provided a production-quality implementation of the proposal in its current form. This work includes several benchmarks of this implementation aimed at demonstrating the zero-overhead nature of the modern design.