2011-12-16 20 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進行排序並重新配置爲更高效的格式。

如果您需要對排序後的矩陣數據做進一步工作,最好創建第二個內核。內核在簡單的任務上運行得最好。