-
公开(公告)号: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编程标准的完整深度学习框架。
-
公开(公告)号:CN115291844A
公开(公告)日:2022-11-04
申请号:CN202210700352.2
申请日:2022-06-20
Applicant: 南开大学
Abstract: 本公开提供一种基于OpenCL的Element‑Wi se算子实现的方法、装置、电子设备和存储介质。基于Element‑Wi se算子的运算符共性,生成通用的两个算子类;通过继承方式,分别执行两个算子类中计算功能的封装;基于OpenCL标准,将所述Element‑Wise算子逐个实现底层OpenCLkernel;将所述底层OpenCLkernel的设备端代码和功能进行封装。基于OpenCL标准的Element‑Wi se算子的实现与封装,实现可适用于多种深度学习框架的OpenCL版本Element‑Wise算子,支持深度学习模型中常用的Element‑Wise相关运算。能够实现基于OpenCL编程标准的Element‑Wise算子库。
-
公开(公告)号:CN115268858A
公开(公告)日:2022-11-01
申请号:CN202210698403.2
申请日:2022-06-20
Applicant: 南开大学
Abstract: 本申请提供了一种OpenCL DNN库的实现方法、装置、电子设备及存储介质,涉及机器学习技术领域,主要技术方案包括:首先通过对预设深度神经网络库的重构和修改,实现通用OpenCL DNN库,对所述OpenCL DNN库中的OpenCL核函数对应的API接口进行封装,以便通过所述API接口调用所述核函数。与相关技术的封闭性相比,此方法通过重构预设深度神经网络库中OpenCL目标核函数与接口函数,完成了预设深度神经网络库的通用化修改,实现了OpenCLDNN库在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代码的准确转换。
-
公开(公告)号: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框架对不同厂商的多类型异构设备的支持。
-
公开(公告)号:CN117608797A
公开(公告)日:2024-02-27
申请号:CN202311650471.2
申请日:2023-12-05
Applicant: 南开大学
IPC: G06F9/48 , G06N3/0464 , G06F9/445 , G06F12/0811
Abstract: 本发明公开一种PyTorch框架中加速库的高效调用方法及装置,涉及加速库高效调用技术领域,在绑定句柄时,预先基于单例模式创建句柄绑定类,仅在第一次绑定时生成句柄实例,后续则直接取出句柄实例,在计算显存空间时,创建第一高速缓存Cache类,仅在第一次计算时计算卷积核参数类的显存空间,后续则直接取出卷积核参数类的显存空间,在选取卷积算法时,创建第二高速缓存Cache类,仅在第一次选取时选取卷积核参数类的卷积算法,后续则直接取出卷积核参数类的卷积算法,能够在支持OpenCL的计算设备上,实现PyTorch框架中加速库的高效调用,有利于将PyTorch框架转码到支持OpenCL的计算设备上。
-
公开(公告)号:CN116955214A
公开(公告)日:2023-10-27
申请号:CN202310875847.3
申请日:2023-07-17
Applicant: 南开大学
Abstract: 本公开公开了OpenCL设备及其内存的管理方法,涉及信息技术领域,基于内存管理模块与OpenCL设备上的内存地址之间的索引信息获取内存地址;通过内存地址索引OpenCL设备上内存地址对应的存储区;基于存储内存地址的存储张量对存储区进行调用,存储张量为预设深度学习框架中的数据存储单位;基于预设深度学习框架对存储张量进行生命周期机制的管理,以对存储区进行生命周期机制的管理。与相关技术相比,预设深度学习框架使用内存管理模块获取内存地址,基于内存地址与存储张量之间的映射关系,实现预设深度学习框架对存储区的间接管理,且根据获取内存地址的预设深度学习框架种类的不同,实现不同种类的深度学习框架对存储区的管理。
-
公开(公告)号:CN115268856A
公开(公告)日:2022-11-01
申请号:CN202210698398.5
申请日:2022-06-20
Applicant: 南开大学
Abstract: 本公开公开了OpenCL CUB库的实现方法及装置、电子设备和存储介质,涉及人工智能技术领域,基于OpenCL编程标准,设计CUB库相关算法,并且对于CUB库的封装、调用、编译方面进行重新设计,实现了基于OpenCL标准的CUB库,可为OpenCL版本深度学习框架和OpenCL应用程序开发提供高效支持。
-
-
-
-
-
-
-