NCAR / tuv-x

Photolysis rate constant calculator
https://ncar.github.io/tuv-x/
Apache License 2.0
4 stars 2 forks source link

Stub for Delta Eddington solver #75

Closed mattldawson closed 5 months ago

mattldawson commented 5 months ago

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.

closes #65, #67, #68