但是,我已经看到使用Java来访问CUDAapi
我在这里看到的优点是,我可以购买一个体面的NVidia GPU,并且能够在没有太多CPU处理的情况下运行Java应用程序,从而节省CPU用于其他一些用途.
但是,如果这是不可能的,有没有办法强制JVM使用CUDA将处理卸载到GPU而无需重新编译Java应用程序来支持CUDA?我的意思是喜欢添加VM arguments?
你遇到的主要问题是CUDA设计用于做很多次简单的事情.例如,它通常在每个核心上运行一种方法.您不能让不同的核心运行不同的代码.这并不意味着某些代码无法优化以在CUDA处理器上运行.例如矢量操作,但在GPU上运行整个JVM并不是它的设计目的.
BTW:CUDA处理器不支持IO,这是大多数服务器花费大部分时间的地方.例如,读/写磁盘和网络.