Adds a stub class for the C++/CUDA Delta Eddington solver.
The code is structured in a way that, hopefully, CUDA versions of the Array2D and Array3D classes will be able to be used similarly to how the CudaDenseMatrix and CudaSparseMatrix are used in MICM. Users would handle loading input array data, synching to device, running TUV-x, and synching output data back to host.
I used policies to share as much code as possible between CPU and GPU versions of the solver. @K20shores - if there is a better way to structure this with auto, I'm happy to rework this, but it wasn't obvious to me how to do this.
Adds a stub class for the C++/CUDA Delta Eddington solver.
The code is structured in a way that, hopefully, CUDA versions of the
Array2D
andArray3D
classes will be able to be used similarly to how theCudaDenseMatrix
andCudaSparseMatrix
are used in MICM. Users would handle loading input array data, synching to device, running TUV-x, and synching output data back to host.I used policies to share as much code as possible between CPU and GPU versions of the solver. @K20shores - if there is a better way to structure this with
auto
, I'm happy to rework this, but it wasn't obvious to me how to do this.closes #65, #67, #68