Search NASA⌕ Search

Engineering topics

Brantley, Patrick S.

Publications and source records attributed to Brantley, Patrick S..

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↗

Algorithmic Improvements for Portable Event-Based Monte Carlo Transport Using the Nvidia Thrust Library

High performance computing environments are progressively moving towards many-core computing architectures. The Los Alamos National Laboratory Trinity machine, available in late 2016, will use both Intel Xeon Haswell processors and Intel Xeon Phi Knights Landing many integrated core (MIC) coprocessors. The Lawrence Livermore National Laboratory Sierra machine, available in 2018, will use an IBM PowerPC architecture along with Nvidia graphics processing units (GPUs). Applications that must work in this supercomputing environment must continue to adapt in order to take advantage of the diverse hardware architectures that are coming. A significant consideration is not only the performance of the application on a given platform but also the portability of the application to other platforms. The algorithmic improvements presented in this paper build upon recently-reported work on event-based Monte Carlo transport in the ALPSMC code that models particle transport in one-dimensional binary stochastic media. That paper discussed the lack of available vectorization in the traditional history-based algorithm used for Monte Carlo transport and presented a data parallel event-based algorithm implemented using the Nvidia Thrust library for portability. The performance of the data parallel event-based algorithm implemented using Thrust was compared to a native CUDA implementation. The conclusions from that work were that the Thrust library abstraction technique caused too significant a loss in performance but that the event-based method was a viable option that should be further investigated. In this paper, we describe algorithmic improvements to the data parallel event-based algorithm previously presented. We made further algorithmic optimizations to the event-based CUDA implementation, most notably: data structure changes, a new conditional particle removal scheme in the event-based process, and the use of multiple GPUs. In addition to improvements to the algorithm, we re-implemented the Thrust version from the now further optimized CUDA version, giving a greater chance for success at a performant abstraction. Finally, we revisited our previous assumptions about the inability of the history-based method to achieve performance on vector style architectures such as the MICs and GPUs, with surprising and promising results. (authors)

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Modified Closures in Monte Carlo Algorithms for Diffusive Binary Stochastic Media Transport Problems

In a stochastic medium, the material properties at a given spatial location are known only statistically. The most common approach to solving particle transport problems involving binary stochastic media (BSM) is to use the atomic mix approximation in which the transport problem is solved using homogenized (volume-averaged) material properties. A common deterministic model developed for solving BSM particle transport problems is the Levermore-Pomraning (LP) model. Zimmerman and Adams proposed a Monte Carlo algorithm (Algorithm A) that solves the LP equations and another Monte Carlo algorithm (Algorithm B) that locally preserves the sampled material realization; we refer to these Monte Carlo algorithms as the LP and LPLRP (LP local realization preserving) algorithms, respectively. One-dimensional (1D) planar geometry benchmark studies have shown that the LPLRP algorithm is often significantly more accurate than the LP algorithm for problems with an incident angular flux as well as for problems with an interior source. The LPLRP algorithm implementation in these benchmark comparisons made explicit use of the one-dimensional nature of the problem. The LP model is derived by assuming an 'upwind' closure in the coupling term relating the two materials in a binary stochastic medium. Su and Pomraning developed a modified form of this closure by considering the small correlation length limit and requiring the modified closure to produce the correct exponential decay for a source-free half-line albedo problem in rod geometry. They concluded that the modified closure is generally not inferior to the LP closure and in some cases is significantly better. Brantley investigated the use of the Su-Pomraning (SP) closure in the Monte Carlo LP algorithm (LP-SP) for the suite of benchmark problems and concluded that 1) the LP-SP algorithm was somewhat more accurate overall than the LP algorithm and somewhat less accurate overall than the LPLRP algorithm for an incident angular flux benchmark suite, and 2) the LP-SP algorithm was generally the least accurate of the algorithms for an interior source benchmark suite. Larsen et al. performed an asymptotic analysis of the transport equation in 1D planar geometry for the situation in which the physical system is 1) a random binary stochastic medium with material macroscopic total cross sections and mean slab width values of O(1) or smaller and 2) optically thick with weak absorption and sources at each spatial point and therefore globally diffusive. The asymptotic analysis demonstrates that, under these assumptions, the transport equation limits to the conventional diffusion equation with atomically-mixed (volume-averaged) material properties. Larsen et al. also demonstrate that, under these same assumptions, the LP equations asymptotically limit to an atomically-mixed diffusion equation with a diffusion coefficient that is too large, leading to an unphysical flattening of the ensemble-averaged scalar flux distribution. Vasques and Yadav recently performed an asymptotic analysis of an adjusted Levermore-Pomraning closure in which the Markovian transition functions are rescaled such that the equations asymptotically limit to the correct atomically-mixed diffusion equation; we refer to this model as LP-VY. In this paper, we demonstrate that the adjusted LP closure proposed by Vasques and Yadav is a special case of the SP closure obtained by assuming that the absorption cross sections in the two materials are equal. We further demonstrate that the Su-Pomraning closure has the correct asymptotic limit for the diffusive physical system and is therefore an appropriate closure for these problems. We also describe how to incorporate these various closures into the Monte Carlo LP and LPLRP particle transport algorithms, and we present numerical results comparing the accuracy of the Monte Carlo LP, LP-VY, LP-SP, LPLRP, and LPLRP-SP algorithms for the set of diffusive benchmark problems. We demonstrated that the SP closure has the correct asymptotic limit for the diffusive physical system under investigation in this paper and that the VY closure is a special case of the SP closure obtained by assuming equal absorption in the two materials. Both of these closures are readily implemented in the Monte Carlo LP and LPLRP algorithms for particle transport in BSM. Through numerical comparisons to a diffusive benchmark suite, we confirmed that 1) the LP and LPLRP algorithms do not limit to the appropriate diffusion solution and 2) the LP-VY, LP-SP, and LPLRP-SP algorithms limit to the appropriate diffusion solution and are of comparable accuracy. The LPLRP algorithm has been shown to be generally more accurate than the LP algorithm for non-diffusive problems. However, the numerical results in this paper indicate that the LPLRP algorithm does not limit to the correct diffusion equation for the asymptotic limit under consideration. The work in this paper demonstrates that the SP algorithm does limit to the correct diffusion equation for the asymptotic limit considered. Future work will investigate the possibility of whether the LPLRP-SP algorithm is accurate for both diffusive and non-diffusive problems.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Investigation of Portable Event-Based Monte Carlo Transport Using the NVIDIA Thrust Library

