可以在多台计算机上使用OpenCL吗?

时间:2012-12-20 10:25:33

标签: parallel-processing cluster-computing opencl distributed-computing grid-computing

据我所知,答案是否定的。 OpenCL专为多核系统而设计。

但是,有没有办法在多台计算机上使用OpenCL(每台计算机都是多核系统)?如果没有,是否需要任何其他工具,框架?

我读了一些关于分布式计算,集群计算,网格计算的文章......但我找不到满意的答案

任何想法都将受到赞赏

谢谢:)

5 个答案:

答案 0 :(得分:8)

为此目的有两个框架:VirtualCLCLara。这两个软件包使您可以将远程计算机作为本地设备透明地工作。遗憾的是,VirtualCL仅作为预编译的二进制文件提供,没有源代码,CLara不再被开发。

答案 1 :(得分:4)

SnuCL使用MPI和OpenCL通过OpenCL API透明地使用集群。它还添加了一些OpenCL扩展来有效地处理内存对象。

它是开源的。见http://aces.snu.ac.kr/Center_for_Manycore_Programming/SnuCL.htmlhttp://tbex.twbbs.org/~tbex/pad/SunCL.pdf

答案 2 :(得分:3)

上面没有提到另外一个解决方案:dOpenCL

“dOpenCL(分布式OpenCL)是一种用加速器编程分布式异构系统的新颖统一方法。它将分布式系统的节点透明地集成到一个OpenCL平台中。因此,dOpenCL允许用户运行未修改的现有OpenCL应用程序在异构的分布式环境中,它扩展了OpenCL编程模型,以处理分布式系统的各个节点。“

答案 3 :(得分:1)

我使用VirtualCL构建了一个GPU集群,其中3个AMD GPU作为计算节点,我的ubuntu intel桌面作为代理节点运行。我能够启动代理和计算节点。

答案 4 :(得分:1)

除了其他海报已经提到的各种选项之外,还有两个您可能感兴趣的开源项目:

  • ocland(处于测试阶段):提供服务器应用程序和ICD实现,客户端可以使用它们以透明的方式利用支持OpenCL的本地和远程设备。许可证是GPLv3。

  • Brown deer Technnology的
  • COPRTHR SDK(目前版本1.6):此SDK为x86_64,ARM,Epiphany和Intel MIC提供开源(GPLv3)OpenCL实现,包括“计算层远程过程调用” “实施。这包括支持rpc(libclrpc)和服务器应用程序(clrpcd)的客户端OpenCL实现。该网站没有提及太多,但documentation包含有关此CLRPC实施的部分。