Skip to content
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

CUDA with additional MPS and XPU support #1075

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

exdysa
Copy link

@exdysa exdysa commented Mar 16, 2025

RE: #1011

It is a few simple lines that allow MPS and XPU to pass through gatekeeping, enabling GPU other than NVIDIA's to run.

Caches, device setting, and GPU assert statements have been changed, though possible I overlooked something.

Note: I am unsure of the lines in cosyvoice/cli/model.py and whether they need to be changed, this one because I am not familiar with tensorRT:
self.flow.decoder.estimator_engine = trt.Runtime(trt.Logger(trt.Logger.INFO)).deserialize_cuda_engine(f.read())

And this will assign nullcontext(), but I know no alternative:
67/336
self.llm_context = torch.cuda.stream(torch.cuda.Stream(self.device)) if torch.cuda.is_available() else nullcontext()

exdysa added 8 commits March 15, 2025 21:30
don't know how or to/if need to change these lines or not
67
self.flow.decoder.estimator_engine = trt.Runtime(trt.Logger(trt.Logger.INFO)).deserialize_cuda_engine(f.read())
103
self.flow.decoder.estimator_engine = trt.Runtime(trt.Logger(trt.Logger.INFO)).deserialize_cuda_engine(f.read())

this line certainly needs to be changed but idk to what
67/336
self.llm_context = torch.cuda.stream(torch.cuda.Stream(self.device)) if torch.cuda.is_available() else nullcontext()
@e1732a364fed
Copy link

e1732a364fed commented Mar 31, 2025

cosyvoice/cli/model.py 两个 mps 的地方少了引号

 elif self.device == "mps:

exdysa#1

@exdysa
Copy link
Author

exdysa commented Mar 31, 2025

cosyvoice/cli/model.py 两个 mps 的地方少了引号

Thank you! Now type checked & linted. Needs some testing.

我没有安装这个,因为我不知道如何修复这两条线。如果你想和我一起测试,我可以进一步提供帮助。

self.flow.decoder.estimator_engine = trt.Runtime(trt.Logger(trt.Logger.INFO)).deserialize_cuda_engine(f.read())

self.llm_context = torch.cuda.stream(torch.cuda.Stream(self.device)) if torch.cuda.is_available() else nullcontext()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants