为什么OpenCL在cpp中使用0xdeadbeef?

时间:2015-05-20 13:44:09

标签: c++ opencl

在这个HandsOnOpenCL example中,他们使用类似下面的内容来声明向量。

std::vector<float> h_a(LENGTH);                // a vector 
std::vector<float> h_b(LENGTH);                // b vector  
std::vector<float> h_c (LENGTH, 0xdeadbeef);   // c vector (result)

唯一使用0xdeadbeef的是结果向量。但我不明白为什么。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

OpenCL一般不会将此值用于任何事情。这个使用OpenCL的特定示例使用0xdeadbeef初始化一些向量。它这样做是为了您可以使用这个众所周知的值来验证计算结果。

每当您看到此值时,它肯定会用于调试或验证目的。如果在执行程序期间没有更改该值,那么您肯定知道出现了问题,并且有一个错误需要修复。