介绍
鲲鹏DevKit包含应用迁移、亲和分析、应用开发、编译调试、系统性能分析、Java性能分析及系统诊断,具体各功能详细介绍如下。
应用迁移工具
鲲鹏应用迁移工具可以简化应用迁移的过程,支持将x86 Linux软件迁移到鲲鹏Linux上的扫描、分析与迁移。通过该工具能够自动分析并输出指导报告,极大提高了代码迁移效率。
鲲鹏应用迁移工具支持的功能特性如下:
功能 |
描述 |
---|---|
|
|
|
|
|
在鲲鹏平台上,分析待迁移软件包构成,重构并生成鲲鹏平台兼容的软件包,或直接提供已迁移了的软件包。 |
|
在鲲鹏平台上,对部分常用的解决方案专项软件源码,进行自动化迁移修改、编译并构建生成鲲鹏平台兼容的软件包。 |
亲和分析工具
亲和分析支持软件代码质量检查,提升代码质量、优化访存性能。亲和分析工具支持的功能特性如下:
功能 |
描述 |
---|---|
|
64位运行模式检查是将原32位平台上的软件迁移到64位平台上,进行迁移检查并给出修改建议。 |
字节对齐检查 |
结构体字节对齐检查是在需要考虑字节对齐时,检查源码中结构体类型变量的字节对齐情况。 |
|
缓存行对齐检查是对C/C++源码中结构体变量进行128字节对齐检查,提升访存性能。 |
内存一致性静态检查 |
内存一致性静态检查就是检查源码迁移在鲲鹏平台运行时可能存在的内存一致性问题,并提供插入内存屏障的建议。 |
向量化检查 |
向量化检查功能用于对可向量化片段进行检查,并提供向量化修改建议。 |
构建亲和 |
构建亲和功能用于分析makefile、 |
计算精度分析 |
精度分析工具应用函数插桩后,分别在x86平台和鲲鹏平台运行,最终通过对比输出结果,分析平台计算精度差异。 |
编译调试工具
鲲鹏编译调试工具能一键式部署鲲鹏编译器,支持单机下NVIDIA GPU应用调试能力,通过统一调试界面调试GPU应用,实现
功能 |
描述 |
---|---|
部署编译器 |
支持一键式部署GCC for openEuler、 |
通用编译 |
通用编译提供最基础的远程编译能力,可视化配置编译参数,一键式编译且编译过程信息实时展示。 |
自动反馈优化编译 |
自动反馈优化是一种可简化PGO部署流程的一种技术,主要思想是通过采样方式收集程序的运行信息,间接得到程序的执行情况,简化了PGO的部署流程。 |
通用应用调试 |
通用应用调试提供鲲鹏平台远程调试能力,提供图形化界面,大幅提升调试效率。 |
HPC并行应用调试 |
编译调试工具提供HPC场景多节点并行调试能力,仅支持以Launch模式调试MPI应用。并行计算包含任务并行和数据并行,指每个节点执行不同的任务或每个节点存储不同的数据,目前HPC并行任务只支持CPU调试。 |
|
编译调试工具支持鲲鹏平台调试NVIDIA CUDA程序,通过统一的调试界面使用CUDA-GDB调试GPU应用。 |
安全应用调试 |
在应用开发工具中创建Java或Python工程后,进入编译调试工具会生成一个通用编译任务和一个安全应用调试任务,可根据实际情况进行编译运行,用户也可自行创建安全应用调试任务。 |
应用开发工具
鲲鹏应用开发工具支持创建鲲鹏应用工程,能够扫描代码文件中可使用鲲鹏加速库优化后的函数或汇编指令,生成可视化报告;支持C/C++开发语言,编码时能够自动匹配鲲鹏加速库函数字典、智能提示、高亮、联想字典中可以替换的库和函数。
鲲鹏应用开发工具支持的功能特性如下。
功能 |
描述 |
---|---|
通用计算应用 |
鲲鹏应用开发工具提供鲲鹏通用计算SDK,创建通用计算应用工程以支持基础应用开发,包含加速库应用、硬件加速应用以及同构加速框架应用。 |
安全计算应用 |
鲲鹏应用开发工具能自动化创建安全计算GP工程和高级语言工程,改造已有Java/Python工程,支持部署SDK、检查编译环境等。 |
|
基于高性能通信库和数学库创建高性能计算应用,用户能够通过扩展工程样例,提升开发效率。 |
|
鲲鹏应用开发工具能自动化创建DPAK工程并提供鲲鹏DPAK SDK,鲲鹏DPAK提供面向Smart NIC场景的业务卸载能力,支持网络卸载、虚拟化卸载等场景。 |
字典管理 |
鲲鹏应用开发工具可导入本地字典文件 |
编程辅助 |
支持鲲鹏加速库函数的悬浮提示、函数搜索,支持编码时自动联想和高亮鲲鹏加速库优化后的相关函数。 |
系统性能分析工具
系统性能分析是针对基于鲲鹏的服务器的性能分析工具,能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数,给出优化建议。该工具可以辅助用户快速定位和处理软件性能问题。
调优助手是针对基于鲲鹏的服务器的调优工具,能系统化组织性能指标,引导用户分析性能瓶颈,实现快速调优。
Java性能分析工具
Java性能分析是针对基于鲲鹏的服务器上运行的Java程序的性能分析和优化工具,能图形化显示Java程序的堆、线程、锁、垃圾回收等信息,收集热点函数、定位程序瓶颈点,帮助用户采取针对性优化。