Currently all our methods are written in cuda. I have anticipated a need for a ROCm extension for example, but it also would of course be nice to have a CPU extension as well. There is probably a nice way to dispatch to whichever method is needed in ATen. Currently since we only have the cuda extension, our python code is calling stuff from lagomorph_cuda. Ideally, we'd probably have a lagomorph_backend or something like that, which links together all the various backends so that in the main lagomorph python code we don't need to dispatch to a different python module just to use different backends. It would be really useful to collect some examples of how other projects address this need before deciding how to proceed.
Currently all our methods are written in cuda. I have anticipated a need for a ROCm extension for example, but it also would of course be nice to have a CPU extension as well. There is probably a nice way to dispatch to whichever method is needed in ATen. Currently since we only have the cuda extension, our python code is calling stuff from
lagomorph_cuda. Ideally, we'd probably have alagomorph_backendor something like that, which links together all the various backends so that in the mainlagomorphpython code we don't need to dispatch to a different python module just to use different backends. It would be really useful to collect some examples of how other projects address this need before deciding how to proceed.