我的CUDA项目已经有很少的内核可以正常工作,但我无法推动工作。 我试过运行我在网上找到的一些琐碎的例子,但没有任何作用。 我总是从CUDA代码片段中得到一个例外
inline void checked_cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream)
{
cudaError_t error = cudaMemcpyAsync(dst,src,count,kind,stream);
if(error)
{
throw thrust::system_error(error, thrust::cuda_category());
} // end error
} // end checked_cudaMemcpy()
error
的值为cudaErrorInvalidValue
我尝试运行的示例代码:
#include <thrust/device_vector.h>
#include <thrust/sort.h>
int main()
{
thrust::host_vector<int> h_vec(1 << 10);
thrust::generate(h_vec.begin(), h_vec.end(), rand);
thrust::device_vector<int> d_vec = h_vec;
thrust::sort(d_vec.begin(), d_vec.end());
thrust::copy(d_vec.begin(), d_vec.end(), h_vec.begin());
return 0;
}