[发明专利]一种OCaml函数式语言调用GPU进行算子加速的方法在审
申请号: | 202111359591.8 | 申请日: | 2021-11-17 |
公开(公告)号: | CN114153433A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 陈钢;陈宁 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/50 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 任志艳 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ocaml 函数 语言 调用 gpu 进行 算子 加速 方法 | ||
本发明公开了一种OCaml函数式语言调用GPU进行算子加速的方法。包括:用CUDA代码编写所需算子并生成可供C语言调用的动态链接库;使用可供OCaml函数式语言调用的C函数调用CUDA动态链接库中的CUDA核函数,并生成可供OCaml调用的C动态链接库;OCaml通过调用已经调用CUDA核函数的C函数,并与C动态链接库及其他所需库进行链接,实现OCaml对GPU的调用。本发明从创建并调用动态链接库的角度实现了OCaml函数式语言调用GPU进行算子加速,解决了OCaml面对大量数据的算子计算速度过慢的问题,产生了跨数量级的计算效率提高,同时解决了OCaml调用GPU进行并行计算的问题。
技术领域
本发明属于计算机软件领域,尤其涉及一种OCaml函数式语言调用GPU进行算子加速的方法。
背景技术
随着OCaml函数式语言的快速发展,众多OCaml算子需要的参数数据也变得越来越大,OCaml传统的基于CPU运算方法已经不能满足智能计算的需求,传统的OCaml算子计算是在CPU上进行所需的运算操作,CPU主要是为通用计算设计的,其中含有较少的算术逻辑单元ALU,且CPU的计算目标是并行执行几十个线程,而GPU的目标是要并行执行几千个线程,因此CPU在面对数据较大的算子运算时,往往显的很吃力。而通常OCaml所面对的数据结构通常都是十分庞大,在CPU上的计算时间将十分缓慢,不能满足OCaml智能计算发展的需求。此外,基于OCaml函数式语言的神经网络发展,其含有大量的矩阵运算,对GPU并行计算的需求也是十分迫切,传统的OCaml计算方式并不能满足。
使用并行硬件及并行计算可以为OCaml算子的运算速度带来很大的提升。GPU具有强大的并行运算能力,可以显著提高运算的速度,相比CPU中的运算有着跨数量级的速度提升。因此,基于GPU的OCmal函数式语言算子加速是不可或缺的。
Mathias Bourgoin等作者提出的SPOC技术,它描述了一种OCaml依赖dune编译器在GPU上进行编程的方法,但是该方法复杂度高,直观性差,实现中尚有各种问题需要解决,详细分析如下:
其一,SPOC技术在新的设备上配置十分困难,会遇到一些难以解决甚至解决不了的问题,例如在Windows下的WSL环境中会出现No_source_for_device等致命错误,以致不能使用GPU设备,对于用户来说,此技术的环境配置十分困难,工作量极大。
其二,SPOC技术提供的算子API接口皆为作者团队所写,类型数量有限,针对用户想要对自己的OCaml算子进行GPU加速,尚不能满足,且dune编译复杂度高,难以理解和使用。
为解决上述问题,本发明采用创建和使用动态链接库的角度提供一种OCaml函数式语言调用GPU进行算子加速的方法。简易性、可控性、易于做二次开发等方面是本发明最重要的特点,用户想要使用GPU对自己的OCaml算子进行加速,使用本技术将十分容易。
发明内容
本发明的目的在于提供一种OCaml函数式语言调用GPU进行算子加速的方法,用于OCaml调用GPU进行算子加速,解决了OCaml面对大量数据的算子计算速度过慢的问题,产生了跨数量级的计算效率的提高,同时解决了OCaml调用GPU进行并行计算的问题,为了达到上述目的,本发明的方法包括以下步骤:
步骤1,用CUDA代码编写所需算子并生成可供C语言调用的CUDA动态链接库;
步骤2,使用可供OCaml调用的C函数调用CUDA动态链接库中的CUDA核函数;并将包含此C函数的C文件生成可供OCaml函数式语言调用的C动态链接库;
步骤3,OCaml调用已经调用CUDA核函数的C函数,并与C动态链接库及其他所需库进行链接,实现OCaml对GPU的调用。
进一步的,步骤1中用CUDA代码编写所需算子并生成可供C语言调用的CUDA动态链接库,具体包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111359591.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:控制方法、装置、电子设备及存储介质
- 下一篇:一种大跨径隧道塌体的加固方法