开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
GPGPU-Sim
问题(Question):
目前正在测试dependent kernel
kernel A 负责两个阵列相加存到result array
kernel B 把kernel A的reult + 1
再将结果与CPU运算结果比对
一般的写法是:
1.Memcpy两个阵列的data到device
2.launch kernel A
3.将result复制回host
4.把result传到device
5.launch kernel B
6.将运算结果复制回host
7.比对
但我把第三四步骤省略 比对结果也是正确的
请问是为什么呢?
是因为kernel B需要的data与kernel A的result array内存位置相同?
或是有其他原因?
程式码如下
https://gist.github.com/anonymous/5d8b6c58ce7ecd0407f6595d41fd8a2c
后来我改变他的data_size 例如200(原本是100)
结果前100个正确 后100个错误 这又是为什么?