我正在写一个OpenCL代码来从有限元离散化中组装一个稀疏矩阵,我将感谢一些关于一个聪明的结构的技巧,我可以用来在内核代码中组装这个矩阵!我的意思是,我需要访问内核中的一个随机矩阵位置!
发布于 2011-12-17 03:04:19
对大型数据集的随机访问对GPU来说是一项繁重的任务。我不会允许允许所有的内核随机写入一个主表。这样做可能会导致比串行CPU上更差的性能。
相反,我可能会给每个内核分配自己的内存块。也许每个人都应该使用一个带有(行,列,值)元组的小坐标列表来组装矩阵的一部分。在组装矩阵数据时,每个内核应该只处理它自己的内存块,然后我会将这些数据拉回CPU进行排序并重新配置为更有效的格式。
如果您需要在排序后的矩阵数据上做进一步的工作,最好创建第二个内核。内核在简单的任务上运行得最好。
https://stackoverflow.com/questions/8533880
复制相似问题