sirocco-rt / sirocco

This is the repository for Sirocco, the radiative transfer code used to model winds in AGN and other systems
https://sirocco-rt.readthedocs.io/en/latest/
GNU General Public License v3.0
30 stars 24 forks source link

HPC RSE: Matrix Acceleration and Unit Testing Framework #1027

Closed Edward-RSE closed 1 year ago

Edward-RSE commented 1 year ago

This PR will merge in the changes made for the HPC RSE project, relating to matrix parallelisation using CUDA and the implementation of a unit testing framework.

So in this PR, we have:

Apologies for the messy commit history and large number of files in the commit (most of which are CUnity). I had intended to go back and squash a number of commits together, but some commits had multiple parents which stopped me from being able to clean as far back as I would have liked. It's still possible to squash this feature branch into dev instead, if that's preferred.

*Both the GSL and cuSolver implementations are set up for square matrices. It should, however, be easy to extend both implementations to arbitrary shaped matrices. **That is fail when a unit test fails.

jhmatthews commented 1 year ago

I guess we can probably merge this @Edward-RSE ? Are the tests in the github workflow? I couldn't fully tell from the yml file but couldn't see the test output in the log.

Edward-RSE commented 1 year ago

I'm happy for this to be merged.

The unit tests run in the "build" part of the workflow, at the bottom of the "make gh_workflow_install" task. I think this link may take you to the right line in the logs.

It will be easy enough to move it elsewhere in the workflow if that's preferable.