如何在pycuda中设置流的优先级?

How to set the priority of a stream in pycuda?

标题说明了一切,但这里是我的问题的更详细信息: 我正在 python + pycuda 中实现一个有限元求解器,它应该在分布式系统上 运行。

为了隐藏通信延迟,我试图重叠计算和通信(使用 2 个独立的流)。我的问题是用于通信的内核(在一个流上)是在主计算内核的末尾执行的(见下图)。

我的问题是:如何让我的 GPU 先执行通信内核? 我使用的是 RTX2060M,因此支持流优先级,pycuda 中属性 STREAM_PRIORITIES_SUPPORTED 的存在让我认为可以从 pycuda 设置流优先级。

appears在撰写本文之日(2022 年 2 月),PyCUDA 尚未实现具有优先级的流创建。因此,虽然您可以使用 CUDA 驱动程序 API(PyCUDA 使用)来完成您想做的事情,但该功能目前并未在 PyCUDA 中公开。