【问题标题】:CUDAPP 1.1 cudppSort configuration error (Invalid configuration argument)CUDAPP 1.1 cudppSort 配置错误(配置参数无效)
【发布时间】:2010-12-05 00:31:25
【问题描述】:

我正在尝试调用 cudppSort 对一组键/值进行排序。我正在使用以下代码来设置排序算法:

CUDPPConfiguration config;
config.op = CUDPP_ADD;
config.datatype = CUDPP_UINT;
config.algorithm = CUDPP_SORT_RADIX;
config.options = CUDPP_OPTION_KEY_VALUE_PAIRS | CUDPP_OPTION_FORWARD | CUDPP_OPTION_EXCLUSIVE;

CUDPPHandle planHandle;
CUDPPResult result = cudppPlan(&planHandle, config, number_points, 1, 0);
if (CUDPP_SUCCESS != result) {
    printf("ERROR creating CUDPPPlan\n");
    exit(-1);
}

程序退出,然而就行了:

CUDPPResult result = cudppPlan(&planHandle, config, number_points, 1, 0);

并打印到标准输出:

Cuda error: allocScanStorage in file 'c:/the/path/to/release1.1/cudpp/src/app/scan_app.cu' in line 279 : invalid configuration argument.

我查看了 scan_app.cu 中的行。是的,

 CUT_CHECK_ERROR("allocScanStorage");

所以显然我的配置有一个错误导致 allocScanStorage 崩溃。函数中只有两个对 CUDA_SAFE_CALL 的调用,我看不出任何一个与配置有任何关系的原因。

我的配置有什么问题?

【问题讨论】:

  • 只是为了后代:我想通了(我现在还在学习 CUDA。)因为错误检查是异步错误,如果你不检查它们可能会出现在奇怪的地方不时。在我调用 cudppPlan 之前,我的代码导致了一个错误,但是因为我没有检查错误,所以 cudppPlan 报告了错误,就好像它在 cudppPlan 中一样。

标签: debugging cuda


【解决方案1】:

所以这不会作为一个悬而未决的问题(我不确定这是否是正确的礼仪,但似乎一个已回答的问题不应该悬而未决......),我正在复制我在这里发表的评论作为答案,因为它是解决方案:

我想通了(我现在还在学习 CUDA。)因为错误检查是异步错误,如果您不时不时检查它们,它们可能会出现在奇怪的地方。在我调用 cudppPlan 之前,我的代码导致了错误,但由于我没有检查错误,所以 cudppPlan 报告了错误,就好像它在 cudppPlan 中一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多