nanoporetech / dorado

Oxford Nanopore's Basecaller
https://nanoporetech.com/
Other
477 stars 59 forks source link

ROCm compatibility #666

Closed Ge0rges closed 5 months ago

Ge0rges commented 6 months ago

This is not an issue but more of a feature request. It would be nice to see Nanopore embrace AMD's open source GPU compute platform ROCm which is now perhaps mature enough to replace CUDA.

This would enable the base calling on AMD's server GPU compute offerings which are gaining popularity.

Tools exist to translate CUDA code to ROCm as well and popular libraries such as PyTorch have already integrated support.

vellamike commented 6 months ago

Hello @Ge0rges , at present we don't plan to add a ROCm backend, although this may change. The primary reason is that we rely quite heavily on CUDA libraries like CUTLASS which are tuned for Nvidia. While you are right in saying that there have been significant advancements in ROCm, it is quite unlikely at present that we would hit close to the same performance on AMD and Nvidia hardware without a lot of customised work.

Having said this, Dorado is open source and it's perfectly possible for a user to add this support - we support x86, ARM, Metal and CUDA already - if there were serious interest in the community for a 3rd party adding ROCm support we would likely be supportive.