编译型语言在开发过程中并不少见,比如 C/C++更是大学里就要学到的语言。其采用专门的编译器针对特定平台将某种高级语言源代码一次性“翻译”成可被平台硬件执行的机器指令和操作数,进而将其包装成该平台所能识别的可执行性程序的格式。经过编译生成的可执行性程序即便脱离开发环境,也可以在特定的平台上独立运行。
不过,编译型语言虽然通过运行效率较高,但却有着一个比较麻烦的弱点,那就是其程序由于已经编译成特定平台上的机器码,所以通常无法移植到其他平台上运行。可在当下,随着大数据和智能化浪潮的汹涌,不少企业对于算力的渴望达到新的峰值,从 x86 平台迁移到鲲鹏等新的算力平台上也并不少见,这时编译型语言就变成了名副其实的钉子户,迁移流程会复杂太多。
一般来讲,编译型语言在移植时,必须将源代码复制到新平台上,针对新平台进行修改,至少也需要采用新平台上的编译器重新编译。而基于鲲鹏处理器的打造的计算平台在迁移时则获得了很多针对性的优化,并提供了大量的迁移工具,帮助开发者简化迁移流程。
在迁移时,其编译构建流程大体可以有这几步。首先在在获取源代码之后,选择所需的编译环境,安装编译器 gcc 等;根据源码的编译脚本生成 Makefile 文件,再用 Makefile 编译生成可持续文件;担任如果代码之中有依赖 x86 平台的 SO 库,那么这部分的依赖库是需要重新编译替换的;在编译完成之后进行安装部署,之后进入到实际的系统之中进行测试。
由于编译型语言的特殊性,其在迁移时,还有很多需要注意的点。由于鲲鹏平台和 x86 平台的差异,在 x86 下 -m64 代码的主要功能是将应用程序编译为 64 位,对应到鲲鹏上是用 -mabi=lp64 的编译选项,其需要在脚本中修改;gcc 编译器所自带的 x86 编译选项就是 x86_64,对应到鲲鹏平台上是 aarch64,对编译宏下的代码需要机箱内对应的移植;而 Builtin 函数是编译器自带的函数,需要移植的普通 builtin 函数并不多,大部分需移植的 builtin 函数集中在 SSE intrinsic 函数内;SSE Intrinsic 函数,涉及到向量化预算加速技术,如果有开源工程可以直接应用。
由此可见,编译型语言在迁移时虽然复杂,但却并非无迹可寻。而如果你想探索更多迁移过程中的技术细节,7 月 30 日《鲲鹏展翅 创客天府•鲲鹏应用创新大赛 2020 四川赛区宣讲会》将在线为你揭晓。此次宣讲会中,不仅会有鲲鹏技术专家讲解应用代码迁移过程中的细节问题,还将为各位开发者讲述鲲鹏应用创新大赛的赛题和参赛技巧。
鲲鹏应用创新大赛 2020 在全国开设了 13+1 个赛区,总奖金高达 260 万,四川赛区设置了“金融”、“政府”、 “大数据”、“ARM 原生应用”和“开放命题”5 个赛题,奖金总额也达到了 32 万。如果你想与各路好手同台竞技,探索开发过程中技术奥秘,那么千万要记得在 7 月 30 日关注《鲲鹏展翅 创客天府•鲲鹏应用创新大赛 2020 四川赛区宣讲会》。
直播议程(四川赛区)
14:00~14:05 主持人介绍
14:05~15:35 鲲鹏应用代码迁移指导
15:35~15:50 鲲鹏应用创新大赛介绍
15:50~16:20 鲲鹏应用创新大赛答疑
比赛介绍
鲲鹏展翅 创客天府•鲲鹏应用创新大赛 2020 四川赛区已经开始备战。为贯彻落实成都市鲲鹏产业发展的战略部署,支持四川中小企业数字化转型,匹配鲲鹏产业发展的人才需求,四川鲲鹏生态创新中心与华为技术有限公司成都工业学院面向四川开发者开展鲲鹏应用创新比赛活动,激发创新潜力,培养鲲鹏产业发展所需的基于鲲鹏生态的软件适配、迁移、软件开发、解决方案孵化等能力,加速鲲鹏产业融合型人才培养、加速构建以鲲鹏为底座的覆盖全产业链的千亿级计算产业。
本赛事奖项激励总额 32 万,“金融”、“政府”、 “大数据”、“ARM 原生应用”和“开放命题”5 个赛题,各赛题奖项设置详情如下:
一等奖:4 个团队(每赛题 1 个团队),每团队奖励:3 万现金;
二等奖:4 个团队(每赛题 1 个团队),每团队奖励:2 万现金;
三等奖:4 个团队(每赛题 1 个团队),每团队奖励:1 万现金;
其中“ARM 原生应用”赛题设置一等奖(1 个团队),团队奖励: 2 万现金
此外,针对高校评选最佳实践奖、最佳创新奖、最佳成果奖共 3 个团队(每个奖项 1 个团队),获奖团队成员各奖励一部华为手机 Mate30。
报名方式
目前,本次大赛的报名渠道已经全面开放,所有的有意参赛者均可在 8 月 15 日 18 时前报名并提交作品。如果你对此次比赛还有所疑惑,或者还想进一步了解此次比赛的相关信息,欢迎在 7 月 30 日《鲲鹏展翅 创客天府•鲲鹏应用创新大赛 2020 四川赛区宣讲会》与讲师进行提问和互动,点击下方链接或扫描海报二维码即可报名参与了哦!
https://competition.huaweicloud.com/information/1000041276/introduction
评论