2016-03-03 71 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个线程更合适。 –

回答