TensorFlow中OpenCL核函数的实现与优化 |
| |
引用本文: | 陈锐,孙羽菲,程大果,郭强,陈禹乔,石昌青,隋轶丞,张宇哲,张玉志.TensorFlow中OpenCL核函数的实现与优化[J].计算机学报,2022(11):2456-2474. |
| |
作者姓名: | 陈锐 孙羽菲 程大果 郭强 陈禹乔 石昌青 隋轶丞 张宇哲 张玉志 |
| |
作者单位: | 南开大学软件学院 |
| |
基金项目: | 国家重点研发计划项目(2021YFB0300104)资助~~; |
| |
摘 要: | 目前,异构计算技术已经被广泛应用于人工智能领域,旨在利用以GPGPU为主的并行加速设备和CPU协同工作,更高效地完成大规模的并行计算.深度学习模型的构建、训练以及推理离不开机器学习框架的支持,但目前主流的机器学习框架基本仅支持CUDA异构编程模型.CUDA的私有性和封闭性导致机器学习框架严重依赖于英伟达GPGPU.众多其它厂商的硬件加速器,尤其是国产加速器难以充分发挥其在深度学习中的潜力.使用开源统一异构编程标准OpenCL代替私有的CUDA编程模型,是打破这一技术壁垒的有效方法.本文提出了TensorFlow中CUDA到OpenCL核函数的代码转换方案,总结整理了核函数转换的基本规则、典型难点问题的解决方法以及OpenCL核函数的性能优化等关键技术.本文首次完成了TensorFlow 2.2版本中135个OpenCL核函数的实现.经一系列测试验证,转换生成的135个OpenCL核函数能够在多种支持OpenCL标准的加速器上正确运行,优化后,近八成的OpenCL核函数在英伟达Tesla V100S上达到了与CUDA核函数相当的计算性能.测试结果验证了本文提出的CUDA到OpenCL核函...
|
关 键 词: | 硬件加速器 异构编程环境 CUDA OpenCL TensorFlow |
|
|