Tag: 推力

VexCL,Thrust和Boost.Compute之间的区别

只是对这些库的粗略理解,它们看起来非常相似。 我知道VexCL和Boost.Compute使用OpenCl作为后端(虽然v1.0版本VexCL也支持CUDA作为后端),而Thrust使用CUDA。 除了不同的后端,这两者之间有什么不同。 具体来说,他们解决了什么样的问题空间,为什么要使用另一个。 另外,在Thrust FAQ上也是这样说的 OpenCL支持的主要障碍是缺less支持C ++模板的OpenCL编译器和运行库 如果是这样,VexCL和Boost.Compute甚至可能存在。

如何使用Thrust来sortingmatrix的行?

我有一个5000x500matrix,我想用cuda分别对每一行进行sorting。 我可以使用arrayfire,但是这仅仅是一个for循环,它不应该是有效的。 https://github.com/arrayfire/arrayfire/blob/devel/src/backend/cuda/kernel/sort.hpp for(dim_type w = 0; w < val.dims[3]; w++) { dim_type valW = w * val.strides[3]; for(dim_type z = 0; z < val.dims[2]; z++) { dim_type valWZ = valW + z * val.strides[2]; for(dim_type y = 0; y < val.dims[1]; y++) { dim_type valOffset = valWZ + y * val.strides[1]; if(isAscending) { thrust::sort(val_ptr […]