I'm doing academic robotics research, so we need to integrate several libraries in the field of vision, sensing, actuators.
There's a huge problem when trying to use libraries that solve problems and also how to integrate them together, since some use CUDA, othres ROCm, others OpenCL. I don't have an NVidia hardware in my host machine.
I'm starting the research on how to be a bit independent on this (I'm willing to sacrifice on performance), but there are several libraries that compile CUDA to portable C++, or CUDA to OpenCL, so it seems it shouldn't be a blocker having either NVidia or AMD in my opinion.
I'd suggest having these libraries in mind https://github.com/hughperkins/coriander (convert CUDA to OpenCL to run in other cards) https://github.com/ROCm-Developer-Tools/HIP (convert CUDA to portable C++).
Can you suggest alternatives to this? There may be better ways on how to use CUDA enabled libraries on a non NVidia enabled host.
The specific case would be to run PoseCNN library (it was built with CUDA) without CUDA or Nvidia in an Ubuntu machine. https://github.com/yuxng/PoseCNN