【发布时间】:2013-01-30 19:36:11
【问题描述】:
我已将数据从 CPU 复制到 GPU:
cudaMemcpy(d_signal, h_signal, sizeof(int) *1024, cudaMemcpyHostToDevice);
现在我想检查设备内存中的数据是否正确。是否可以在不启动内核且不显式 GPU-CPU 复制的情况下做到这一点?如果是,如何?
【问题讨论】:
-
这是一个很奇怪的问题。您真的在问“如果 cudaMemcpy API 没有返回错误消息,它真的有效吗?”还是别的什么?
-
@talonmies 你是绝对正确的。实际上,我只是想确保数据已 100% 正确复制。我不想通过从设备显式复制回主机来进行检查,因为我有大量数据。
-
调试器对于这类检查总是一个好主意,为什么不使用一个呢?
-
我还是不明白你为什么认为这是必要的。您有几个 API 调用可以准确地告诉您副本何时完成以及副本执行时没有出现错误。为什么你认为有必要在复制后检查值?
-
如果 memcpy 没有返回错误,但你的程序仍然有问题,你可能希望专注于代码的其他部分,而不是怀疑 mem 传输的正确性。
标签: cuda