我正在用 Twisted 和 pyCUDA 编写服务器。CUDA 工作方式的一个限制是我必须在初始化它的同一线程中访问 CUDA 上下文。但是,Twisted 的线程池实现不允许我请求特定线程。
例如,如果我有多个客户端连接到服务器,它们将请求使用 CUDA 完成一些计算。将使用同一个 CUDA 对象请求多个操作(初始化很昂贵)。我想使用 deferToThread 函数,但这不允许我推迟到特定线程,只是“一些”线程。理想情况下,我想做的是使用 deferToThread 之类的机制,但要指定代码运行所在的线程。任何建议将不胜感激,也许 Twisted 是该项目的错误方式。