专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

怎样用显卡进行程序计算_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 1:12:52       共计:3557 浏览

怎样用显卡进行程序计算?

gpu跑的是对应的gpu指令,并不是什么语言,cpu也一样。

所有语言一样是要被编译成对应平台的机器指令。或者用解析器执行时转换成机器指令。python做深度学习,要做gpu加速,底层还是要通过编译器转换成gpu指令。所用的工具一般是CUDA,Opencl,DirectCompute.

使用CUDA就是把C/C++代码编译成GPU的指令。再配合其他API调用代码,只能用在Nvidia的GPU。

OpenCL跟DirectCompute是不分显卡的。只要显卡硬件支持通用计算,实现了该驱动。CL的kernel是一种类C的语言。最终会被编译成GPU指令。至于C++ Java也可以做的,也只是调用编译好的Kernel。往里面拷贝数据,穿参数。让GPU计算完后,CPU再取回数据。

GPU计算一般是面向大型的统一的数据,所谓统一就是数据类型都是一样的。就是固定类型,大小的数组。因为是SIMD/SIMT,适合做简单的计算。对每个数据单元的处理是一样的,不适合有复杂条件跳转的逻辑。所以GPU加速使用场景比较有限。

另外的SIMD指令加速,对于小型的数据,可以优先考虑。因为GPU加速,可能需要内存拷贝,使用开销相对较大。用SIMD的话,直接就是用CPU的特殊指令MMX SSE AVX加速。Java应该会有对应的包,C++用Intrinsic头文件。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:鸡蛋灌饼怎么做_java | ·下一条:char占的字节数_java

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有