为什么OpenCL在cpp中使用0xdeadbeef ?
Why is OpenCL in cpp using 0xdeadbeef?
在这个HandsOnOpenCL示例中,他们使用了如下的东西来声明向量:
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的是结果向量。但我不知道为什么。任何想法吗?
OpenCL通常不使用此值。这个使用OpenCL的特殊示例使用0xdeadbeef
来初始化一些向量。它这样做是为了让您可以用这个众所周知的值验证计算结果。
无论何时看到这个值,它肯定是用于调试或验证目的。如果该值在程序执行期间没有改变,那么您就可以确定出了问题,并且有一个bug需要修复。
相关文章:
- 使用std::vector的OpenCL矩阵乘法
- OpenCL 内核参数中的字符***?
- 在 NVIDIA GEFORCE GTX 1050 上下载适用于 Windows 10 的 openCL 1.2
- OpenCL 是否支持向量作为内核参数?
- 向量加法代码 OpenCL 返回 clCreateKernel 错误 -46
- 提高 OpenCL 的性能
- openCL 内核返回垃圾值,尽管没有错误
- OpenCL 内核计时测量 0 秒或导致 SIGABRT
- 0xc000007b Windows 上的 OpenCL 库的加载时间错误
- OpenCL 在 NVIDIA 和 Intel GPU 上启动内核时CL_INVALID_COMMAND_QUEUE
- OpenCL 代码卡在写入输出缓冲区上
- 将 C++ 库包含在 OpenCL 内核中?
- 如何在 OpenCL 中将小写转换为大写,反之亦然
- OpenCL 错误类在主机C++给出错误
- Zedboard zynq-7000 Opencl 浮点数从类型 'double*' 强制转换为类型 'double' 无效
- OPENCL 警告:不兼容的指针类型将'float __global[16]'传递给类型为 '__global float4 的参数 *
- 使用 NVIDIA GPU 在 Cygwin 中链接 OpenCL 库时遇到问题
- 在 OpenCL 库中找不到 cl::Error 类
- 在 OpenCL 内核中实现半精度浮点数据类型
- 为什么OpenCL在cpp中使用0xdeadbeef ?