我已经开发了有限元方法的可行解决方案,以使用共轭梯度方法使用GPU和OpenCL解决传热问题。这种方法的主要缺点是对内存的高需求。此外,在图形卡的情况下,内存通常非常有限。我看到两个选择:
- 创建子域并与主机内存交换网格的一部分
- 使用多边方法
我必须考虑特定的体系结构。交换可能非常昂贵。CG方法在GPGPU计算的上下文中很流行,但是我找不到CG与多前沿方法之间的任何比较(对于GPGPU)。能比CG更快的多面方法吗?这是一个普遍的问题,实际上,它仍然取决于实现。
2
您是否使用自己的FEM代码对矩阵进行全局组装?还是使用无矩阵实现?(即矩阵没有明确的形式)
—
艾伦·恩格西格·卡鲁普
您使用的是什么预处理器,域名是什么?使用良好算法的10年台式机将使用a脚的算法击败一系列GPU。
—
杰德·布朗
您使用的是六面体网格还是简单网格?如果存在内存问题,并且您正在使用具有张量乘积基函数的十六进制元素,则在某些情况下,您可以通过仅保存一维运算符并使用无矩阵实现(如Allan所述)来节省内存。
—
杰西·陈