gpt4 book ai didi

cuda - Thrust::min_element 在 Thrust::device_vector 上发生崩溃(CUDA Thrust)

转载 作者:行者123 更新时间:2023-12-02 04:14:03 27 4
gpt4 key购买 nike

以下 CUDA Thrust 程序崩溃:

#include <thrust/device_vector.h>
#include <thrust/extrema.h>

int main(void)
{
thrust::device_vector<int> vec;
for (int i(0); i < 1000; ++i) {
vec.push_back(i);
}

thrust::min_element(vec.begin(), vec.end());
}

我得到的异常(exception)是:

Unhandled exception at 0x7650b9bc in test_thrust.exe: Microsoft C++
exception:thrust::system::system_error at memory location 0x0017f178..

In `checked_cudaMemcpy()` in `trivial_copy.inl`.

如果我添加#include <thrust/sort.h>并替换min_elementsort ,它不会崩溃。

我在 Windows 7 64 位、compute_20、sm_20 (Fermi)、调试版本上使用 CUDA 4.1。在发布版本中,我没有遇到崩溃,并且 min_element 找到了正确的元素。

我做错了什么,还是 Thrust 存在错误?

最佳答案

我可以使用针对计算能力 2.0 的 Debug模式重现该错误(即 nvcc -G0 -arch=sm_20)。该错误在 Release模式下或针对计算功能 1.x 设备时不会重现,这通常表明存在代码生成问题,而不是库中的错误。无论问题出在哪里,我都鼓励您 submit a bug report所以这个问题得到了应有的关注。同时,我建议在 Release模式下进行编译,这样会经过更严格的测试。

关于cuda - Thrust::min_element 在 Thrust::device_vector 上发生崩溃(CUDA Thrust),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9056548/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com