关于Cuda,大家都并不陌生,使用Cuda可以在N卡上运行程序,
但Cuda和Java的混合使用一直都是个麻烦事,毕竟两者本来都不该有交集,但GPU的高并发能力强大无比,CSDN上基本都是Java通过JNI调用CUDA程序,但麻烦无比,所以为何不直接使用Jcuda来简化开发流程呢?
这几天在用Jcuda,看CSDN也没多少关于Jcuda的文章,属实遗憾,所以想填补一下这方面的空白
JCuda目前提供以下功能:
- 支持 CUDA 驱动程序 API
- 可以在驱动程序 API 中加载自己的模块
- 支持 CUDA 运行时 API
- 不同基于 CUDA 的库之间的完全互操作性,即
- JCublas - CUBLAS的Java绑定,NVIDIA CUDA BLAS 库
- JCufft - CUBLAS的Java绑定,NVIDIA CUDA FFT 库
- JCudpp - CUDA Data Parallel Primitives Library 的 Java 绑定
- JCurand - 用于 CURAND 的 Java 绑定,NVIDIA CUDA 随机数生成器
- JCusparse - CUSPARSE 的 Java 绑定,NVIDIA CUDA 稀疏矩阵库
- JCusolver - CUSOLVER 的 Java 绑定,NVIDIA CUDA 求解器库
- JNvgraph - 用于nvGRAPH的Java绑定,NVIDIA CUDA图形库
- 从本机库的文档中提取全面的 API 文档
- OpenGL 互操作性
- 方便的错误处理
当然使用Jcuda需要先安装Cuda,我建议可以看这篇来安装
CUDA安装教程(超详细)
对于Maven项目,可以直接在pom.xml中将jcuda添加进来
注意:JCuda的版本需要和Cuda版本匹配,否则会出问题!!!
我使用的是Maven项目
结果:
成功
参考
Github上的示例代码:Jcuda的示例代码
Jcuda官网Jcuda
下一篇将会讲述使用JCuda中的JCurand
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/6077.html