2016-03-03 69 views
0

我跟隨此頁面很多時間,我認爲它是一般編程問題的最佳頁面之一。在OpenCL內核的全局內存中讀取/寫入

嗯,通常我總是試圖爲我的問題找到一個解決方案,但現在我認爲我需要一些社區的幫助,因爲我不知道如何解決我的問題。

我的問題在於OpenCL API。我需要編寫一個在'全局內存'中增加一些值的內核。問題的簡要 說明是:

  • 我有「索引」的大小爲N的一個陣列
  • 我有「價值」的大小N.
  • 我的陣列的陣列'增加'M的大小。
  • 索引數組包含數組'索引'。例如,如果索引數組的第一個值爲3,則'values'的數組 的第一個值將添加到'adds'數組的索引3中。

的問題是,我有N個線程(每個索引/值),該讀/寫在gobal存儲器simultanious並且它們可以在相同的位置讀取/寫入,則最終值是不一致的

我添加了圖像以圖形方式查看問題: https://drive.google.com/file/d/0BzQ4sqg5hAdnMXZlZlIzUFB4QkhQOXZXVjcyS1ZKdXZYTS1j/view?usp=docslist_api

您有什麼想法嗎?

謝謝,最好的問候。

+1

我認爲有M個線程更合適。 –

回答