作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的内核中,我需要一个累加器数组。
__kernel myKernel(...)
{
float accum[SIZE] = {};
for(i=0; i<ITER; ++i) {
accum[...] += ...
}
...
}
= {}
会为我初始化数组以填充 0,但我不确定 OpenCL 中是否是这种情况?我需要类似以下的东西,还是浪费周期?
float accum[SIZE];
for(int i=0; i<SIZE; ++i) accum[i] = 0;
最佳答案
OpenCL C 是 ISO/IEC 9899:1999 C 语言规范(又名 C99)的衍生版本。在这两种规范中,是的,= { 0 }
将对数组进行零初始化(注意 0
,空的初始化列表是 not allowed in C )。
在实践中,一些实现也可能在您启动内核之前将设备私有(private)和/或本地内存清除为零,但这不是您可以依赖的行为。
关于opencl - OpenCL 是否支持数组初始化器,包括默认初始化为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27327189/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!