Engineering Papers⌕ Search

Engineering topics

Dawson, Shawn

Publications and source records attributed to Dawson, Shawn.

Status of Mercury and Imp: Two Monte Carlo Transport Codes Developed Using Shared Infrastructure at Lawrence Livermore National Laboratory

The Monte Carlo Transport Project at Lawrence Livermore National Laboratory develops two Monte Carlo transport codes used in production by a sizable internal user community. Mercury is a Monte Carlo particle transport code used to model the interaction of neutrons, gammas, and light ions with a material. Imp is an implicit Monte Carlo thermal x-ray photon transport code used to model the interaction of x-ray photons with a material. This paper describes the two codes and highlights recent developments.

Pozulp, Michael↗

Enhancements supporting IC usage of PEM libraries on next-gen platforms

This milestone reports on the culmination of several years of effort by multiple PEM support software development teams to provide capabilities for use in LLNL-developed integrated codes on next-gen ASC platforms, including GPU support. We will provide a survey of relevant Application Program Interfaces (API) that are required to support LLNL IC code capability on relevant architectures, with a focus on Sierra and El Capitan. We will identify and summarize all dependencies between PEM supported libraries and IC supported physics codes. We will provide an assessment of algorithmic improvements that have been deployed, as well as future developments that are required to complete the GPU porting efforts. This assessment will include a description of programming models adopted by each of the PEM projects, distinct algorithmic challenges for each of the capabilities, and information about sharing GPU memory between the APIs and host codes. We will develop targeted test problems to assess computational performance. Finally, this milestone will result in identification of gaps in our effort to assist the LLNL ASC program in prioritization of effort for porting software to El Capitan.

97 MATHEMATICS AND COMPUTING↗

Thin-Threads: An Approach for History-Based Monte Carlo on GPUs

A graphics processing unit (GPU) has become a core technology for modern supercomputers. Applications that once ran on supercomputers are being forced to make significant changes to their designs to utilize these new machines. This paper introduces the concept of Thin-Threads as a method for history-based Monte Carlo transport applications on GPUs. The key principles behind Thin-Threads are light memory usage and communication and managing data race issues via atomics. We show that we can achieve a 10x speedup when moving from the traditional method to Thin-Threads on GPUs. Additionally, we demonstrate the viability of the Thin-Threads model at scale for GPU and CPU platforms.

97 MATHEMATICS AND COMPUTING↗

The Trinity Center of Excellence Co-Design Best Practices

Co-design between application developers and the vendors providing high-performance computing systems is essential to efficiently using current-generation HPC systems and shaping next-generation architectures. Application developers are faced with the challenge of effectively orchestrating many hardware threads and exploiting vector instructions, which can require code modifications. Will refactoring applications for current-generation systems apply to future-generation systems? Is there help available for this enormous task? Over the past 10 years, a partnership has evolved to address these issues. Centers of Excellence are mutually beneficial collaborations between application developers and vendors; vendors receive a better understanding of the needs of their users, and users receive a better understanding of the characteristics of the hardware, system software, and tools available to address their challenges. Lastly, this article describes the partnership between two vendors, Cray and Intel, and the application teams working together in the Trinity Center of Excellence.

97 MATHEMATICS AND COMPUTING↗

LLNL Mercury Project Trinity Open Science Final Report

The Mercury Monte Carlo particle transport code developed at Lawrence Livermore National Laboratory (LLNL) is used to simulate the transport of radiation through urban environments. These challenging calculations include complicated geometries and require significant computational resources to complete. As a result, a question arises as to the level of convergence of the calculations with Monte Carlo simulation particle count. In the Trinity Open Science calculations, one main focus was to investigate convergence of the relevant simulation quantities with Monte Carlo particle count to assess the current simulation methodology. Both for this application space but also of more general applicability, we also investigated the impact of code algorithms on parallel scaling on the Trinity machine as well as the utilization of the Trinity DataWarp burst buffer technology in Mercury via the LLNL Scalable Checkpoint/Restart (SCR) library.

54 ENVIRONMENTAL SCIENCES↗

Quicksilver

Quicksilver is proxy application for the Monte Carlo Transport code, Mercury. The purpose of the Quicksilver mini-app is to create a freely distributable code base that represents the key elements of the Mercury workload by solving a simplified time-dependent neutron transport problem. As an open source code, Quicksilver will be hosted on the CZ git/stash repo alongside other mini-apps in the ACS so-design suite. It will be used by vendors and other partners for co-design activities such as identifying root causes of Mercury performance bottlenecks on future architectures (i.e., memory bandwidth, memory latency, flop intensity) and developing Quicksilver will be used within LLNL as a nimble platform to evaluate programming models, algorithms, etc. that might be useful in Mercury. Quicksilver may also become a replacement for MCB in future procurement benchmarks, as well as a way to engage vendors in the Trinity and Sierra Centers of Excellence as well as other co-design efforts.

Richards, David↗