最终,我决定将代码迁出x86架构!
1 从大型机到 x86 架构,计算的下一个拐点在哪?
- 多核,性能提升 20%,云应用支持度更好,更灵活;
- 支持 8 个 DDR 通道,传统 CPU 仅 6 个,吞吐率提升 25%;
- SOC 芯片,一颗芯片四合一,包含 CPU、南桥、网卡和 SAS 控制器,效能提升 30%;
- 集成压缩、加密、重删等硬件加速引擎的处理器,大大提升应用的性能,释放更多 CPU 算力。
2 跨平台软件迁移实践

实现 90% 的 C、C++ 代码自动迁移

- 软件工程构建文件中包含 -march 与 -mtune 编译参数,如果提示参数不兼容,则需要调整,可能兼容的调整后参数为:-march=ARMv8.1-a -tune=tsv110
- 编译时遇到找不到函数、缺少库文件等错误,安装对应的鲲鹏平台兼容的依赖库,安装方法同 x86 服务器
- 开源项目库不支持 ARM 架构,这种情况较少,一般发生在较旧的项目代码;解决方法包括:修改代码,寻求替代组件等
- 编译时提示代码错误,可能需要根据平台差异修改部分代码,例如平台类型相关宏定义
- 汇编程序和 C/C++ 源代码中内联汇编需要重写,ARM 和 x86 架构指令集不兼容。

- 扫描工具:Dependency Advisor,检查用户软件资源包二进制文件,并评估可移植性;检查指定的用户软件安装路径下的二进制文件,并评估可移植性;检查用户软件 C/C++ 源码、软件构建工程文件,并评估可移植性;向用户提供软件移植报告,提供移植工作量评估;支持命令行方式和 Web 两种工作模式。
- 移植工具:Porting Advisor,检查用户软件 C/C++ 软件构建工程文件,并提供修改建议;检查用户软件 C/C++ 源码,并提供修改建议;检查用户软件中 x86 汇编代码,并提供修改建议;支持命令行和 Web 两种访问方式;提供一键式移植软件到鲲鹏平台;支持用户 RPM、DEB 软件包重构。
- 性能优化工具:Tuning Kit,支持安全可靠的升级回退功能;支持系统性能数据采集和分析,包括:CPU、内存、磁盘 IO、网络 IO,根据现有积累的经验,对已经明确的指标给出基准参考值和优化建议;支持 Java 程序性能分析;支持和 Porting & Dependency Advisor 同时部署在同一台机器。
- 加速库:从底层算力进一步提升应用软件性能,glibc 基础库目前已经在鲲鹏开源社区开源,优化了 16 个最常用的接口,相当于 Intel 优化范围的 10%;HMPP 适配接口数 501 个,占 IPP 信号库接口的 38.5%,占 IPP 库总接口的 11%,对标 Intel IPP 完成功能测试。


3 移植完成,一切才刚刚开始

- 高校教研扶持:面向高校,提供 1 亿人民币的扶持金额,包括人才培养,云资源及样机支持,同时华为与教育部签署 3 年协议投入 10 亿人民币,共同推进人才的培养。
- 初创企业及开发人员扶持:面向初创企业及个体开发人员,以云资源及线下活动的方式发放 1 亿人民币的补助,每家初创公司最高可获得 75 万人民币的云券。
- 合作伙伴发展扶持:面向合作伙伴,提供 6 亿人民币的扶持总额,其中 3 亿人民币一次性研发费用补贴,3 亿人民币的云资源。

