安装使用
如何安装应用迁移工具?
当x86平台上Linux软件或源码需要迁移到鲲鹏平台上时,可通过鲲鹏DevKit应用迁移工具(Porting Advisor)自动分析出需替换或修改的内容,提供友好易懂的分析报告、修改引导及一键替换等能力,引导用户快速迁移,同时提供鲲鹏亲和分析能力进一步提升鲲鹏平台代码质量。鲲鹏DevKit应用迁移工具支持IDE插件(VS Code)、浏览器和命令行三种工作模式。分为客户端、服务器端两部分,需要安装鲲鹏DevKit后选择安装应用迁移工具即可使用。
使用工具扫描出来有很多与架构兼容相关的文件,全都需要修改替换么?
原则上建议全部替换,但考虑到工作量及应用场景,实际中可通过软件编译错误与运行错误来针对性验证待兼容依赖文件。
如何获取并安装鲲鹏DevKit系统性能分析工具?
鲲鹏DevKit性能分析工具支持鲲鹏平台上的系统性能分析,能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数,给出优化建议。该工具可以辅助用户快速定位和处理软件性能问题。同时提供调优助手,能系统化组织性能指标,引导用户分析性能瓶颈,实现快速调优。鲲鹏DevKit性能分析工具支持IDE插件(VS Code)、浏览器和命令行三种工作模式,分别同性能分析Server一起完成性能分析和优化等任务。在安装鲲鹏DevKit后,可在工具管理中选择安装系统性能分析工具。
如何安装GCC for openEuler?
GCC for openEuler是基于开源GCC开发的编译器工具链(包含编译器,汇编器,链接器),在openEuler社区开源发布,并通过鲲鹏社区免费提供二进制包,支持aarch64处理器架构。
如何获取并使用毕昇JDK?
毕昇JDK(BiSheng JDK)基于OpenJDK开发,是一个高性能、可用于生产环境的OpenJDK发行版。毕昇JDK运行在华为内部多个产品上,积累了大量使用场景和Java开发者反馈的问题和诉求,解决了业务实际运行中遇到的多个问题,并在ARM架构上进行了性能优化。毕昇JDK运行在大数据等场景下可以获得更好的性能。毕昇JDK 8与Java SE标准兼容,目前支持Linux/AArch64和Linux/x86_64平台。毕昇JDK同时是OpenJDK的下游,会持续稳定为OpenJDK社区做出贡献。
如何获取并使用毕昇编译器?
毕昇编译器(BiSheng Compiler)基于开源LLVM开发,并进行了优化和改进,同时支持Fortran语言前端,是针对鲲鹏平台的高性能编译器。除LLVM通用功能和优化外,对中端及后端的关键技术点进行了深度优化,并集成Auto-tuner特性支持编译器自动调优。
如何使用rpmrebuild重构软件包?
软件包重构能够分析用户提供的x86软件包,并根据用户提供的资源文件尝试构建鲲鹏平台软件包。软件包重构需要用户在鲲鹏平台使用。
- RPM包只能在类RHEL系统上执行,重构过程中需要依赖系统组件“rpmrebuild/rpmbuild/rpm2cpio”。
- DEB包只能在类Debian系统上执行,重构过程中需要依赖系统组件“ar/dpkg-deb”。
软件包重构具体操作请参考:https://www.hikunpeng.com/document/detail/zh/kunpengdevps/userguide/usermanual/DevKit_Porting_0014.html
指令翻译后的应用,重新启动后需要重新翻译吗?
需要重新翻译,ExaGear是动态翻译,不会改变x86应用二进制文件内容,只有执行过程中才会进行翻译。
鲲鹏DevKit调优诊断是否支持x86服务器?
鲲鹏DevKit调优诊断目前仅支持基于鲲鹏920的服务器,支持的操作系统为openEuler 20.03(LTS)、CentOS 7.6、麒麟V10、Ubuntu 18.04.1等。
鲲鹏DevKit调优诊断采集的数据在哪里?
DevKit性能分析采集分析源数据路径参考:/opt/DevKit/tools/rpc_cluster/server/storage/server/
鲲鹏DevKit如何实时查看内存频率?
DevKit性能分析工具可以采集一定时间内的内存耗用情况,但无法实时查看;如访存分析和Java性能分析。
参考资料:https://www.hikunpeng.com/document/detail/zh/kunpengdevps/userguide/usermanual/devkit-hypertuner-072.html
请问鲲鹏应用迁移工具进行源码迁移时,编译器版本和构建工具怎么选?
编译器版本选择自己环境的所用的编译器版本,构建工具则需要具体看软件的构建文件怎么编写。
- 如果使用Makefile,则选择make。
- 如果使用CMakeList,则选择cmake。
内网安装鲲鹏DevKit时,如何安装子工具?
内网安装鲲鹏DevKit,建议在鲲鹏DevKit下载中心获取全量包,并在安装时选择全部安装。
Select an installation mode: [1] : Install the DevKit framework and all plugins [2] : Install the DevKit framework and selected plugins [3] : Install the DevKit framework Enter the sequence number of the tool to be installed (default: 1):
安装过程中依据系统需要yum或apt依赖,如果操作系统环境不可以联网,请用户自行配置满足工具需要依赖的本地源,具体操作请参见配置操作系统yum/apt/zypper源。
VS Code中在线安装好DevKit后,是否可以离线进行使用?
VS Code端和Linux服务端在同一个局域网中是可以的,因为涉及到Nginx服务。
VS Code安装DevKit工具时是否可以修改默认安装路径?
在VS Code中离线安装DevKit工具时,不支持修改工具默认安装路径。在线安装时,不支持修改安装包临时存放路径。
安装DevKit环境检查时,提示rpmrebuild检查失败,rpmrebuild必须安装吗?
rpmrebuild默认是非必须的,若不安装rpmrebuild不会影响软件迁移评估和源码迁移功能的使用,但若使用软件包重构功能则必须依赖。
软件迁移和源码迁移的主要区别是什么?
源码迁移检查分析C/C++/ASM/Fortran/解释型语言/汇编等源码文件,定位出需迁移代码并给出迁移指导,支持迁移编辑及一键代码替换功能;软件迁移评估自动扫描并分析软件包(非源码包)、已安装的软件,提供可迁移性评估报告,不提供源码建议。
软件包重构只支持解释型语言的二进制RPM包吗?
编译型语言也可以,软件包重构没有强制只有解释型语言才可生成RPM包,与语言类型无关。
导入依赖字典模板怎么填写?
依赖字典导入为非必选操作,系统安装完成后已自带依赖字典,如果用户有自定义的且需要补充的依赖,则可以通过填写字典模板并导入。字典模板可通过单击“模板表格”获取,填写的URL为能够获取的地址,且导入的字典名称需与模板名称保持一致。
openEuler操作系统运行MPI+OpenMP精细化分析为何失败?
openEuler操作系统中自带的mpi工具为低版本mpich,HPC应用分析任务目前仅支持mpich 4.0.3及其以上版本。
系统性能分析热点函数时没有产生火焰图?
火焰图无法显示的情况:
- 浏览器版本过低,推荐使用较新的谷歌或Edge浏览器。
- 采集数据量较大,火焰图大小超过了浏览器可以支持的大小上限;可清除浏览器缓存后重试。
- 可以手动下载/opt/DevKit/tools/rpc_cluster/server/storage/server/{task_id}/{ip}/hotspot/Flamegraph-{timestamp}.html并查看简易火焰图,简易版本对浏览器依赖极少。