【技术实现步骤摘要】
代码转换方法、装置、设备以及存储介质
[0001]本申请涉及计算机
,尤其涉及一种代码转换方法、装置、设备以及存储介质。
技术介绍
[0002]在现代高性能计算机中,以异构加速器为主要计算单元的高性能计算机体系结构逐渐成为主要结构,异构加速器可以有效提供高浮点计算性能,功耗还较低,图形处理单元(Graphics Processing Unit,GPU)为一种异构加速器。为了使用具有结构差异的异构加速器,目前业界提出一种可在CUDA和其它异构加速器上运行的可迁移异构并行编程模型(Heterogeneous
‑
Compute Interface for Portability,HIP),异构并行编程模型可以显示或隐式的对异构加速器进行控制,如运行计算任务或进行与主机端的数据拷贝等,HIP仅提供C/C++语法和接口支持。其中CUDA为一种可以使用NVIDIA GPU进行通用计算的异构并行编程模型。
[0003]公式翻译(Formula Translation,Fortran)语言是科学计算领域所使用的主要语言,而科学计算一直是使用高性能计算技术的主要领域,在一些科学计算领域,如大气和地质等,最早期的一些科学计算程序通常是使用Fortran语言开发的,为实现可以将这些科学计算程序运行在NVIDIA GPU上,需要使用Fortran语言按照CUDA的编写要求对科学计算程序重新编写,得到异构并行程序(简称CUDA Fortran代码)。由于HIP仅提供C/C++语法和接口支持,若要实现可以将CUD ...
【技术保护点】
【技术特征摘要】
1.一种代码转换方法,其特征在于,包括:对待转换代码中的CUDA Fortran语言的核函数进行转码,得到头文件和包括CUDA C语言的核函数的源文件,所述待转换代码包括主代码和所述CUDA Fortran语言的核函数,所述主代码包括第一代码和第二代码,所述第二代码包括用于调用所述CUDA Fortran语言的核函数的调用代码;根据所述源文件和所述头文件构建封装函数,所述封装函数用于调用所述CUDA C语言的核函数;修改所述第二代码,得到可迁移异构并行编程模型HIP可兼容的第三代码,所述第三代码包括用于调用所述封装函数的代码;根据修改后的主代码、所述源文件、所述头文件和所述封装函数,得到转换后的代码,所述修改后的主代码包括所述第一代码和所述第三代码。2.根据权利要求1所述的方法,其特征在于,所述第二代码还包括运行时系统接口的调用代码和引用模块,所述修改所述第二代码,得到可迁移异构并行编程模型HIP可兼容的第三代码,包括:将所述运行时系统接口的调用代码修改为所述HIP可兼容的运行时系统接口的调用代码;将所述引用模块修改为所述HIP引用模块;将所述调用代码修改为所述用于调用所述封装函数的代码;根据所述HIP可兼容的运行时系统接口的调用代码、所述HIP引用模块和所述用于调用所述封装函数的代码,得到所述第三代码。3.根据权利要求1所述的方法,其特征在于,所述封装函数包括C语言的核函数封装模块和Fortran语言的核函数调用模块,所述C语言的核函数封装模块用于进行对所述CUDA C语言的核函数的调用过程且对所述调用过程进行封装,所述Fortran语言的核函数调用模块用于构建Fortran接口并调用所述C语言的核函数封装模块所提供的函数。4.根据权利要求3所述的方法,其特征在于,所述根据所述源文件和所述头文件构建封装函数,包括:根据所述源文件和所述头文件构建所述C语言的核函数封装模块;根据所述C语言的核函数封装模块构建所述Fortran语言的核函数调用模块。5.根据权利要求4所述的方法,其特征在于,所述根据所述源文件和所述头文件构建所述C语言的核函数封装模块,包括:根据所述头文件中的核函数声明从所述CUDA C语言的核函数中提取核函数参数;根据所述核函数参数的结构,构建所述C语言的核函数封装模块的参数声明,所述C语言的核函数封装模块的参数声明包括核函数运行参数和所述核函数参数;根据所述C语言的核函数封装模块的参数声明,构建所述第二调用代码,所述第二调用代码的参数与所述C语言的核函数封装模块的参数声明包括的参数相同;将所述源文件的代码复制到所述头文件中得到所述目标头文件;根据预设的所述HIP对应的头文件、所述目标头文件、所述C语言的核函数封装模块的参数声明和所述第二调用代码,得到所述C语言的核函数封装模块。6.根据权利要求5所述的方法,其特征在于,所述根据所述C语言的核函数封装模块构
建所述Fortran语言的核函数调用模块,包括:根据所述C语言的核函数封装模块的参数声明,构建所述第一调用代码,所述第一调用代码的参数与所述C语言的核函数封装模块的参数声明中去除矩阵维度描述信息参数后的参数相同;根据第一调用代...
【专利技术属性】
技术研发人员:肖熠,霍志坤,李志功,
申请(专利权)人:曙光信息产业北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。