数据与计算发展前沿 ›› 2022, Vol. 4 ›› Issue (3): 19-29.
CSTR: 32002.14.jfdc.CN10-1649/TP.2022.03.002
doi: 10.11871/jfdc.issn.2096-742X.2022.03.002
隋轶丞1(),石昌青1(),孙羽菲1,2,*(),张玉志1,2(),陈禹乔1(),张宇哲1()
SUI Yicheng1(),SHI Changqing1(),SUN Yufei1,2,*(),ZHANG Yuzhi1,2(),CHEN Yuqiao1(),ZHANG Yuzhe1()
摘要:
【目的】深度学习模型以较强的建模性能和优秀的多场景适应能力被广泛应用于各类典型人工智能领域。目前通常采用异构并行计算技术满足深度学习模型的算力需求,然而目前深度学习框架普遍使用CUDA或ROCm等编程模型,仅能支持特定厂商设备;对于通用异构计算设备,需要通过OpenCL编程标准实现支持,因此我们着力于实现TensorFlow框架的OpenCL版本。【方法】本文对TensorFlow框架中主要基于Eigen库提供的接口实现的Element-Wise算子进行代码分析,拆解对应结构体和类的封装方式,并基于OpenCL的编程标准对Element-Wise算子进行实现和封装,确保了代码的规范性和可扩展性。【结果】本文以CUDA算子为基准,对OpenCL的Element-Wise算子进行测试和对比,实验结果分别从正确性和计算效率两方面验证了本文OpenCL版本算子实现的可行性。【结论】作为实现OpenCL版本的TensorFlow框架这一工作的重要组成部分,本文成功实现了TensorFlow框架中Element-Wise算子的OpenCL版本,并经过实验验证了本文实现的算子的计算准确性和计算效率。