我是Thrust的新手.我看到所有Thrust演示文稿和示例仅显示主机代码.
我想知道我是否可以将device_vector传递给我自己的内核?怎么样?如果是,内核/设备代码中允许的操作是什么?
Thrust库可用于对数据进行排序.调用可能看起来像这样(带有键和值向量):
thrust::sort_by_key(d_keys.begin(), d_keys.end(), d_values.begin());
Run Code Online (Sandbox Code Playgroud)
称为在CPU上,以d_keys及d_values在CPU存储器是; 并且大部分执行都发生在GPU上.
但是,我的数据已经在GPU上?如何使用Thrust库直接在GPU上执行高效排序,即sort_by_key从内核调用函数?
此外,我的数据包括或者是unsigned long long int或者unsigned int始终是数据的键
unsigned int.我应该如何对这些类型进行推力调用?