最终,我决定将代码迁出x86架构!的更多相关文章
- ARM和X86架构
重温下CPU是什么 中央处理单元(CPU)主要由运算器.控制器.寄存器三部分组成.运算器起着运算的作用,控制器负责发出CPU每条指令所需要的信息,寄存器保存运算或者指令的一些临时文件以保证更高的速度. ...
- Linux x86架构下ACPI PNP Hardware ID的识别机制
转:https://blog.csdn.net/morixinguan/article/details/79343578 关于Hardware ID的用途,在前面已经大致的解释了它的用途,以及它和AC ...
- x86架构的android手机兼容性问题
x86架构的android手机兼容性问题 http://www.cnblogs.com/guoxiaoqian/p/3984934.html 自从CES2012上Intel发布了针对移动市场的Medf ...
- 基于x86架构的内核Demo的详细开发文档
http://hurlex.0xffffff.org/ 这里是hurlex这个基于x86架构的内核Demo的详细开发文档, 包含PDF文档和生成PDF的XeLaTex源码和文档每章节的阶段代码. 你可 ...
- X86架构下Linux启动过程分析
1.X86架构下的从开机到Start_kernel启动的整体过程 这个过程简要概述为: 开机-->BIOS-->GRUB/LILO-->Linux Kernel 其执行的流程图和重要 ...
- X86架构CPU常识(主频,外频,FSB,cpu位和字长,倍频系数,缓存,CPU扩展指令集,CPU内核和I/O工作电压,制造工艺,指令集,超流水线与超标量)
1.主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度. CPU的主频=外频×倍频系数.很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差. ...
- x86架构手机跑安卓好吗?(脑补)
华硕低价位手机ZenFone一推出就掀起市场话题,许多人也对ZenFone所采用的Intel Atom处理器有所意见,深怕其相容性问题无法正确执行应用程式App,这究竟是怎么回事呢? Intel近几年 ...
- X86 架构和 ARM 架构
1.关于x86架构 X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家 ...
- ARM架构和X86架构对比
转载地址 我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性.合理的比价分析. 一.性能: X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得 ...
- X86架构
在接触BIOS的时候,都需要对PC架构有一定的认知.目前的PC架构绝大多数都是Intel的X86架构,貌似也是因为INTEL的这个X86架构早就了目前INTEL如日中天的地位. 废话不多说,X86架构 ...
随机推荐
- 谈谈selenium4.0中的相对定位
相对定位历史 2021-10-13 发布的 selenium 4.0 开始引入,selenium 3.X是没有的 implement relative locator for find_element ...
- 如何为你的WSL2更换最新的6.5.7kernel
1.如果你像我一样,喜欢折腾你的 WSL2 ,这里是安装内核 6.X 的方法. 2.这是一个坏主意,可能会导致系统不稳定.数据损坏和其他问题.也可能会没事的,但不要怪我. Arch linux的wsl ...
- LINUX基础知识和命令 二
LINUX alias (别名) 自定义命令=原始命令 原始命令中有特殊符@#%()请打上 引号,单双无所谓 例:vim /etc/sysconfig/network-scripts/ifcfg-en ...
- Unity学习笔记--入门
Unity引擎学习 入门: Unity中的坐标系: 左手坐标系(z轴正方向向里面) x轴:平行屏幕向右正方向 y轴:平行屏幕向上正方向 Z轴:垂直屏幕向内为正方向 [补]openGL是右手坐标系 Di ...
- QAction常用接口总结
目录 public (一)构造函数 (二)setShortcut (三)setStatusTip Signals (一)trigger() public (一)构造函数 1.QAction(const ...
- mybtis-plus 出现 Wrong namespace
今天进行项目整合,刚开始代码搬的还挺快乐的,但是到后面调试起来,头晕眼花的.记录一个基本的错误. Cause: org.apache.ibatis.builder.BuilderException: ...
- 阿里云上的rds 的隔离级别read committed 而不是repeatable-read设置原因
阿里云上的rds 的隔离级别 是read committed ,而不是原生mysql的"可重复读(repeatable-read)",他们是基于什么原因这样设置的? show va ...
- 夯实JAVA基本之一 —— 泛型详解(1):基本使用(转)
一.引入1.泛型是什么首先告诉大家ArrayList就是泛型.那ArrayList能完成哪些想不到的功能呢?先看看下面这段代码:ArrayList<String> strList = ne ...
- git中的ole mode 和 new mode提示问题
git status 显示如下(文件内容其实并没有改变): old mode 100644 new mode 100755 原因是: 使用chmod修改过文件权限后,filemode会有变化. 解决办 ...
- 使用 LCM LoRA 4 步完成 SDXL 推理
LCM 模型 通过将原始模型蒸馏为另一个需要更少步数 (4 到 8 步,而不是原来的 25 到 50 步) 的版本以减少用 Stable Diffusion (或 SDXL) 生成图像所需的步数.蒸馏 ...