開發平台(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個錯誤 這又是為什麼?