2

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

talonmies
  • 70,661
  • 34
  • 192
  • 269
Rafael Sisto
  • 404
  • 5
  • 19
  • Running CUDA code on non CUDA hardware is a loss of time in my experience. It could work for very simple code, in which case you can probably re-write the OpenCL code yourself. CUDA is designed on the hardware and NVidia simply does not want you to be able to run it on non CUDA hardware... and believe me, they are good at it. In other words, CUDA cores are different enough (from ATI cores) that porting the code "naively" using OpenCL instructions won't run efficiently. So my suggestion is try, but don't lose too much time at it. You'll save time if you persuade the boss to buy NVidia hardware. – L.C. Mar 20 '19 at 14:07
  • Thanks @L.C. , the main thing is time on the desktop, I have a non CUDA laptop and I want to minimize time on the CUDA hardware if possible. I'm evaluating a remote desktop also. – Rafael Sisto Mar 20 '19 at 16:30

0 Answers0