Skip to content

Feature: Intel ARC GPU support with IPEX#1204

Merged
fumiama merged 12 commits intoRVC-Project:mainfrom
Disty0:main
Sep 9, 2023
Merged

Feature: Intel ARC GPU support with IPEX#1204
fumiama merged 12 commits intoRVC-Project:mainfrom
Disty0:main

Conversation

@Disty0
Copy link
Contributor

@Disty0 Disty0 commented Sep 6, 2023

Pull request checklist

  • [*] The PR has a proper title. Use Semantic Commit Messages. (No more branch-name title please)
  • [*] Make sure you are requesting the right branch.
  • [*] Make sure this is ready to be merged into the relevant branch. Please don't create a PR and let it hang for a few days.
  • [*] Ensure all tests are passing.
  • [*] Ensure linting is passing.

PR type

  • new feature

Description

  • Adds Intel ARC GPU support with IPEX on Linux / WSL.

  • Patches GradScaler to work with Intel GPU and presents IPEX as CUDA.

  • Added some workarounds for no FP64 and DDP support on the main pipeline.

  • Intel didn't release a torchaudio wheel so we had to built it from source and requirements-ipex.txt downloads that build (Python 3.10 only).

Screenshot

Screenshot from 2023-09-06 18-27-09
Screenshot from 2023-09-06 18-11-52
Screenshot from 2023-09-06 17-21-19
Screenshot from 2023-09-06 04-05-04

Localhost url to test on

Tps-F
Tps-F previously approved these changes Sep 7, 2023
Copy link
Member

@Tps-F Tps-F left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice PR!
Seems to be mostly OK.
I'll fix a few code that bother me later.

@Tps-F
Copy link
Member

Tps-F commented Sep 7, 2023

@Disty0 You hijacked the torch module so have you tried infer?

@Tps-F Tps-F added the enhancement ✨功能增强 label Sep 7, 2023
@Disty0
Copy link
Contributor Author

Disty0 commented Sep 7, 2023

These are confirmed to be working on my end:
Infer / Real Time Infer / Voice Splitting / Training

And this video i made as a test (and as a joke) took 25 minutes in total to make.
22 mins to train (a minute per epoch), 30 seconds to split vocal, 30 seconds to infer (takes 5 seconds after the first infer) and another 2 minute to manually combine vocal and instrumental.
(Used a random 10 mins of Jordan Peterson motivational talking video to train.)
https://www.youtube.com/watch?v=FLzHa96SEWQ

And real time infer:
https://www.youtube.com/watch?v=9wIwhPnzgg4

Latency at default settings (+/- 5):
PM: 85 ms
Harvest: 100 ms
Crepe: 110 ms
RMVPE: 130 ms

Copy link
Member

@fumiama fumiama left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job with just some small issues.

@fumiama fumiama added documentation 📄文档说明 good first issue 👍模范作文 labels Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation 📄文档说明 enhancement ✨功能增强 good first issue 👍模范作文

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants