一种将CUDA代码转为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代码的准确转换。

    OpenCL TensorFlow的实现方法及装置、电子设备和存储介质

    公开(公告)号:CN115268859A

    公开(公告)日:2022-11-01

    申请号:CN202210700376.8

    申请日:2022-06-20

    Applicant: 南开大学

    Abstract: 本公开提供一种OpenCL TensorFlow的实现方法及装置、电子设备和存储介质。基于OpenCL编程标准,实现TensorFlow设备层的OpenCL Device支持;参照TensorFlow中的预设kernel的计算功能,基于OpenCL编程标准实现对应计算功能的OpenCL kernel和OpenCL算子;基于OpenCL编程标准,实现OpenCLElement‑wise算子库;将任务所需的计算加速库,进行OpenCL标准的适配;利用第一OpenCL计算加速库的API接口实现集成调用;实现StreamExecutor对OpenCL的支持,利用StreamExecutor的OpenCL后端实现对第二OpenCL计算加速库的集成调用。本发明实现了OpenCL版本的TensorFlow框架,从而实现TensorFlow框架对不同厂商的多类型异构设备的支持。

    OpenCL DNN库的集成方法及装置、系统和电子设备

    公开(公告)号:CN115268857A

    公开(公告)日:2022-11-01

    申请号:CN202210698399.X

    申请日:2022-06-20

    Applicant: 南开大学

    Abstract: 本公开公开了OpenCLDNN库的集成方法及装置、系统和电子设备,具体涉及人工智能技术领域,在StreamExecutor中实现OpenCL Platform,并注册到TensorFlow框架中;所述OpenCL Platform为根据指令进行创建、指定对应的设备Platform;在StreamExecutor中实现OpenCLExecutor,并注册到TensorFlow框架中;在StreamExecutor中的LibrarySupport层完成OpenCL DNN的注册和接入;在TensorFlow框架中将OpenCL DNN库中对应的算子与OpenCL设备绑定并进行注册;实现了OpenCL DNN库在TensorFlow框架中的集成,使得TensorFlow框架在OpenCL硬件设备上运行时可以对深度神经网络常用的算子进行计算加速。

    OpenCL DNN库的实现方法、装置、电子设备及存储介质

    公开(公告)号:CN115268858A

    公开(公告)日:2022-11-01

    申请号:CN202210698403.2

    申请日:2022-06-20

    Applicant: 南开大学

    Abstract: 本申请提供了一种OpenCL DNN库的实现方法、装置、电子设备及存储介质,涉及机器学习技术领域,主要技术方案包括:首先通过对预设深度神经网络库的重构和修改,实现通用OpenCL DNN库,对所述OpenCL DNN库中的OpenCL核函数对应的API接口进行封装,以便通过所述API接口调用所述核函数。与相关技术的封闭性相比,此方法通过重构预设深度神经网络库中OpenCL目标核函数与接口函数,完成了预设深度神经网络库的通用化修改,实现了OpenCLDNN库在OpenCL硬件设备上使用和执行的通用性。

Patent Agency Ranking