-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Add ROCm Support for AMD GPUs or OpenCL Support for Integrated Graphics Acceleration Description #107
Comments
This project uses torch library, so I think you can use ROCM if you install torch with ROCM support. Check here: |
Do you think it would be feasible to use OpenCL for acceleration with integrated graphics? Intel GPUs currently do not support ROCm or CUDA. Adding OpenCL support would enable acceleration using both AMD and Intel integrated graphics, as well as Intel dedicated GPUs. This is how UVR handles it. |
I think OpenCL is also possible with this pytorch fork: May be some changes in code of this repository needed related to keyword 'cuda'. But I personally can't check it. |
Actually UVR always used DirectML instead of OpenCL. It was Anjok naming mistake corrected in newer beta Roformer patches. |
I think it can be used with this repo with minimum changes: |
Hi I tried using pytorch-windows and changed a few lines in inference.py like this:
but I got this error:
I came across this page that says that complex isn't supported in DirectML. Any ideas how it might be possible to work around this? |
May be it's possible but for this we need to change stft conversion of data inside MelRoformer model to avoid Complex numbers. I'm not sure if it's easy to do. |
Maybe this repository would help, but I currently get no time to think about it. |
Maybe you could find how Anjok handles Roformers using DirectML in the
UVR's code:
https://github.com/Anjok07/ultimatevocalremovergui/tree/v5.6.0_roformer_add
niedz., 29 gru 2024 o 12:05 KitsuneX07 ***@***.***>
napisał(a):
… May be it's possible but for this we need to change stft conversion of
data inside MelRoformer model to avoid Complex numbers. I'm not sure if
it's easy to do.
Maybe this repository <https://github.com/DakeQQ/STFT-ISTFT-ONNX> would
help, but I currently get no time to think about it.
—
Reply to this email directly, view it on GitHub
<#107 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIJ3EHDVBTRDOFBJSQSINPL2H7JOLAVCNFSM6AAAAABTF5QS7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRUGY4DQMBZGY>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
I am trying to modify inference.py to adapt to DirectML for inference, but I do not understand how DirectML works. There may be other areas that need modification and adaptation beyond just inference.py, so I might need some time to research and trial-and-error. I may not be able to produce a decent version. If anyone has ideas, they can also try modifying it; no need to wait for me. |
I also noticed that the dev developers are trying to add DirectML support, and anjok's approach is worth discussing. As the saying goes, "one generation does the hard work, and the next generation benefits from it." I will try to research this together with my friends. |
If needed UVR's beta with roformers and directML code is available here https://github.com/Anjok07/ultimatevocalremovergui/tree/v5.6.0_roformer_add%2Bdirectml |
Do you know whether this branch can work on Linux?
pon., 30 gru 2024 o 05:30 Jarredou ***@***.***> napisał(a):
… If needed UVR's beta with roformers and directML code is available here
https://github.com/Anjok07/ultimatevocalremovergui/tree/v5.6.0_roformer_add%2Bdirectml
—
Reply to this email directly, view it on GitHub
<#107 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIJ3EHDCLZAYSWFY7C3C2FD2IDD5ZAVCNFSM6AAAAABTF5QS7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRVGAYTINJUGY>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
In roformer code you can try to change these lines:
On this:
It's equal and you will avoid complex64 tensor type. |
I tried changing that in mel_band_roformer.py but unfortunately I got the same error. I also saw line 487 of bs_roformer.py and I tried something similar to run that part on the CPU:
but then I got this error:
I'm not sure what that means but maybe there's some kind of issue in DirectML |
First of all, thanks for creating such a useful tool. It's been really helpful for a lot of us!
I wanted to bring up something that would make the software even better for users like me who rely on AMD hardware. Currently, the software supports CUDA for GPU acceleration, which is great for NVIDIA users. However, it would be fantastic if we could also have support for ROCm or OpenCL to take advantage of AMD GPUs or integrated graphics.
What I'm suggesting:
ROCM Support: Adding support for ROCm, AMD’s open-source platform for GPU computing, would allow AMD GPU owners to benefit from GPU acceleration within the software.
OpenCL for Integrated Graphics: Similar to how some other tools handle it (like UVR), supporting OpenCL would enable the use of integrated graphics for acceleration, which is particularly beneficial for users with AMD APUs.
Why this would be great:
Improved Performance: Leveraging AMD GPUs or integrated graphics could lead to faster processing times.
Broader Compatibility: This change would cater to a wider range of hardware setups, making the tool more accessible.
I understand that adding new features takes time and effort, but I believe these additions could significantly enhance the user experience for those using AMD hardware. I hope this feature can be considered in future updates.
The text was updated successfully, but these errors were encountered: