Study of Refined Event Parallel Algorithm for GPU-Based Monte Carlo Particle Transport
摘要
In Monte Carlo particle transport methods, the assumption of particle independence makes Monte Carlo methods inherently suitable for parallel computation. GPUs are structurally well-suited for large-scale data parallel computing tasks. However, traditional history-based tracking algorithms are considered unfavorable for GPU calculations. The paper proposes a Refined Event Parallel (REP) algorithm suitable for Monte Carlo simulations based on the GPU hardware architecture. Before processing particle events, the REP algorithm uses a custom hash function to finely classify particles based on their spatial cells and the types of events they are about to experience, assigning particles that are set to experience the same event within the same cell to a group of thread warps for computation. Compared with traditional history-based and event-based algorithms, the algorithm has two advantages: first, threads within the same warp process the same event, minimizing branching and improving thread utilization; second, particles processed by adjacent threads are spatially continuous, so when the program accesses nuclear data, it reads the same or adjacent data, maximizing coalesced memory access. The paper compares the efficiency of history-based algorithm, event-based algorithm, and REP algorithm. The results show that when fewer particles are input, the REP algorithm is not as good as previous algorithms. But when more particles are input, the REP algorithm shows significant acceleration effects, achieving up to 160% of the computational efficiency of the history-based algorithm. REP algorithm can significantly improve parallel efficiency in Monte Carlo particle transport programs on GPUs.