Skip to content

v1.0.17

@jacobhinkle jacobhinkle tagged this 25 Apr 11:39
This commit represents a refactor from `lagomorph_cuda` to
`lagomorph_ext`, an extension which hopefully will enable us to support
multiple backends like ROCm with a standard python interface.

Headers that can be used from both CUDA and standard C++ are given .h
extensions while cuda-only headers are suffixed .cuh (currently only
atomic.cuh). Inside the `.h` files, a macro called DEVICE is set when
NVCC is detected, and can be used to define functions that are allowed
to run on the GPU.

The only function that has been translated to CPU so far is
`affine_interp` forward computation, with tests added to ensure that the
CPU and GPU versions give the same results. Also, the extension code has
been reorganized to have a common include directory, and C++ filenames
have been simplified to make things easier to find as the C++ extension
grows.
Assets 2