0
点赞
收藏
分享

微信扫一扫

RAG:让大语言模型拥有特定的专属知识

清冷的蓝天天 2024-01-11 阅读 10

Python 原生自带的多进程库不支持在子进程中调用 CUDA 进行加速运算。因此,本文介绍了使用 Pytorch 中的 multiprocessing 库实现在子进程中调用 CUDA 的方法。

在使用 Python 原生自带的 multiprocessing 库中,若在子进程中调用 CUDA,则会报错:

如果根据提示信息,直接使用

torch.multiprocessing.set_start_method("spawn")

则会报错:

这是因为想要实现在多进程中调用 CUDA,需要先新建一个 context 对象,并在实际使用中用这个 context 对象替换 torch.multiprocessing,例如:

context = torch.multiprocessing.get_context("spawn")
...
process = context.Process(target=..., args=...)

此时,在子进程中就可以放心地调用 CUDA 了。

举报

相关推荐

0 条评论