我已经实现了Cholesky Factorization,使用ATI Stream SDK在GPU上解决大型线性方程。现在我想利用越来越多的GPU的计算能力,我想在多个GPU上运行这个代码。
目前我安装了One Machine和One GPU,并且cholesky factorization正常运行。 我想为N机器做这件事并且所有人都安装了一个GPU。所以建议我该怎么办。
答案 0 :(得分:2)
首先,您必须意识到这种方法会为节点之间的任何通信引入三个级别的延迟:
良好的第一步是做一些包络计算,以确定通过在多台机器之间分割问题而获得的速度是否会超过您引入的延迟。
一旦您确定该方法是您想要遵循的方法,那么您需要正确实施此方法。请注意,目前,NVIDIA的CUDA或OpenCL库将是您的最佳选择,因为它们允许您访问GPU进行计算而无需将其与X会话相结合。一旦ATI的OpenCL实现支持GPU,那么这也应该是一个可行的选择。
由于您已经有了可用的GPU实现,因此以下是您必须遵循的基本步骤:
答案 1 :(得分:0)
这是一个非常专业的问题。建议您查看Stream developer resources和Stream Developer Forums。
答案 2 :(得分:0)
我向我的同事展示了这个Q,他知道这些事情。 他建议你使用ScaLAPACK。