skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: ATDM Rover Milestone Report STDA02-1 (FY2017 Q4)

Abstract

We have successfully completed the MS-4/Y1 Milestone STDA02-1 for the Rover Project. This document describes the milestone and provides an overview of the technical details and artifacts of the milestone. This milestone is focused on building a GPU accelerated ray tracing package capable of doing multi-group radiography, both back-lit and with self-emission as well as serving as a volume rendering plot in VisIt and other VTK-based visualization tools. The long term goal is a package with in-situ capability, but for this first version integration into VisIt is the primary goal. Milestone Execution Plan: Create API for GPU Raytracer that supports multi-group transport (up to hundreds of groups); Implement components into one or more of: VTK-m, VisIt, and a new library/package implementation to be hosted on LLNL Bitbucket (initially), before releasing to the wider community.

Authors:
 [1];  [1]
  1. Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Publication Date:
Research Org.:
Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1409974
Report Number(s):
LLNL-TR-741087
DOE Contract Number:
AC52-07NA27344
Resource Type:
Technical Report
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE

Citation Formats

Larsen, Matt, and Laney, Dan E. ATDM Rover Milestone Report STDA02-1 (FY2017 Q4). United States: N. p., 2017. Web. doi:10.2172/1409974.
Larsen, Matt, & Laney, Dan E. ATDM Rover Milestone Report STDA02-1 (FY2017 Q4). United States. doi:10.2172/1409974.
Larsen, Matt, and Laney, Dan E. 2017. "ATDM Rover Milestone Report STDA02-1 (FY2017 Q4)". United States. doi:10.2172/1409974. https://www.osti.gov/servlets/purl/1409974.
@article{osti_1409974,
title = {ATDM Rover Milestone Report STDA02-1 (FY2017 Q4)},
author = {Larsen, Matt and Laney, Dan E.},
abstractNote = {We have successfully completed the MS-4/Y1 Milestone STDA02-1 for the Rover Project. This document describes the milestone and provides an overview of the technical details and artifacts of the milestone. This milestone is focused on building a GPU accelerated ray tracing package capable of doing multi-group radiography, both back-lit and with self-emission as well as serving as a volume rendering plot in VisIt and other VTK-based visualization tools. The long term goal is a package with in-situ capability, but for this first version integration into VisIt is the primary goal. Milestone Execution Plan: Create API for GPU Raytracer that supports multi-group transport (up to hundreds of groups); Implement components into one or more of: VTK-m, VisIt, and a new library/package implementation to be hosted on LLNL Bitbucket (initially), before releasing to the wider community.},
doi = {10.2172/1409974},
journal = {},
number = ,
volume = ,
place = {United States},
year = 2017,
month =
}

Technical Report:

