Quicksilver
Quicksilver copied to clipboard
A proxy app for the Monte Carlo Transport Code, Mercury. LLNL-CODE-684037
Adding Quicksilver SYCL version.
The link pointing to "LLNL co-design pages" in the Introduction section of README.md is a dead link. Perhaps it can be refreshed to this one instead? https://asc.llnl.gov/codes/proxy-apps/quicksilver (Also, I don't...
The old version of MPI casued compilation issues on LLNL's CORAL EA systems. To address this, I've upgraded both the CUDA and MPI versions to a much newer releases. After...
Some of us think C++ standard parallelism is going to be important in HPC. This is very easy to implement in QS. The performance looks comparable to OpenMP, although I...
This improves on https://github.com/LLNL/Quicksilver/pull/43 by adding a potentially universal implementation of atomics using C++20 atomic_ref. Not everyone supports this right now but if compilers don't lie with feature test macros,...
I have tested this in a variety of contexts but not on IBM/NVIDIA so you will want to do that.
I built the application with the options below and ran on a P100 GPU. -O2 -DHAVE_CUDA -x cu -dc cuda-memcheck shows the following message. When similar message can be reproduced,...
This is the SYCL/DPC++ port. It currently depends on two features that are not widely available: 1. USM (unified shared memory), which serves the same purpose as `cudaMallocManaged`. It is...
In MC_Particle.hh: Function declaration of Move_Particle uses HOST_DEVICE_CUDA: ``` HOST_DEVICE_CUDA void Move_Particle(const DirectionCosine & direction_cosine, const double distance); ``` but function definition does not: `inline void MC_Particle::Move_Particle( const DirectionCosine &my_direction_cosine,...