gpt4 book ai didi

python - 将 Twisted 中的代码延迟到特定线程

转载 作者:行者123 更新时间:2023-11-28 23:01:44 25 4
gpt4 key购买 nike

我正在使用 Twisted 和 pyCUDA 编写服务器。 CUDA 工作方式的一个限制是我必须在初始化它的同一个线程中访问 CUDA 上下文。但是,Twisted 的线程池实现不允许我请求特定线程。

例如,如果我有多个客户端连接到服务器,它们将请求使用 CUDA 完成一些计算。将使用同一个 CUDA 对象请求多个操作(初始化很昂贵)。我想使用 deferToThread 函数,但这不允许我推迟到特定线程,只是“一些”线程。理想情况下,我想做的是使用像 deferToThread 这样的机制,但要指定代码运行的线程。任何建议将不胜感激,也许 Twisted 是这个项目的错误方法。

最佳答案

CUDA 驱动程序 API 支持通过使用函数 cuCtxPushCurrent() 从多线程向 CUcontext(驱动程序 API)提交工作和 cuCtxPopCurrent() .当前用于许多版本。在 CUDA 4.0 及更高版本中,CUDA 运行时支持使用函数 cudaSetDevice() 从多个操作系统线程向设备 (CUcontext) 提交工作或从单个操作系统线程向多个设备提交工作。 .

我不确定这是否通过 pyCUDA 公开。

关于python - 将 Twisted 中的代码延迟到特定线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10729386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com