在CUDA上运行JVM

xyb*_*rek 4 java jvm cuda

但是,我已经看到使用Java来访问CUDAapi

  • 是否有任何实现在GPU中运行整个JVM(可能使用CUDA API)?
  • 或者,有任何计划吗?
  • 如果是这样,性能是否足以运行客户端或服务器应用程序?
  • 最重要的是,哪些问题会导致JVM无法在GPU中运行?

我在这里看到的优点是,我可以购买一个体面的NVidia GPU,并且能够在没有太多CPU处理的情况下运行Java应用程序,从而节省CPU用于其他一些用途.

但是,如果这是不可能的,有没有办法强制JVM使用CUDA将处理卸载到GPU而无需重新编译Java应用程序来支持CUDA?我的意思是喜欢添加VM arguments

Pet*_*rey 5

你遇到的主要问题是CUDA设计用于做很多次简单的事情.例如,它通常在每个核心上运行一种方法.您不能让不同的核心运行不同的代码.这并不意味着某些代码无法优化以在CUDA处理器上运行.例如矢量操作,但在GPU上运行整个JVM并不是它的设计目的.

BTW:CUDA处理器不支持IO,这是大多数服务器花费大部分时间的地方.例如,读/写磁盘和网络.