I added simple method for assigning values to locations in a
I also got the
DeviceVector class and GPU reduction fixes into my MHD branch. This required quite a few changes to integrate but ended up working exactly as expected with C++17 and structured binding. Now I can declare a
static DeviceVector and static values from the
ReductionLaunchParams struct and use those on every instance of the function and then they will clean themselves up upon exiting.
I found and fixed an issue with the magnetic field update kernel. The thread guard on it was set to strict and loosening it fixed a major bug, now all linear waves run with a zero divergence. More complex cases still fail, there’s an issue with the y boundary conditions on the lower side, still working on identifying the exact location but it’s somewhere in the kernel that sets the ghost cells.
- Wrote a class for MPI persistent communication
- Cleaned up my timing class