System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种异构计算平台的程序自动转换编译方法、装置和系统。
技术介绍
1、异构计算平台上的应用程序,其源代码项目既包含借助gpu加速异构计算代码,也包含cpu控制和计算部分代码。其项目工程构建由大量的互相调用的子工程共同组成,一些子工程用于生成库文件,一些子工程用于实现逻辑功能,相互之间的调用关系复杂而严格。若要实现项目源代码从原开发异构计算平台到目标异构计算平台的转换,需要在目标异构计算平台上再重新建立工程。随着异构计算平台技术的不断发展,出现了支持跨不同异构计算平台的异构计算平台编程模型,允许开发人员在不同异构计算平台上创建可移植应用程序,但是需要大量的人工参与,无法实现自动转换编译,效率低,且准确性差。由此可知,如何实现异构计算平台之间程序自动转换编译,提高自动转换编译的准确性和效率,成为亟待解决的技术问题。
技术实现思路
1、本专利技术目的在于,提供一种异构计算平台的程序自动转换编译方法、装置和系统,实现了异构计算平台之间程序自动转换编译,提高了自动转换编译的准确性和效率。
2、根据本专利技术第一方面,提供了一种异构计算平台的程序自动转换编译方法,包括:
3、步骤s1、配置第一异构计算平台到第二异构计算平台的资源转译映射关系;
4、步骤s2、在预设用户目录下创建虚拟混合编译环境,在所述虚拟混合编译环境下创建指向第一资源的软连接,所述第一资源为第一异构计算平台编译所需的资源;
5、步骤s3、改变系统的环境
6、步骤s4、根据第一异构计算平台到第二异构计算平台的资源转译映射关系,将第一资源的对应的软连接指向所述第一资源对应的第二资源,所述第二资源为第二异构计算平台编译所需的资源;
7、步骤s5、将所述makefile文件输入预设的make工具,在所述虚拟混合编译环境中,根据调整后的软连接调用所述第二资源,生成目标文件,所述目标文件为能够在第二异构计算平台运行的可执行文件。
8、根据本专利技术第二方面,提供了一种异构计算平台的程序自动转换编译装置,包括依次相连的cmake虚拟环境构建模块、cmake模块、makefile虚拟环境构建模块、make模块和编译器转译模块:
9、所述cmake虚拟环境构建模块用于配置第一异构计算平台到第二异构计算平台的资源转译映射关系,在预设用户目录下创建虚拟混合编译环境,在所述虚拟混合编译环境下创建指向第一资源的软连接,所述第一资源为第一异构计算平台编译所需的资源,还用于改变系统的环境变量,引导工程构建系统使用所述虚拟混合编译环境;
10、所述cmake模块用于通过软连接调用所述第一资源,生成虚拟混合编译环境下的makefile文件;
11、所述makefile虚拟环境构建模块用于根据第一异构计算平台到第二异构计算平台的资源转译映射关系,将第一资源的对应的软连接指向所述第一资源对应的第二资源,所述第二资源为第二异构计算平台编译所需的资源;
12、所述make模块用于将所述makefile文件输入预设的make工具,在所述虚拟混合编译环境中,根据调整后的软连接调用所述第二资源,生成待处理文件;
13、所述编译器转译模块用于将待处理文件中的编译命令、动态库对应的字符串、静态库对应的字符串、编译工具对应的字符串的格式转换为第二异构计算平台对应的格式,生成所述目标文件。
14、根据本专利技术第三方面,提供了一种异构计算平台的程序自动转换编译系统,包括异构计算平台的程序自动转换编译装置,还包括与所述异构计算平台的程序自动转换编译装置相连接的第一异构计算平台开发模块、第二异构计算平台开发模块、输入装置和输出装置,其中,
15、所述第一异构计算平台开发模块用于配置第一异构计算平台编译所需的第一资源;
16、所述第二异构计算平台开发模块用于配置第二异构计算平台编译所需的第二资源;
17、所述输入装置用于输入一个或多个第一异构计算平台对应的程序源码文件,并传输给所述异构计算平台的程序自动转换编译装置;
18、所述异构计算平台的程序自动转换编译装置通过调用所述第一异构计算平台开发模块、所述第二异构计算平台开发模块将一个或多个第一异构计算平台对应的程序源码文件转换为对应的目标文件,所述目标文件为能够在第二异构计算平台运行的可执行文件。
19、本专利技术与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本专利技术提供的一种异构计算平台的程序自动转换编译方法、装置和系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
20、本专利技术实现了异构计算平台之间程序自动转换编译,不仅从源代码层面完成了自动转换,还从项目工程构建层面完成了自动转换,降低了跨异构计算平台的软件迁移成本,提高了自动转换编译的准确性和效率。
本文档来自技高网...【技术保护点】
1.一种异构计算平台的程序自动转换编译方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求1所述的方法,其特征在于,
9.一种异构计算平台的程序自动转换编译装置,包括依次相连的CMake虚拟环境构建模块、CMake模块、Makefile虚拟环境构建模块、Make模块和编译器转译模块:
10.一种异构计算平台的程序自动转换编译系统,包括权利要求9所述的异构计算平台的程序自动转换编译装置,还包括与所述异构计算平台的程序自动转换编译装置相连接的第一异构计算平台开发模块、第二异构计算平台开发模块、输入装置和输出装置,其中,
【技术特征摘要】
1.一种异构计算平台的程序自动转换编译方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求1所述的方法,...
【专利技术属性】
技术研发人员:严德政,陈磊,杨建,
申请(专利权)人:沐曦灵智科技杭州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。