CUDA Version of the Formal Integral (#1837)
* Current work on the formal integral
* Work on cuda
* Work on the formal integral
* Work on cuda
* Removed units on inu when inputted to the formal integral
* Modified the trapz to take the correct input, and removed all comments and atomic add
* Changes to formal_integral to try and find the differences
* Uncommented a part of code regarding Jkkp, reduced error from 24% to 12%
* Removed random ;
* Initial unit tests for formal integral
* Added more tests, found error
* Fixed calculate_z to be the correct equation
* Made most functions test the number version against cuda
* First stage of adding full formal integral test
* Fixed test parameters as well as condensed them
* Remove unnecessary imports, improve tests
* Fixed call to points
* Slight changes trying to debug memory error
* First working test
* Implemented working CUDA formal_integral
* Clean up formal_integral and tests
* First idea for testing for GPUs
* Fixed name of dependency
* First method for automatically applying GPU, add dependency
* Add check for GPU for pytest tests
* Cleaning up the formal integral
* Remove outdated file
* Removed dependency, changed method for GPU detection
* Refactor to remove extra code
* Removed unnecessary imports
* Updates to test to match refactor
* Clean up imports
* Re-add pdb
* Removed wrapper for non-cuda test
* Black formatting
* Make docstrings match
* Updates to docstrings
* Add docstrings and update tests
* added docstring
* Fixed tests
* Add docstring to bound error
Co-authored-by: Kevin Cawley <[email protected]>