人工智能技术迎来了飞速发展,已经广泛应用到医疗健康、工业制造、金融科技、自动驾驶等多个领域,成为推动社会进步和经济增长的重要力量。然而,人工智能的底层计算生态,却一直由英伟达等少数公司垄断。英伟达凭借其高性能的GPU芯片和闭源的CUDA软件生态,长期占据着智能计算领域的主要市场。这种局面导致国内的人工智能产业在计算生态上受制于人,面临着被“卡脖子”的困境。
近年来,南开大学软件学院张玉志教授团队致力于打破CUDA生态壁垒、助力国产智算生态的快速发展,团队先后承担并完成了多项国家重点研发计划课题,其中,着重实现了CUDA到统一异构编程标准OpenCL的自动转换框架。该自动转换框架能够以85%-95%的自动化率完成CUDA程序到OpenCL的源码转换,提供在非英伟达硬件平台上可靠、高效的运行时支撑。针对专有的CUDA编程模型,该框架提供了通用的底层编程接口库,能够直接隐式地代替原CUDA编程接口,有效解决了代码的硬件依赖问题;对于复杂的CUDA内存模型,该框架设计了加速器内存地址映射机制,解决了原CUDA程序在非英伟达GPU芯片上无法正确寻址的问题;在源码转换方面,该框架抽象了丰富的转换规则,在支持大规模CUDA应用程序转换的同时,大幅提高了自动化水平。该框架在TensorFlow、PyTorch等超大体量的CUDA代码自动转换上得到了有效验证,并在新一代国产超算平台上实现了正确的模型训练和推理验证。该框架可应用于各种基于CUDA的计算任务程序的转换,涵盖智能制造、工业互联网等多种场景,为保障人工智能技术自主可控提供了新的思路和技术途径。
相关成果近期发表在TACO(https://dl.acm.org/doi/10.1145/3718987),博士生石昌青是文章的第一作者,孙羽菲老师和陈锐老师是文章的共同通讯.作者。

图1:多维度的自动转换框架