我是 GPU 编程的新手,不确定什么会导致最有效的代码。使用 Thrust 与编写自定义内核并自己管理内存的优缺点是什么?
如果它有助于详细说明我的目标是什么:我有一个大矩阵,其中对于每个值,我需要执行一些向量运算。我知道我需要动态并行来完成这项任务,并且目前有一个自定义内核来遍历将调用其他内核的矩阵。我正在考虑是否应该用推力调用(例如推力::for_each)替换内核和/或我是否应该在内核内部使用推力来进行向量操作。
cuda gpu thrust
cuda ×1
gpu ×1
thrust ×1