我对GPU编程还不熟悉,不确定如何编写最有效的代码。使用Thrust和编写自定义内核并自己管理内存有什么优缺点?
如果需要详细说明我的目标是什么:我有一个大矩阵,在每个值上需要执行几个向量操作。我知道这个任务需要动态并行性,并且目前有一个自定义内核来遍历矩阵并调用其他内核。我正在考虑是否应该用Thrust调用(例如thrust::for_each)替换内核,以及我是否应该在内核中使用Thrust进行向量操作。
如果需要详细说明我的目标是什么:我有一个大矩阵,在每个值上需要执行几个向量操作。我知道这个任务需要动态并行性,并且目前有一个自定义内核来遍历矩阵并调用其他内核。我正在考虑是否应该用Thrust调用(例如thrust::for_each)替换内核,以及我是否应该在内核中使用Thrust进行向量操作。