Save / Share:
  • These are slides for a presentation on PARTISN Research and FleCSI Updates. The following topics are covered: SNAP vs PARTISN, Background Research, Production Code (structural design and changes, kernel design and implementation, lessons learned), NuT IMC Proxy, FleCSI Update (design and lessons learned). It can all be summarized in the following manner: Kokkos was shown to be effective in FY15 in implementing a C++ version of SNAP's kernel. This same methodology was applied to a production IC code, PARTISN. This was a much more complex endeavour than in FY15 for many reasons; a C++ kernel embedded in Fortran, overloading Fortranmore » memory allocations, general language interoperability, and a fully fleshed out production code versus a simplified proxy code. Lessons learned are Legion. In no particular order: Interoperability between Fortran and C++ was really not that hard, and a useful engineering effort. Tracking down all necessary memory allocations for a kernel in a production code is pretty hard. Modifying a production code to work for more than a handful of use cases is also pretty hard. Figuring out the toolchain that will allow a successful implementation of design decisions is quite hard, if making use of "bleeding edge" design choices. In terms of performance, production code concurrency architecture can be a virtual showstopper; being too complex to easily rewrite and test in a short period of time, or depending on tool features which do not exist yet. Ultimately, while the tools used in this work were not successful in speeding up the production code, they helped to identify how work would be done, and provide requirements to tools.« less
  • A successful high-performance plasma operation with a radiative divertor has been demonstrated on many tokamak devices, however, significant uncertainty remains in accurately modeling detachment thresholds, and in how detachment depends on divertor geometry. Whereas it was originally planned to perform dedicated divertor experiments on the National Spherical Tokamak Upgrade to address critical detachment and divertor geometry questions for this milestone, the experiments were deferred due to technical difficulties. Instead, existing NSTX divertor data was summarized and re-analyzed where applicable, and additional simulations were performed.
  • This report outlines the research, development, and support requirements for the Advanced Simulation and Computing (ASC ) Advanced Technology, Development, and Mitigation (ATDM) Performance Portability (a.k.a., Kokkos) project for 2015 - 2019 . The research and development (R&D) goal for Kokkos (v2) has been to create and demonstrate a thread - parallel programming model a nd standard C++ library - based implementation that enables performance portability across diverse manycore architectures such as multicore CPU, Intel Xeon Phi, and NVIDIA Kepler GPU. This R&D goal has been achieved for algorithms that use data parallel pat terns including parallel - for, parallelmore » - reduce, and parallel - scan. Current R&D is focusing on hierarchical parallel patterns such as a directed acyclic graph (DAG) of asynchronous tasks where each task contain s nested data parallel algorithms. This five y ear plan includes R&D required to f ully and performance portably exploit thread parallelism across current and anticipated next generation platforms (NGP). The Kokkos library is being evaluated by many projects exploring algorithm s and code design for NGP. Some production libraries and applications such as Trilinos and LAMMPS have already committed to Kokkos as their foundation for manycore parallelism an d performance portability. These five year requirements includes support required for current and antic ipated ASC projects to be effective and productive in their use of Kokkos on NGP. The greatest risk to the success of Kokkos and ASC projects relying upon Kokkos is a lack of staffing resources to support Kokkos to the degree needed by these ASC projects. This support includes up - to - date tutorials, documentation, multi - platform (hardware and software stack) testing, minor feature enhancements, thread - scalable algorithm consulting, and managing collaborative R&D.« less
  • The SPARC (Sandia Parallel Aerodynamics and Reentry Code) will provide nuclear weapon qualification evidence for the random vibration and thermal environments created by re-entry of a warhead into the earth’s atmosphere. SPARC incorporates the innovative approaches of ATDM projects on several fronts including: effective harnessing of heterogeneous compute nodes using Kokkos, exascale-ready parallel scalability through asynchronous multi-tasking, uncertainty quantification through Sacado integration, implementation of state-of-the-art reentry physics and multiscale models, use of advanced verification and validation methods, and enabling of improved workflows for users. SPARC is being developed primarily for the Department of Energy nuclear weapon program, with additional developmentmore » and use of the code is being supported by the Department of Defense for conventional weapons programs.« less
  • FleCSI is a compile-time configurable C++ framework designed to support multi-physics application development. As such, FleCSI attempts to provide a very general set of infrastructure design patterns that can be specialized and extended to suit the needs of a broad variety of solver and data requirements. This means that FleCSI is potentially useful to many different ECP projects. Current support includes multidimensional mesh topology, mesh geometry, and mesh adjacency information, n-dimensional hashed-tree data structures, graph partitioning interfaces, and dependency closures (to identify data dependencies between distributed-memory address spaces). FleCSI introduces a functional programming model with control, execution, and data abstractionsmore » that are consistent with state-of-the-art task-based runtimes such as Legion and Charm++. The model also provides support for fine-grained, data-parallel execution with backend support for runtimes such as OpenMP and C++17. The FleCSI abstraction layer provides the developer with insulation from the underlying runtimes, while allowing support for multiple runtime systems, including conventional models like asynchronous MPI. The intent is to give developers a concrete set of user-friendly programming tools that can be used now, while allowing flexibility in choosing runtime implementations and optimizations that can be applied to architectures and runtimes that arise in the future. This project is essential to the ECP Ristra Next-Generation Code project, part of ASC ATDM, because it provides a hierarchically parallel programming model that is consistent with the design of modern system architectures, but which allows for the straightforward expression of algorithmic parallelism in a portably performant manner.« less