首页 文章

使用Xeon Phi和基于JVM的语言

提问于
浏览
8

是否可以使用基于JVM的语言(如Scala)来使用Xeon Phi?有什么例子吗?

3 回答

  • 1

    它没有得到官方支持,但是,您仍然可以自己构建JVM .

    我用GNU Classpath构建JamVM并稍微修改了libffi版本 . 您也可以尝试使用HotSpot的零汇编程序版本 . 因此,您可以获得极慢的虚拟机 - 即使使用60个线程,它也比我的四核移动i7 CPU慢10倍 . 另一方面,它是测试同时在数十个线程上运行的Java实现的可伸缩性的绝佳机会 .

    另一个想法是使用Aparapi工具 - 将Java字节码的一部分翻译成OpenCL并在Phi上执行 .

  • 5

    根据他们的常见问题解答,还没有对Java的支持:

    http://software.intel.com/en-us/articles/intelr-xeon-phitm-coprocessor-february-developer-webinar-qa-responses

    问:是否有编码的Java选项?答:还没有 .

  • 5

    虽然在Xeon Phi核心上运行Java肯定还有很长的路要走,但在Java程序中相对容易地获得Xeon支持的一种可能方法是使用Aparapi(https://github.com/aparapi/aparapi),这是一个可以交叉编译子集的库在运行时将java字节代码写入OpenCL并将其作为OpenCL内核执行(Xeon Phi支持OpenCL,就像任何现代GPU一样) .

    将现有Java代码转换为Aparapi内核运行是一个非常重要的过程(从内核run()方法调用的代码本身需要基本上无对象 - 字段,参数和本地必须是基元或基元数组) . 但是,如果需要大规模并行化的瓶颈数量很少,那么实现这一目标可能不会是一个巨大的麻烦 .

    这也将使您的项目受益于其他超级计算硬件(如Nvidia Tesla)的大规模并行化 .

    我怀疑在Xeon Phi上运行“任何旧的”Java都不太可能得到支持,即使是这样,Phi上OpenCL的优化仍然会更加优越 .

相关问题