没有办法按你的要求去做。选择GPU是将数据移动到该位置的唯一方法,选择GPU将重置所有GPU数据。
这里的问题是如何将所有数据发送给每个工作人员,然后对其进行索引,这是您的瓶颈(相当于,将所有结果移回)。您需要摊销此通信成本,方法是在循环内进行更多工作,或者直接将所需数据加载到每个工作人员,而不首先将其加载到客户端。
大概您有2个以上的256^3阵列。把另一个循环放在你的
帕弗
并一起处理所有这些数组。将结果移回CPU以节省GPU内存。最终,通信开销将变得无关紧要,您将看到两个GPU的使用收益。