-
公开(公告)号:CN116976430A
公开(公告)日:2023-10-31
申请号:CN202310871880.9
申请日:2023-07-17
Applicant: 南开大学
IPC: G06N3/10
Abstract: 本公开公开了OpenCL PyTorch的实现方法,涉及机器学习技术领域。主要技术方案包括:首先,基于OpenCL标准实现可在OpenCL设备中运算的OpenCL算子库;其中,所述OpenCL算子库用于接收PyTorch框架发送的算子调用信息;其次,建立所述OpenCL算子库与OpenCL核函数库之间的链接;其中,所述OpenCL核函数库包含至少一个用户开发的OpenCL核函数接口或开源OpenCL计算库的核函数接口;最后,基于所述OpenCL算子库,实现PyTorch框架对所述OpenCL核函数库的调用。通过将PyTorch框架的OpenCL算子调用需求进行分解,并基于OpenCL核函数库调用OpenCL设备进行执行计算;PyTorch框架可以利用支持OpenCL标准的设备训练和部署深度学习模型,实现了可支持OpenCL编程标准的完整深度学习框架。
-
公开(公告)号:CN118132086A
公开(公告)日:2024-06-04
申请号:CN202410342345.9
申请日:2024-03-25
Applicant: 南开大学
Abstract: 本发明公开了一种将CUDA代码转为OpenCL代码的方法及系统,涉及人工智能技术领域,该方法包括获取待转换的CUDA代码;采用文件分析器,确定CUDA代码中的源文件和头文件;基于libclang工具,对源文件和头文件进行语法解析,得到CUDA代码的语法树;对于每一语法树,对语法树进行遍历,当识别出语法树中含有特定的token令牌时,基于代码转换规则,对token令牌进行重写,并将重写后的令牌放入语法树,得到重写后的语法树;根据各重写后的语法树,得到OpenCL代码。本发明将CUDA程序转为OpenCL程序的转换规则具体化,通过触发转换规则实现了CUDA代码到OpenCL代码的准确转换。
-