Power consumption considerations are driving future high performance computing platforms toward many-core computing architectures. Los Alamos National Laboratory's Trinity machine, available in 2016, will use both Intel Xeon Haswell processors and Intel Xeon Phi Knights Landing many integrated core (MIC) architecture coprocessors. Lawrence Livermore National Laboratory's Sierra machine, available in 2018, will use an IBM PowerPC architecture along with Nvidia graphics processing unit (GPU) architecture accelerators. These different advanced architectures make the computing landscape in upcoming years complex. Traditional approaches to Monte Carlo transport do not work efficiently on these new computing platforms. MIC architectures require vectorization to operate efficiently, and vectorization is difficult to achieve in Monte Carlo transport. GPU architectures require additional code to explicitly use the hardware, requiring significant code changes or hardware specific branches in the source code. A significant challenge for Monte Carlo transport projects is to simultaneously support within a single source code base efficient simulations for both the current generation of architectures and the different advanced computing architectures. In order to address these challenges, two important changes are typically required: a new algorithmic approach for solving Monte Carlo transport, and explicit use of hardware specific software. In this paper, we describe initial research investigations of an event-based Monte Carlo transport algorithm implemented using the Nvidia Thrust library on a GPU for a Monte Carlo test code. The event-based algorithm targets many-core architectures by increasing SIMD (single instruction multiple data) parallelism, while Thrust potentially provides portable performance by allowing one source code base to compile code targeted for both CPUs and GPUs. We described preliminary investigations of portable event-based Monte Carlo algorithms implemented using the Nvidia Thrust library in a research Monte Carlo test code. We found that an explicit CUDA implementation of an event-based Monte Carlo algorithm performed significantly more efficiently than a Thrust implementation on GPU platforms, most likely as a result of additional flexibility in access to different memory spaces on the GPU. Additionally, we showed that on GPU platforms and at large enough problem sizes the event-based implementations perform more efficiently than the serial history-based implementation running on the host CPU. While investigating this problem, we also discovered that the performance of the event-based algorithm is affected by what tallies are being used. A zonal scalar flux tally requires atomic operations that significantly impacted the performance of the code, in some cases producing slowdowns instead of speedups. We decided to remove the tally in order to focus on the effectiveness of the event-based algorithm. Future work will be required to research more effective ways of handling such tallies. Additionally, we would like to consider new ways for optimizing both the Thrust and CUDA versions, in order to see how much performance we have yet to achieve. The potential trade-off between portability and performance was demonstrated in this investigation. Thrust provides both CPU and GPU versions of the code in one code base, but it does so at a cost. We discovered approximately a factor of 2-5 performance difference between Thrust and CUDA on each GPU platform we tested. Thrust provides a tool to access the GPUs with less effort and specialization, but it does so by giving up fine grained control where extra performance can be found for this application. Future work will be required to determine whether this performance differential between Thrust and CUDA can be reduced for event-based Monte Carlo transport. (authors)

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