2011-12-16 82 views
0

我正在写一个OpenCL代码来组装一个有限元离散化的稀疏矩阵,我将不胜感激一些关于我可以用来在内核代码中组装这个矩阵的巧妙结构的提示!我的意思是,我需要访问内核中的随机矩阵位置!来自内核的OpenCL稀疏矩阵访问

+0

我对有限元离散化没有太多的了解,但GPGPU.org [http://gpgpu.org/index.php?s=sparse%20matrix&searchbutton=Search]包含了大量关于稀疏矩阵的文章。 – 2011-12-18 17:33:05

回答

0

对大型数据集的随机访问会影响GPU。我会而不是允许所有的内核随机写入一个主表。这样做可能会导致比串行CPU更糟的性能。相反,我可能会给每个内核自己的内存块工作。也许每个人都应该使用具有(行,列,值)元组的小坐标列表来组装部分矩阵。在组装矩阵数据时,每个内核都应该在它自己的内存块上工作,然后我将这些数据返回到CPU进行排序并重新配置为更高效的格式。

如果您需要对排序后的矩阵数据做进一步工作,最好创建第二个内核。内核在简单的任务上运行得最好。