-
上回谈到从JJ银行提出跟随自主创新的时代步伐,响应银监会要求,进行鲲鹏硬件平台替换后,合规大模型应用就开始按照VDBD方法进行咨询调研并开始实施软件适配迁移。 先访谈了蔡总监,项目组获悉JJ银行应用合规大模型的技术系统包括:贷款系统、总线系统、文件存储管理和银监会数据交互系统,贷款系统是业务系统,存有大量业务合同和模板,文件存储管理是大模型输出合同模板存放的地方,总线系统统筹整个JJ银行应用系统总线交互,包括跟办公OA的流程对接交互;而银监会数据交互系统是银行上报接口。 这些技术上有关联的业务系统跟合同系统之间有实时和批处理两种方式。技术系统范围选择完成后,进行业务技术分析。比如贷款系统的合同模板非常混乱无序,需要合同系统对合同模板格式进行规划;总线系统对合同系统交互有性能要求,通过API接口调用,对合规大模型的合同模板生成周期要求不能超过50ms;文件存储管理要求ftp方式进行文件上传,如果大模型产生的合同模板出现峰值,需要合同系统有缓存空间;银监会数据交互系统每天定时调用批处理的数据,合同系统需要跑定时任务把对应数据推到相应接口。 分析后团队内部进行了技术路线选择,目前模型语言是Python写,选择框架是mindspore,当时支持的版本是Python3.7.5,合同模板是业务应用自定义格式,因此采用外采的软件依赖工具包,让采购厂商适配鲲鹏平台;在鲲鹏测试节点上测试,合规大模型生成合同模板时间10ms,满足API调用要求;同时配置适配鲲鹏的轻量open GaussDB,可以自定义批处理任务。 最终,项目组以产品优势的说法,说服了JJ银行接受我们的设计方案。
-
上回谈到从JJ银行提出跟随自主创新的时代步伐,响应银监会要求,进行鲲鹏硬件平台替换后,合规大模型应用就开始按照VDBD方法进行咨询调研并开始实施软件适配迁移。 先访谈了蔡总监,项目组获悉JJ银行应用合规大模型的技术系统包括:贷款系统、总线系统、文件存储管理和银监会数据交互系统,贷款系统是业务系统,存有大量业务合同和模板,文件存储管理是大模型输出合同模板存放的地方,总线系统统筹整个JJ银行应用系统总线交互,包括跟办公OA的流程对接交互;而银监会数据交互系统是银行上报接口。 这些技术上有关联的业务系统跟合同系统之间有实时和批处理两种方式。技术系统范围选择完成后,进行业务技术分析。比如贷款系统的合同模板非常混乱无序,需要合同系统对合同模板格式进行规划;总线系统对合同系统交互有性能要求,通过API接口调用,对合规大模型的合同模板生成周期要求不能超过50ms;文件存储管理要求ftp方式进行文件上传,如果大模型产生的合同模板出现峰值,需要合同系统有缓存空间;银监会数据交互系统每天定时调用批处理的数据,合同系统需要跑定时任务把对应数据推到相应接口。 分析后团队内部进行了技术路线选择,目前模型语言是Python写,选择框架是mindspore,当时支持的版本是Python3.7.5,合同模板是业务应用自定义格式,因此采用外采的软件依赖工具包,让采购厂商适配鲲鹏平台;在鲲鹏测试节点上测试,合规大模型生成合同模板时间10ms,满足API调用要求;同时配置适配鲲鹏的轻量open GaussDB,可以自定义批处理任务。 最终,项目组以产品优势的说法,说服了JJ银行接受我们的设计方案。
-
上回谈到把代码、SO库、软件包都迁移过来后,就可以进行重新编译了。在编译前,项目组专门了解一下鲲鹏平台的编译器。这套编译器是分场景编译,场景化编译分为四类:通算场景、安全计算、HPC场景和DPAK场景。 对于本次JJ银行的测试节点,只有一台鲲鹏服务器,不组HPC,是为了测试代码迁移后功能的完整性,也不需要安全计算和DPAK,因此本次选择通算场景化编译。 鲲鹏编译器还有一个硬件加速选项。众所周知,鲲鹏硬件平台是支持CPU超分,1核变成1.5核,利用CPU超分能力,加速计算速度,这个开关打开后,代码运行速度会明显加强。 编译完成后,本次代码迁移主干流程已完成。后续就是在新鲲鹏平台上测试迁移后功能和性能。 回顾前几回讨论,合规大模型迁移涉及面比较广,迁移过程环节比较多,如何在迁移工作和价值呈现上做取舍平衡? 迁移工作工作量太大,迁移面面俱到虽然会增加客户价值,但造成工期过长,迁移成本太大;迁移工作只是单纯完成了功能迁移,但性能下降了,不适应新鲲鹏平台运行,将会导致整个应用功能后续无法正常使用,客户价值降低。 我们如何解决这个问题呢?当时采用VDBD方法,比较好平衡二者。 首先,从客户技术场景选择开始,接着使用场景匹配的技术价值作为目标,然后选择对应价值点进行战略分析,技术分析后再选择对应的方案模式,最后明确双方范围分工。下回我们专门回顾一下本次迁移的VDBD技术实践。
-
上回谈到把代码、SO库、软件包都迁移过来后,就可以进行重新编译了。在编译前,项目组专门了解一下鲲鹏平台的编译器。这套编译器是分场景编译,场景化编译分为四类:通算场景、安全计算、HPC场景和DPAK场景。 对于本次JJ银行的测试节点,只有一台鲲鹏服务器,不组HPC,是为了测试代码迁移后功能的完整性,也不需要安全计算和DPAK,因此本次选择通算场景化编译。 鲲鹏编译器还有一个硬件加速选项。众所周知,鲲鹏硬件平台是支持CPU超分,1核变成1.5核,利用CPU超分能力,加速计算速度,这个开关打开后,代码运行速度会明显加强。 编译完成后,本次代码迁移主干流程已完成。后续就是在新鲲鹏平台上测试迁移后功能和性能。 回顾前几回讨论,合规大模型迁移涉及面比较广,迁移过程环节比较多,如何在迁移工作和价值呈现上做取舍平衡?迁移工作工作量太大,迁移面面俱到虽然会增加客户价值,但造成工期过长,迁移成本太大;迁移工作只是单纯完成了功能迁移,但性能下降了,不适应新鲲鹏平台运行,将会导致整个应用功能后续无法正常使用,客户价值降低。 我们如何解决这个问题呢?当时采用VDBD方法,比较好平衡二者。 首先,从客户技术场景选择开始,接着使用场景匹配的技术价值作为目标,然后选择对应价值点进行战略分析,技术分析后再选择对应的方案模式,最后明确双方范围分工。下回我们专门回顾一下本次迁移的VDBD技术实践。
-
上回我们谈到银行去年更换了GCH平台,换成鲲鹏平台,随之上层Saas应用全部都要开始适配鲲鹏平台。除了上回谈的模型参数配置以外,还有一个代码迁移的问题需要解决。合规模型大部分代码是Python和Java,这两部分代码原有架构是X86架构。Java调用了很多SO库和JDK,而Python也安装了GCC和SO库。Python代码迁移分为两部分,GCC重新安装和SO库重新编译,同时还会要重新安装Maveen软件。 Python大量SO库调用,代码经过几个人维护,已经找不到调用SO库的文档记录,如果少迁移一个SO库,代码都会跑不起来。这里我借助了一个代码检查工具——porting advisor,这个工具可以扫描出迁移目录下代码调用了哪些SO库。 这个项目的Pyhton量不大,主要是合同的智能识别和智能比对的模块,在合规模型的代码量中占比20%,但功能点却是整个合规模型的核心功能和亮点。 通过porting advisor扫描,模型代码总共调用了55个SO库。找出这些SO库后,就会出现迁移过程的第二道难关——SO存放在哪个仓库中? 鲲鹏平台对仓库调用有一个顺序,本地,远程,中心仓,由近到远的顺序进行仓库搜索。所以,找出55个SO库后还要进行SO库排序,按照频率调用的高地,调用频率高的SO库存在本地仓,调用频率低的SO库存在中心仓。经过排序后,每个SO库代码在鲲鹏平台重新编译。
-
Apache Helix 是一个集群管理框架,主要用于管理分布式系统中的资源分配和任务调度。它能够帮助开发人员有效地构建和管理复杂的分布式系统,确保系统的高可用性、可扩展性和一致性。Helix的进程有4种角色:CONTROLLER: Process that controls the cluster, any number of controllers can be started but only one will be active at any given timePARTICIPANT: Process that performs the actual task in the distributed systemSPECTATOR: Process that observes the changes in the clusterADMIN: To carry out system admin actions本验证任务比较简单,需要在鲲鹏环境部署quickstart。 运行之前,可以通过源码和文档了解quickstart做的事情。部署验证部署验证的过程也是按部就班,主要是在鲲鹏环境下安装相关的软件。包括下载和安装JDK下载和安装Maven下载和安装Git下载和安装Helix鲲鹏的ECS服务器默认无法访问外网,需要挂载一个弹性公网IP. 解决下载速度是影响安装的主要问题。在编译Helix阶段,可以使用华为云提供的Maven仓库,编译代码会快很多:<mirror> <id>huaweicloud</id> <mirrorOf>central</mirrorOf> <url>https://mirrors.huaweicloud.com/repository/maven/</url></mirror>环境准备好后,运行quickstart.sh 脚本,就完成了相关体验。相关文档参考:https://helix.apache.org/1.4.2-docs/Quickstart.htmlHelix的可能应用场景体验了helix的quickstart,顺带思考了下其可能的应用场景。在微服务架构下,微服务一般都是无状态服务。Helix能够被应用于有状态服务的设计和容灾,比如主备架构、一主多备架构等,他提供了非常灵活的API获取集群状态,能够帮助开发者灵活的实现应用切换。
-
1月5日上午,华为开发者布道师直播间将迎来重磅嘉宾!赵欢老师,计算机教育创新先锋,其 “小而全系统” 教学方案重塑计算机类专业课程与实践,融合鲲鹏生态技术知识,斩获国家级教学成果奖。杨科华老师专注小型全系统实践,在香橙派鲲鹏 Pro 开发板构建精妙 mini 系统,带您直击计算机底层奥秘。还有香橙派系统开发部李博经理,精通开发板硬件与应用,将全方位揭秘开发板使用及 FPGA 开发实战案例。三位大咖齐聚,为高校师生开启计算机系统能力提升的知识宝库,精彩即将上线,速速预约!报名地址:cid:link_0
-
【活动简介】零基础带你入门华为根技术(鸿蒙、昇腾AI、鲲鹏计算、EulerOS 、GaussDB),我们为您提供由华为云专家团队精心打造的课程、实战和认证一体化学习,帮助大家从入门到进阶,并提供10000+的考试代金券、300+华为手表、华为手环、双肩包等好礼相送。【活动报名链接】https://edu.huaweicloud.com/signup/5a23f729cac74096a9e007dd21a531e0?channelCode=luntan【邀请好友奖励】云资源代金券申请链接:cid:link_0【邀请好友】进度公示(统计数据截止到2024/12/31 10:00)——具体名单可看附件序号邀请人账号邀请数1hw067074448842wwwhuaw773godgodgame704hw72116311605hid_6f6nw301vmielga566hwyhzhen547helongji018548hid_sc3a-9p06lp1-ni339bingooooooooo3210stiven10092311hid_4nhes23ywt7eirj1812xfx151635107631713zyj202001314hid_4-nw88uizwz0d1b915hid_w5btnegu2tci9nt616hwid_77m9bmjwygad3rz617zhuguoen618g1615420876519hid_9dtxwabqjg_j21h520hid_pc8o8zb0l7z4pmy521hid_9653mdwpvjt8qzy422wxm2023140027009423hid_kv01mclyee774-i424hid_cp-haj9mtgofoqh425mixiqi117426xinrong2005427hyhy123hy428hw43190117429hid_1zop-idcitvqbq_430hid_pi1micmkkn5iro7431zhang768888332hw055350659333hid_u_gkt9rkz4idemp334hid_88rv1e_kv8779_y335hid_1xaboyg8uhv537_336hid_9dhg3bnxrlkrtxo337hid_ts6ps562e99mlon338hid_9dmb1ehwg0a520y339hid_wswq41hryakvh-z340hid_9tqblw7ozns3ue7341hw54139236342hid_bgn-jxe2tr38xws343hid_2yr65w6vwb9n81t344hid_bn5sttw8hc828md345hid_st9l2_0xskt55hi346hid_d1qcsifl1dv69fk347hid_tuytzeka2tr68h7348hid_d7azziw01u_oh-2349hhh_017350hid_dfe-jusso1qrjpk351hw029497687352hid_gam4q366ifimjz3353hid__5h-l0bshezt74m354hid_hdplj8n1rtp4mke355hw84926582356hid_mjbboebdsqpa3v7357songyixiang358hid_nca2-4u2qtgderj359xiaomibest360hbyjw361hid_758n6v9xa7ywwou362hid_px1rahte9uthzeo363hid_wtflxrgz5_xpyhn364hw054072442265shuyou_zsh0119266GT-qq_44737098267aiqujun268dengd_z269CSDN-m0_67012903270er-jing271asas1236987272dajindan273hid_dc3-x8q28ug_7se274tianmingzhen275hid_vnsoptng6l1wb6b276hw_008618296351031_01277hid_-p64rsu2ktov8mb278peterchu88179xtaodada180tya008181hid_ahm7utq3jyoj_p7182k373518856183zyy0070184hid_8m7u5c2078s1bli185hid_87j2kvz4e4vwxhq186dxhjdbhedne187hid_y96znavkmrxg3k7188hid_f5g5vaquvq_kp1p189hid_znxv334aidzn_xy190mayw15890100305191huawei0523123192r_r666666193hid_sqy7lfo8akhb65u194hid_v42u-0rxjoqk3k0195hw_008618665836827_01196hid_3ey8yb4f45n427b197hw_Ye0280505198hid_ni30ol9uq_fxhav199hw0281096761100yodooo1101hid_87r49miczvwy2mw1102hid_a72bv5jspplmcjg1103hw0312462421104luolirong2231105hw0331997641106hid_2eov10z8os9r74-1107hid_d4btv3-qq9nzt8w1108QST_zy12171109hid_kucakagp_-jpn8w1110hid_uo8r-0o7sddbxjx1111hht8303131112hid_c_qp-ude--52eda1113hw0704333141114toyanqing1115chm69501116u254177p1117hid_pbf_x5b9g_cn7i21118GT-doufu1119hid_q8xc-o9sw1uvw6i1120xiaobai529991121hid_lp0jau4s-cvxjwm1122hid_510ffc-mfodydh-1123hid__epa_cz-1x2xrnl1124yk_2231125hid_lwl0d9ho0ia3ydr1126hid_nlh5fhen4cwj48w1127hid_0dlm8qc0bvqx3s61128hid_m133f17dy5auph01129hw0714706051130hw24331524161131hid_x99nwq9u2kg6ax11【关于邀请有礼】点击活动页面右上角“分享有礼”按钮生成邀请链接,邀请好友即可获得云资源代金券。(可用于免费购买云服务器资源)邀请人数云资源代金券350元5100元15300元25500元501000元
-
你是否渴望投身技术领域,成为掌握核心科技的弄潮儿,却因毫无基础,在门外徘徊许久?云学堂 “根技术学习之星” 活动正是你破局的关键,一场涵盖五大热门课程(鸿蒙应用、昇腾AI、鲲鹏计算、EulerOS 、GaussDB)的学习盛宴,带你稳步跨越零基础门槛,一路进阶,拥抱技术新未来!扫描上方海报二维码报名,别错过这场改变技术人生的机遇,云学堂陪你从 0 到 1 成长为技术之星!活动报名链接:点击立即报名
-
为保证HPCKit组件能够正常工作,请检查您的安装环境,确保安装环境达到推荐配置要求。表1 硬件要求设备类型设备型号处理器华为鲲鹏920系列处理器展开表表2 操作系统兼容性列表操作系统版本要求openEuleropenEuler 22.03 LTS SP2 AArch64openEuler 22.03 LTS SP3 AArch64银河麒麟银河麒麟高级服务器操作系统V10(HPC版) AArch64麒麟信安麒麟信安服务器操作系统V3.5.2 AArch64表1 待下载的工具软件工具名称作用获取方式PuTTY跨平台远程访问工具,用于在Windows系统访问各节点。您可以访问chiark主页下载PuTTY软件。建议使用最新版本的PuTTY软件。WinSCP跨平台文件传输工具,用于在Windows系统和Linux系统间传输文件。说明请使用5.7.5或更高版本,并在传输文件时选用SCP协议。您可以访问WinSCP主页下载WinSCP软件。展开表操作步骤在浏览器地址栏中输入“cid:link_11”,按“Enter”。单击对应版本的“软件包下载”,下载软件包。获取的HPCKit软件包名称示例如:HPCKit_24.0.RC2_Linux-aarch64.tar.gz。说明24.0.RC2:HPCKit交付版本号,请根据实际情况替换。使用WinSCP工具,将获取到的软件包上传至HPCKit的安装节点。为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的数字签名文件用于完整性验证。在软件包下载之后,请参考《OpenPGP签名验证指南》,对下载的软件包进行PGP数字签名校验。如果校验失败,请不要使用该软件包,先联系华为技术支持工程师解决。使用软件包安装/升级之前,也需要按上述过程先验证软件包的数字签名,确保软件包未被篡改。获取校验工具和校验方法:cid:link_10表1 HPCKit目录规划要求项目空间最小要求目录权限说明HPCKit安装目录10GB权限:755HPCKit安装路径。root用户操作时,默认安装路径为/opt;非root用户操作时,默认安装路径为~。批量安装HPCKit时,安装目录请参见《Kunpeng HPC Solution 24.0.RC2 LLD模板》中“项目基本信息 > 共享存储目录规划 > HPCKit安装目录”。操作步骤使用PuTTY工具,登录HPCKit的安装节点。执行以下命令,进入HPCKit软件包所在目录。cd HPCKit软件包所在目录说明批量安装HPCKit时,安装目录请参见《Kunpeng HPC Solution 24.0.RC2 LLD模板》中“项目基本信息 > 共享存储目录规划 > HPCKit安装目录”。执行以下命令,解压HPCKit软件包。tar xvf HPCKit_24.0.RC2_Linux-aarch64.tar.gz安装HPCKit。执行以下命令,进入安装流程。sh HPCKit_24.0.RC2_Linux-aarch64/install.sh在回显信息后,输入HPCKit的安装目录。Enter the installation path (default: /opt):HPCKit的安装目录回显信息中包含如下提示信息,表示已完成安装目录配置,请执行4.c;否则,请先根据报错信息完成异常处理,然后完成安装目录配置,再执行4.c。You have selected: /opt说明如果用户对1中输入的HPCKit的安装目录有写权限,则HPCKit可以安装在该目录下。如果用户对1中输入的HPCKit的安装目录无写权限,界面出现如下回显,并再次提示用户输入安装目录,如果用户不输入安装目录并直接按回车,则会默认安装在~目录下,~目录是用户的$HOME目录。Error: You do not have permission to write to HPCKit的安装目录. Please choose another path.如果配置的安装目录空间小于10GB,则会回显以下提示信息,建议重新规划安装目录,或清理该目录空间。The space of the HPCKit installation directory is insufficient. About 10 GB space is required for installing HPCKit. Run the 'df -h /opt' command to check the space of the installation directory.在回显信息后,选择需要安装的编译器。出现如下回显信息后,如果全部安装(系统默认),直接按“Enter”;如果只安装Bisheng-Compiler,先输入“2”,然后按两次“Enter”;如果只安装GCC-Compiler,先输入“1”,然后按两次“Enter”。说明按“1”或“2”表示切换“1”或“2”在回显中对应的编译器“是否安装”的选项,例如1代表毕昇编译器(默认安装),按下1表示切换为不安装毕昇编译器。Start installing Compiler... Please Enter (1-2) to switch compiler selection, only checked compiler(s) will be installed. Enter 'q' to quit, 'y' or enter to confirm compiler installation. Number Option Choice Descriptions 1 Bisheng-Compiler Y Bisheng Compiler 2 GCC-Compiler Y GCC Compiler 回显如下信息(以全部安装为例),表示安装成功,请继续执行4;否则,请先根据报错信息完成异常处理,然后完成编译器安装,再执行4。Confirm Installation. Start Installing Bisheng Compiler Bisheng Compiler Installation Finished. Start Installing Gcc For openEuler Gcc For openEuler Installation Finished.选择安装组件HMPI、KPCCL、KML。说明如果同时使用毕昇和GCC两种编译器,则根据界面信息先完成毕昇编译器编译的组件安装,然后完成GCC编译器编译的组件安装。如果仅使用毕昇或GCC编译器中的一种,则根据界面信息完成对应的组件安装即可。使用毕昇编译器出现如下回显信息后,如果全部安装(系统默认),直接按“Enter”;如果只安装HMPI,先输入“1”,然后按“Enter”,再输入“2”,然后按两次“Enter”。如果只安装KPCCL,先输入“1”,然后按“Enter”,再输入“3”,然后按两次“Enter。如果只安装KML,先输入“2”,然后按“Enter”,再输入“3”,然后按两次“Enter。如果需要安装两个组件例如KML和KPCCL,先输入“3”,然后按两次“Enter”。如果不安装任何组件,先输入“q”,然后按“Enter”。Start Installing Bisheng Compiled Component... Please Enter (1-3) to switch component selection, only checked component(s) will be installed. Enter 'q' to quit, 'y' or enter to confirm component installation. Number Option Choice Descriptions 1 KML Y Kunpeng Math Library (Bisheng compiled) 2 KPCCL Y Kunpeng Parallel Computing Core Library (Bisheng compiled) 3 HMPI Y Hyper Message Passing Interface (Bisheng compiled)回显如下信息(以全部安装为例),表示安装成功,操作结束;否则,请先根据报错信息完成异常处理,然后完成组件安装。Confirm Installation. Start Installing bisheng compiled KML Kunpeng CPU check successfully. KML Installation Finished Start Installing bisheng compiled KPCCL KPCCL Installation Finished. Start Installing bisheng compiled Hyper MPI HMPI Installation Finished.使用GCC编译器出现如下回显信息后,如果全部安装(系统默认),直接按“Enter”;如果只安装HMPI,先输入“1”,然后按“Enter”,再输入“2”,然后按两次“Enter”。如果只安装KPCCL,先输入“1”,然后按“Enter”,再输入“3”,然后按两次“Enter”。如果只安装KML,先输入“2”,然后按“Enter”,再输入“3”,然后按两次“Enter”。如果需要安装两个组件例如KML和KPCCL,先输入“3”,然后按两次“Enter”。如果不安装任何组件,先输入“q”,然后按“Enter”。Start installing GCC Compiled Component... Please Enter (1-2) to switch component selection, only checked component(s) will be installed. Enter 'q' to quit, 'y' or enter to confirm component installation. Number Option Choice Descriptions 1 KML Y Kunpeng Math Library (GCC compiled) 2 KPCCL Y Kunpeng Parallel Computing Core Library (GCC compiled) 3 HMPI Y Hyper Message Passing Interface (GCC compiled)回显如下信息,表示安装成功,操作结束;否则,请先根据报错信息完成异常处理,然后完成组件安装。Confirm Installation. Start Installing gcc compiled KML Kunpeng CPU check successfully. KML Installation Finished Start Installing gcc compiled Hyper MPI HMPI Installation Finished.安装HIO组件。场景一:已安装以下HIO桥接目标库libhdf5.so >= 1.12.0、libnetcdf.so >= 4.7.4和libpnetcdf.so >= 1.12.1且配置了环境变量。会出现以下回显信息。Start installing HIO Component... Please Enter (1-1) to switch component selection, only checked component(s) will be installed. Enter 'q' to quit, 'y' or enter to confirm component installation. Number Option Choice Descriptions 1 HIO Y Kunpeng Hyper IO Middleware如果安装HIO组件(系统默认),直接按“Enter”。回显如下信息,表示安装成功,操作结束;否则,请先根据报错信息完成异常处理,然后完成组件安装。Confirm Installation. Start Installing HIO HIO Installation Finished如果不安装HIO组件,输入“1”,然后按两次“Enter”。场景二:未安装以下HIO桥接目标库libhdf5.so >= 1.12.0、libnetcdf.so >= 4.7.4和libpnetcdf.so >= 1.12.1,或者已安装但未配置环境变量。会出现以下回显信息。选择y,继续安装HIO组件。如果环境中不存在HIO桥接目标库,参照安装HIO桥接目标库完成HIO桥接目标库安装并配置环境变量。如果环境中已存在HIO桥接目标库但未配置环境变量,参考配置HIO桥目标接库的环境变量配置环境变量。选择n,退出安装HIO组件。Start Installing HIO libhdf5.so >= 1.12.0 required, Please update the library to the required version. Continue Installation? [y/n] y Confirm Installation. libnetcdf.so >= 4.7.4 required, Please update the library to the required version. Continue Installation? [y/n] y Confirm Installation. libpnetcdf.so >= 1.12.1 required, Please update the library to the required version. Continue Installation? [y/n] y Confirm Installation. HIO Installation Finished使用PuTTY工具,登录HPCKit的安装节点。执行以下命令,进入HPCKit软件包所在目录。cd HPCKit软件包所在目录说明批量安装HPCKit时,安装目录请参见《Kunpeng HPC Solution 24.0.RC2 LLD模板》中“项目基本信息 > 共享存储目录规划 > HPCKit安装目录”。执行以下命令,解压HPCKit软件包。tar xvf HPCKit_24.0.RC2_Linux-aarch64.tar.gz执行以下命令,进入安装流程。sh HPCKit_24.0.RC2_Linux-aarch64/install.sh -y --prefix=HPCKit安装目录回显如下信息,表示安装成功,操作结束;否则,请先根据报错信息完成异常处理,然后重新安装。Start installing HPCKit... You have selected: HPCKit安装目录 Start Installing Bisheng Compiler Bisheng Compiler Installation Finished. Start Installing Gcc For openEuler Gcc For openEuler Installation Finished. Start Installing bisheng compiled KML Kunpeng CPU check successfully. KML Installation Finished Start Installing bisheng compiled KPCCL KPCCL Installation Finished. Start Installing bisheng compiled Hyper MPI HMPI Installation Finished. Start Installing gcc compiled KML Kunpeng CPU check successfully. KML Installation Finished Start Installing gcc compiled KPCCL KPCCL Installation Finished. Start Installing gcc compiled Hyper MPI HMPI Installation Finished. Start Installing HIO HIO Installation Finished说明如果用户对1中输入的HPCKit的安装目录有写权限,则HPCKit可以安装在该目录下。如果用户对1中输入的HPCKit的安装目录无写权限,界面出现如下回显,并再次提示用户输入安装目录,如果用户不输入安装目录并直接按回车,则会默认安装在~目录下,~目录是用户的$HOME目录。Error: You do not have permission to write to HPCKit的安装目录. Please choose another path.安装HIO组件时,检查发现缺少HIO组件依赖的动态库,则会显示以下提示信息,如果环境中不存在HIO桥接目标库,参照安装HIO桥接目标库完成HIO桥接目标库安装并配置环境变量。如果环境中已存在HIO桥接目标库但未配置环境变量,参考配置HIO桥目标接库的环境变量配置环境变量。libhdf5.so >= 1.12.0 required, Please update the library to the required version. libnetcdf.so >= 4.7.4 required, Please update the library to the required version. libpnetcdf.so >= 1.12.1 required, Please update the library to the required version.如果配置的安装目录空间小于10GB,则会回显以下提示信息,建议重新规划安装目录,或清理该目录空间。The space of the HPCKit installation directory is insufficient. About 10 GB space is required for installing HPCKit. Run the 'df -h /opt' command to check the space of the installation directory.modules方式支持选择加载环境变量管理模块,本文介绍使用modules方式加载环境变量管理模块的方法。前提条件已配置yum源。执行以下命令检查节点YUM源是否已配置,确保回显中有OS对应的YUM源。yum list | grep kernel已安装tcl工具。执行以下命令检查是否已安装tcl工具。yum list installed | grep tcl.aarch64回显有如下信息说明已安装tcl工具。tcl.aarch64 1:8.6.12-4.oe2203sp1 @anaconda如果未安装tcl工具,执行以下命令安装。yum install -y tcl*已安装module工具。执行以下命令检查是否已安装module工具。yum list installed | grep environment-modules.aarch64回显有如下信息说明已安装module工具。environment-modules.aarch64 5.0.1-3.oe2203sp1 @OS如果未安装module工具,执行以下命令安装,并加载环境变量。yum install -y environment-modules source /etc/profile.d/modules.sh注意事项建议同一环境中使用一种编译器进行编译,如果同时使用两种编译器进行编译,则需要注意环境变量信息是否正确。具体原因及配置方法如下:由于环境变量信息中,参数“CC”、“CXX”、“FC”、“F77”、“F90”和“OPAL_PREFIX”的值只针对当前使用的编译器生效,如果要使用另一种编译器,需要先卸载当前已有环境变量模块,然后加载需要另一种编译器进行编译的组件环境变量模块。不同编译器编译对应组件的环境变量管理模块时,其环境变量参数值请参见表1。示例:当前使用毕昇编译器,已加载环境变量模块“bisheng/hmpi/hmpi”,此时,“OPAL_PREFIX”的值为“/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi”,如果需要切换为GCC编译器,则需要先卸载环境变量模块“bisheng/hmpi/hmpi”,然后加载环境变量模块“gcc/hmpi/hmpi”,加载完成后,“OPAL_PREFIX”的值为“/opt/HPCKit/24.6.30/hmpi/gcc/hmpi”。操作步骤使用PuTTY工具,登录HPCKit的安装节点。执行以下命令,进入HPCKit安装目录。cd /opt/HPCKit/latest说明/opt:HPCKit的默认安装目录,请替换为实际路径。执行以下命令,添加modulefiles。module use modulefiles说明使用 sh modulefiles-setup.sh 可以恢复误删的 modulefiles 文件夹。执行以下命令,查询可用环境变量模块。module avail回显如下类似信息:------------------------------------------------ /opt/HPCKit/24.6.30/modulefiles ------------------------------------------------ bisheng/compiler/bishengmodule bisheng/kml/kml gcc/compiler/gccmodule gcc/kml/kml hio/hio bisheng/hmpi/hmpi bisheng/kml/kspblas/omp gcc/hmpi/hmpi gcc/kml/kspblas/omp bisheng/kml/kblas/omp bisheng/kml/kspblas/serial gcc/kml/kblas/omp gcc/kml/kspblas/serial bisheng/kml/kblas/pthread bisheng/kml/kvml/omp gcc/kml/kblas/pthread gcc/kml/kvml/omp bisheng/kml/kblas/serial-locking bisheng/kml/kvml/serial gcc/kml/kblas/serial-locking gcc/kml/kvml/serial bisheng/kml/kblas/serial-nolocking bisheng/kpccl/kpccl gcc/kml/kblas/serial-nolocking gcc/kpccl/kpccl说明如果回显信息中包含不需要加载的模块信息,您可以执行以下命令删除。module unuse /opt/HPCKit/24.6.30/modulefiles其中,”/opt/HPCKit/24.6.30/modulefiles”为模块名称,请根据实际情况替换。加载环境变量模块。执行以下命令,将组件的相关信息添加至环境变量中。module load modulefile说明modulefile:组件环境变量管理模块,具体请参见组件环境变量管理模块信息。示例:将HMPI组件bisheng版本信息添加到环境变量中module load bisheng/hmpi/hmpi说明当存在环境变量模块不再使用时,您可以执行以下命令卸载。module unload bisheng/hmpi/hmpi其中,”bisheng/hmpi/hmpi”为待删除的环境变量模块,请根据实际情况替换。执行以下命令,查看已加载环境变量模块。module list在回显信息中查看所需环境变量模块是否均存在。是,请执行步骤6。否,请先执行5.a加载缺失环境变量模块,然后执行6。查询对应组件的环境变量信息。表1 组件环境变量信息的查询方法setvars.sh方式支持全量加载指定编译器对应组件的环境变量模块。操作步骤使用PuTTY工具,登录HPCKit的安装节点。执行以下命令,进入HPCKit安装目录。cd /opt/HPCKit/latest说明/opt:HPCKit的默认安装目录,请替换为实际路径。执行以下命令,配置环境变量信息。source setvars.sh 参数名称说明该命令默认配置gcc版本组件的环境变量信息。参数名称为可选,具体请参见表1。表1 参数介绍参数名称参数值说明--use-bisheng不涉及添加该参数,添加已安装组件bisheng版本的相关信息到环境变量中。--force不涉及配置该参数,可以强制执行setvars.sh。说明如果之前已经执行过setvars.sh,再次执行会提示setvars.sh已经执行过。--kml_kblaslocking添加组件KML子库kblas单线程加锁动态库路径到环境变量LD_LIBRARY_PATH中。nolocking添加组件KML子库kblas单线程不加锁动态库路径到环境变量LD_LIBRARY_PATH中。omp添加组件KML子库kblas OpenMP实现多线程动态库路径到环境变量LD_LIBRARY_PATH中。pthread(默认值)添加组件KML子库kblas pthread实现多线程动态库路径到环境变量LD_LIBRARY_PATH中。--kml_kspblasmulti(默认值)添加组件KML子库kspblas多线程动态库路径到环境变量LD_LIBRARY_PATH中。single添加组件KML子库kspblas单线程动态库路径到环境变量LD_LIBRARY_PATH中。--kml_kvmlmulti添加组件KML子库kvml多线程动态库路径到环境变量LD_LIBRARY_PATH中。单独配置该参数,需要同时配置--kml_kblas和--kml_kspblas。single(默认值)添加组件KML子库kvml单线程动态库路径到环境变量LD_LIBRARY_PATH中。--help不涉及查看“source setvars.sh 参数名称”命令的使用说明。展开表说明每次执行source setvars.sh命令时,kml_kblas、kml_kspblas和kml_kvml值都会被重置为该参数的默认值(见表1),如果该参数需要保持原来的非默认值,需同时修改参数值。举例如下。由gcc切换为毕昇编译器时,如果需要使kml_kblas的非默认值保持不变,例如仍为locking,执行以下命令。source setvars.sh --use-bisheng --kml_kblas=locking --force仅修改kml_kblas、kml_kspblas和kml_kvml中的一个参数时,另外两个参数如需保持原来的非默认值,需要同时修改,执行以下命令。source setvars.sh --kml_kvml=multi --kml_kspblas=single执行以下命令,查询环境变量信息。使用毕昇编译器编译组件时echo $LD_LIBRARY_PATH; echo $PATH; echo $CPATH; echo $INCLUDE; echo $OPAL_PREFIX; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90; $HIO_HOME说明环境变量参数含义具体如下:LD_LIBRARY_PATH:动态链接库的搜索路径。PATH:可执行程序的搜索路径。CPATH:KML组件的头文件路径。INCLUDE:Hyper MPI中hmpi、hucx和xucg组件的头文件路径,以及KML组件的头文件路径。OPAL_PREFIX:Hyper MPI中hmpi组件的安装目录。CC:编译C语言程序的编译器名称,值为clang。CXX:编译C++程序的编译器名称,值为clang++。FC:编译Fortran程序的编译器名称,值为flang。F77:编译Fortran77程序的编译器名称,值为flang。F90:编译Fortran90程序的编译器名称,值为flang。HIO_HOME:HIO组件安装路径。回显信息示例:/opt/HPCKit/24.6.30/kpccl/bisheng/lib:/opt/HPCKit/24.6.30/kml/bisheng/lib/kvml/single:/opt/HPCKit/24.6.30/kml/bisheng/lib/kspblas/multi:/opt/HPCKit/24.6.30/kml/bisheng/lib/kblas/pthread:/opt/HPCKit/24.6.30/kml/bisheng/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/lib:/opt/HPCKit/24.6.30/compiler/bisheng/lib:/usr/local/lib /opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/bin:/opt/HPCKit/24.6.30/compiler/bisheng/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /opt/HPCKit/24.6.30/kpccl/bisheng/include:/opt/HPCKit/24.6.30/kml/bisheng/include: /opt/HPCKit/24.6.30/kpccl/bisheng/include/opt/HPCKit/24.6.30/kml/bisheng/include:/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/include:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/include:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/include: /opt/HPCKit/24.6.30/hmpi/bisheng/hmpi clang clang++ flang flang flang /opt/HPCKit/24.6.30/hio使用GCC编译器编译组件时echo $LD_LIBRARY_PATH; echo $PATH; echo $CPATH; echo $INCLUDE; echo $OPAL_PREFIX; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90; $HIO_HOME说明环境变量参数含义具体如下:LD_LIBRARY_PATH:动态链接库的搜索路径。PATH:可执行程序的搜索路径。CPATH:KML组件的头文件路径。INCLUDE:Hyper MPI中hmpi、hucx和xucg组件的头文件路径,以及KML组件的头文件路径。OPAL_PREFIX:Hyper MPI中hmpi组件的安装目录。CC:编译C语言程序的编译器名称,值为gcc。CXX:编译C++程序的编译器名称,值为g++。FC:编译Fortran程序的编译器名称,值为gfortran。F77:编译Fortran77程序的编译器名称,值为gfortran。F90:编译Fortran90程序的编译器名称,值为gfortran。HIO_HOME:HIO组件安装路径。回显信息示例:/opt/HPCKit/24.6.30/kpccl/gcc/lib:/opt/HPCKit/24.6.30/kml/gcc/lib/kvml/single:/opt/HPCKit/24.6.30/kml/gcc/lib/kspblas/multi:/opt/HPCKit/24.6.30/kml/gcc/lib/kblas/pthread:/opt/HPCKit/24.6.30/kml/gcc/lib:/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/lib:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/lib:/opt/HPCKit/24.6.30/compiler/gcc/lib64:/usr/local/lib /opt/HPCKit/24.6.30/hmpi/gcc/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/bin:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/bin:/opt/HPCKit/24.6.30/compiler/gcc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /opt/HPCKit/24.6.30/kpccl/gcc/include:/opt/HPCKit/24.6.30/kml/gcc/include: /opt/HPCKit/24.6.30/kpccl/gcc/include:/opt/HPCKit/24.6.30/kml/gcc/include:/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/include:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/include:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/include: /opt/HPCKit/24.6.30/hmpi/gcc/hmpi gcc g++ gfortran gfortran gfortran /opt/HPCKit/24.6.30/hio前提条件已安装HPCKit。操作步骤使用PuTTY工具,登录HPCKit的安装节点。执行以下命令,进入HPCKit的安装目录。cd /opt说明/opt:HPCKit的安装目录,请根据实际情况替换。执行以下命令,卸载HPCKit。sh /opt/HPCKit/latest/uninstall.sh回显如下信息,表示HPCKit卸载成功,操作结束;否则,请联系华为技术支持。Start uninstall HPCKit... * modulefiles removed * kpccl removed * kml removed * hmpi removed * hio removed * compiler removed Uninstall HPCKit Success说明此处回显以安装了HPCKit全部组件并卸载为例。组件名称模块名称操作步骤Compilerbisheng/compiler/bishengmoduleecho $LD_LIBRARY_PATH; echo $PATH; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90说明环境变量参数含义具体如下:LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.6.30/compiler/bisheng/lib”。PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.6.30/compiler/bisheng/bin”。CC:编译C语言程序的编译器名称,值为clang。CXX:编译C++程序的编译器名称,值为clang++。FC:编译Fortran程序的编译器名称,值为flang。F77:编译Fortran77程序的编译器名称,值为flang。F90:编译Fortran90程序的编译器名称,值为flang。回显信息示例:/opt/HPCKit/24.6.30/compiler/bisheng/lib:/usr/local/lib /opt/HPCKit/24.6.30/compiler/bisheng/bin:/usr/local/shc/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin clang clang++ flang flang flanggcc/compiler/gccmoduleecho $LD_LIBRARY_PATH; echo $PATH; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90说明环境变量参数含义具体如下:LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.6.30/compiler/gcc/lib64:/opt/HPCKit/24.6.30/compiler/gcc/lib”。PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.6.30/compiler/gcc/bin”。CC:编译C语言程序的编译器名称,值为gcc。CXX:编译C++程序的编译器名称,值为g++。FC:编译Fortran程序的编译器名称,值为gfortran。F77:编译Fortran77程序的编译器名称,值为gfortran。F90:编译Fortran90程序的编译器名称,值为gfortran。回显信息示例:/opt/HPCKit/24.6.30/compiler/gcc/lib64:/usr/local/lib /opt/HPCKit/24.6.30/compiler/gcc/bin:/usr/local/shc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin gcc g++ gfortran gfortran gfortranHMPIbisheng/hmpi/hmpiecho $LD_LIBRARY_PATH; echo $PATH; echo $INCLUDE; echo $OPAL_PREFIX说明环境变量参数含义具体如下:LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/lib”。PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/bin”。INCLUDE:Hyper MPI中hmpi、hucx和xucg组件的头文件目录,例如“/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/include:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/include:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/include”。OPAL_PREFIX:Hyper MPI中hmpi组件的安装目录,例如“/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi”。回显信息示例:/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/lib:/usr/local/lib /opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/include:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/include:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/include /opt/HPCKit/24.6.30/hmpi/bisheng/hmpigcc/hmpi/hmpiecho $LD_LIBRARY_PATH; echo $PATH; echo $INCLUDE; echo $OPAL_PREFIX说明环境变量参数含义具体如下:LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/lib:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/lib”。PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/bin:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/bin”。INCLUDE:Hyper MPI中hmpi、hucx和xucg组件的头文件目录,例如“/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/include:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/include:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/include”。OPAL_PREFIX:Hyper MPI中hmpi组件的安装目录,例如“/opt/HPCKit/24.6.30/hmpi/gcc/hmpi”。回显信息示例:/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/lib:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/lib:/usr/local/lib /opt/HPCKit/24.6.30/hmpi/gcc/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/bin:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /opt/HPCKit/24.6.30/hmpi/gcc/hmpi/include:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/include:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/include /opt/HPCKit/24.6.30/hmpi/gcc/hmpiKMLbisheng/kml/kmlecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kblas/serial-lockingecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kblas/locking /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kblas/serial-nolockingecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kblas/nolocking /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kblas/ompecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kblas/omp /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kblas/pthreadecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kblas/pthread /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kspblas/ompecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kspblas/multi /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kspblas/serialecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kspblas/single /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kvml/ompecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kvml/multi /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includebisheng/kml/kvml/serialecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/bisheng/lib/kvml/single /opt/HPCKit/24.6.30/kml/bisheng/include /opt/HPCKit/24.6.30/kml/bisheng/includegcc/kml/kmlecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kblas/serial-lockingecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kblas/locking /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kblas/serial-nolockingecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kblas/nolocking /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kblas/ompecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kblas/omp /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kblas/pthreadecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kblas/pthread /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kspblas/ompecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kspblas/multi /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kspblas/serialecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kspblas/single /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kvml/ompecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kvml/multi /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includegcc/kml/kvml/serialecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kml/gcc/lib/kvml/single /opt/HPCKit/24.6.30/kml/gcc/include /opt/HPCKit/24.6.30/kml/gcc/includeKPCCLbisheng/kpccl/kpcclecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kpccl/bisheng/lib /opt/HPCKit/24.6.30/kpccl/bisheng/include /opt/HPCKit/24.6.30/kpccl/bisheng/includegcc/kpccl/kpcclecho $LD_LIBRARY_PATH; echo $CPATH; echo $INCLUDE回显信息示例:/opt/HPCKit/24.6.30/kpccl/gcc/lib /opt/HPCKit/24.6.30/kpccl/gcc/include /opt/HPCKit/24.6.30/kpccl/gcc/includeHIOhio/hioecho $HIO_HOME回显信息示例:/opt/HPCKit/24.6.30/hio
-
想知道如何在鲲鹏平台上快速上手应用开发吗?鲲鹏DevKit告诉你答案!本期直播将聚焦鲲鹏DevKit,它集成了开发、编译、调试、调优、测试等软件开发的各个环节,帮助开发者完成基于鲲鹏服务器的一站式应用开发,提升应用开发效率,提升应用性能。直播链接:cid:link_0Q:鲲鹏DevKit 应用迁移工具支持哪些系统平台迁移?A:目前主要支持CentOS迁移到麒麟Q:鲲鹏DevKit有哪些行业应用案例?A:医疗、金融、运营商、基础科研、制造、电力、气象、交通、安平、互联网、政府、大企业Q:如何评估使用鲲鹏 DevKit 开发的应用的性能提升效果?A:评估应用性能,可以从以下几个方便入手:1,选取相关的基准测试,测量响应时间、吞吐量等指标;2,使用devkit性能采集工具,可以采集应用的性能指标,分析性能的瓶颈和改进空间;3,评估资源的利用情况,包括CPU、内存、磁盘和网络等,使用合理的分析方法,如TMA、roofline等。Q:对于新手开发者来说,鲲鹏 DevKit 的学习曲线是怎样的? 7. 它是否提供了丰富的文档和教程资源来帮助开发者快速上手?A:鲲鹏社区具有全套的DevKit学习流程和学习课程,可以根据课程顺序进行学习。地址为:https://www.hikunpeng.com/learn/courses?activeTab=1547169694099677185 文档可以参考鲲鹏社区的DevKit用户手册和最佳实践,地址为https://www.hikunpeng.com/document/detail/zh/kunpengdevps/overview/kunpengdevps.htmlQ:目标VM和Java程序在线分析的精度是如何确定的? 如何便捷存档数据便于后续相同业务对比分析?A:精度提供采集频率1ms-1000ms动态配置,可以灵活选择。在线分析和采样分析的数据支持导入导出,以方便后续相同业务对比分析。Q:鲲鹏DevKit系统性能分析工具包括哪些功能?A:性能分析工具目前包括:场景化ai调优分析、调优助手、全景分析、HPC分析、微架构分析、访存分析、进线程分析、热点函数、I/O分析、锁与等待分析、Roofline分析、资源调度分析等功能。Q:鲲鹏DevKit 系统性能分析工具中,HPC集群检查能检查哪些内容?A:通过对用户指定的MPI集群进行硬件、软件配置检查,并给出集群中各节点软硬件配置的一致度报告。检查对象支持硬件领域的CPU、GPU、互联、内存、网卡、磁盘,软件领域中的OS、Kernel、环境变量、MPI、OpenMP、HPC常用依赖库等维度。对于不符合鲲鹏平台最佳实践的配置,工具会给出优化建议。Q:鲲鹏DevKit 源码迁移支持哪些开发语言?A:ASM/C/C++/Fortran/Python/Java/Scala/GoQ:鲲鹏DevKit 系统迁移中支持哪些操作系统、中间件、数据库?A:系统:CentOS->麒麟V10中间件:Nginx,Redis,Tomcat,金蝶、东方通数据库:达梦、人大金仓Q:在线分析中如何保证系统额外开销小?采样分析的采样频率如何确定?A:在线分析支持采集频率1ms-1000ms动态配置,以更精确地捕获方法的耗时,这使得对于耗时较小的方法调用也能进行有效统计,从而提高了分析的精度。Q:与其他类似的开发工具相比,鲲鹏 DevKit 的优势在哪里?A:鲲鹏DevKit更加贴合鲲鹏平台底层,由于鲲鹏底层针对软件做了大量优化,DevKit能够更好地利用这些优化措施,完成开发调优。Q:鲲鹏DevKit Java性能分析工具主要用途是什么?A:Java性能分析工具是针对基于鲲鹏的服务器上运行的Java程序的性能分析和优化工具,能图形化显示Java程序的堆、线程、锁、垃圾回收等信息,收集热点函数、定位程序瓶颈点,帮助用户采取针对性优化。Q:鲲鹏DevKit 系统性能分析工具中,全景分析有什么作用?A:通过采集系统软硬件配置信息,以及系统CPU、内存、存储IO、网络IO资源的运行情况,获得对应的使用率、饱和度、错误次数等指标,以此识别系统性能瓶颈。针对部分系统指标项,根据当前已有的基准值和优化经验提供优化建议。Q:鲲鹏DevKit 亲和分析工具对平台有要求吗?A:有的,亲和分析支持鲲鹏平台Q:鲲鹏DevKit 支持哪些工具?A:目前DevKit支持VSCODE和网页端模式,囊括的开发工具包括迁移、开发、调试、亲和、调优、诊断等工具。Q:鲲鹏DevKit 是否有demo环境可以体验?A:可以通过www.hikunpeng.cm官方网站中,开发者选项里的学习选项,体验在线实验功能,提供云实验环境供开发者体验。Q:目标VM和Java程序的在线分析,如何针对不同的VM进行适配?如何提高在线分析对大型Java程序的适用性?A:java性能分析工具支持对jdk8-jdk17程序进行分析,支持的jdk包括Oracle JDK,毕昇Jdk。Q:AITunner调优是自动的吗A:是的。AITuner使用自研高性能AI调优方案,通过用户自主选择测试用例,对数据库和大数据场景进行自动优化,自动调优后给予最优参数配置,提供复杂场景下参数配置的优化建议。Q:全面调优包含哪些层面的优化,是如何协调不同层面的? 软硬件融合释放最佳性能,硬件和软件之间是如何交互协作的?A:全面调优包括:硬件、os和基础设施、应用层、数据和存储、网络等。一般协调不通层面的性能问题,可以通过分析性能瓶颈、逐层优化改进性能问题,确保每层改进都能带来整体的性能提升,监控系统性能,根据实时数据调整优化,确保各层面优化相互配合。常见的软硬件交互协作包括:硬件加速器、优化指令集、缓存优化、资源调度、反馈优化机制等。Q:是否有成功的应用迁移或开发案例供参考?A:可以参考hikunpeng网站的最佳实践章节:https://www.hikunpeng.com/document/detail/zh/kunpengdevps/handon_tutorials/bestpractice/kunpengDevKitPractice_0062.htmlQ:请问python+c+java可以同时进行性能调优吗?A:明前提供python+c的热点函数分析能力,以及单独的java和c的分析能力,可以灵活使用。Q:进程和线程之间的优先级关系应该如何分析?如何解决死锁和锁竞争问题?A:进线程的优先级需要考虑系统的调度策略、进程和线程的负载以及他们之间的依赖关系。避免死锁可以考虑:避免资源独占;确认线程申请资源时不持有其他资源;设计可抢占系统;减少循环等待链。编码时可以减少锁的粒度,使用读写锁或乐观锁提高锁的效率,设置超时机制等方式。Q:有具体的案例或者视频演示一下吗?关于性能调优方面的A:可以参考hikunpeng网站的最佳实践章节:https://www.hikunpeng.com/document/detail/zh/kunpengdevps/handon_tutorials/bestpractice/kunpengDevKitPractice_0062.htmlQ:鲲鹏DevKit 系统性能分析工具中,Agent管理有什么作用?A:Agent是负责实际运行采集插件的组件。通过将采集组件分离,可以实现分布式采集能力,方便用户部署多机采集能力。Q:调优助手给出的调优建议是基于什么模型或算法?专项分析是针对哪些特殊问题或场景开展的?A:调优助手是根据测试反馈和经验得到的优化建议。专项分析目前是对pc领域提供了独特的采集分析的方法和思路。Q:在调优过程中,如何平衡性能提升与资源消耗(如内存、CPU、网络带宽等)之间的关系?鲲鹏 DevKit 有哪些优化原则和方法?A:性能提升的目标就是提高资源利用的能力,为了平衡资源和性能就是在调优过程中关注资源的利用效率的指标。在资源消耗一定的情况下,需要提高资源利用的效率,将浪费的资源用上,将用上的资源用好。DevKit有很多分析和优化的方法,如cpu分析的TMA分析法、numa内存分析、roofline分析等。Q:那鲲鹏的性能调优可以直接在鲲鹏平台上进行性能调优吗?A:性能调优工具提供强大的采集能力,并基于采集结果和历史经验给出相关的调优建议;并且在一些场景提供了AI自动调优能力。Q:缺乏迁移经验的开发人员,应该关注哪些分析报告?A:如果是Java系统进行迁移,可以关注系统迁移的迁移结果报告;如果是其他语言,可以考虑源码迁移的迁移结果报告。Q:那对于鲲鹏平台来说,迁移什么语言主导的软件更好迁移呢?A:目前迁移Java系统更加方便迁移,因为我们针对Java系统场景做了系统迁移功能,能够端到端的实现鲲鹏迁移。Q:扫描软件安装包时,如何识别so依赖库兼容信息的准确性?有没有误判的可能?A:目前是存在误判的可能,用户可以通过手动拆包验证,或者直接执行验证去判定是否兼容,如果不兼容可以关注报告中是否存在兼容so的下载链接进行替换。Q:对于大型复杂项目的代码扫描,鲲鹏DevKit应用迁移的资源占用情况如何?是否会影响其他系统进程?A:这个取决于具体用户项目,更具用户反馈,暂时没有出现影响其他系统进程的场景。Q:扫描过程中如何确保对所有依赖库文件的扫描无遗漏?有没有特定的检查算法或者机制?A:我们针对依赖库的白名单是有定期更新机制的,但如果要确保所有依赖文件均可正常运行,需要用户执行手动测试验证。Q:请问在企业级应用中,中间件通常与其他系统组件紧密集成,自动迁移部署中间件时,如何确保与其他组件的兼容性和协同工作能力?A:自动迁移部署中间件时,我们主要确保了中间件能够正常启动,如果要确保应用和中间件的协同工作正常,需要参考迁移指导建议,针对配置文件等进行手动修改,修改完成后即可确保正确。Q:自动分析系统成分的准确性如何保证?是否存在误判或遗漏某些关键系统成分的可能性?如果出现这种情况,如何进行人工复核和修正?A:目前确实存在误报等情况,对此我们提供了系统成分修正功能,可以在扫描完成后增删改查Q:系统迁移就是说整个迁移吗还是?A:系统迁移指的是将整个Java应用程序系统进行搬迁,包括应用、中间件、数据库等。Q:迁移的目标系统,只能是openeuler,还是支持其他的linux?毕昇的make,支持c++哪些版本、java哪些版本?A:迁移的目标系统包括openEuler系的系统,如麒麟统信等常用国产OS,以及一些常用OS,详细信息参见:https://www.hikunpeng.com/document/detail/zh/kunpengdevps/userguide/usermanual/DevKit_Porting_0011.html 编译器支持版本也可参见:https://www.hikunpeng.com/document/detail/zh/kunpengdevps/userguide/usermanual/DevKit_Porting_0011.htmlQ:如何确保编译过程中的依赖项兼容鲲鹏架构?A:可以尝试使用应用迁移中的源码迁移,扫描makefile,查看是否存在不兼容编译选项。Q:如何确保在鲲鹏 DevKit 上迁移的软件与原软件在功能上完全一致?是否存在某些功能在迁移后无法正常使用的风险?A:鲲鹏DevKit迁移后的软件与原软件保持一致,除了需要使用DevKit进行迁移,还依赖用户执行手动测试,针对已有应用的测试用例进行执行,根据测试结果确认迁移后是否一致。 软件某些功能无法使用只会出现在使用了与硬件架构有关的功能中,这在实际编码中非常少,比如intel的内联函数,而这部分鲲鹏已经有替换的兼容库。Q:是否提供了专门的性能分析工具来帮助开发者识别瓶颈?A:是的。DevKit内置性能分析工具,可以帮助开发者识别性能瓶颈,达成快速调优的目标。Q:DevKit支持一站式应用开发吗?如何做好性能分析?A:鲲鹏 DevKit 确实支持一站式应用开发,从代码编写到性能调优都可以在一个环境中完成。它提供了丰富的性能分析工具,帮助开发者在开发过程中进行全面的性能分析和优化。Q:如何确保现有的x86架构上的应用程序能够顺利迁移到鲲鹏平台上?A:针对不同的语言和场景,我们有不同的解决方案,如果是Java系统,我们有系统迁移工具,确保X86的应用程序能够顺利迁移到鲲鹏平台,其他语言,我们可以使用源码迁移进行迁移工作。完成迁移后我们需要进行人工功能验证,保证应用功能正确性。Q:鲲鹏只能运行在鲲鹏CPU硬件上吗?如果我用麒麟的笔记本,比如L420,可以装IDE进行开发吗?A:鲲鹏指鲲鹏服务器,相关插件都是部署在鲲鹏服务器上。用户可以通过笔记本按照IDE远程连接服务器进行开发。Q:鲲鹏只能运行在鲲鹏CPU硬件上吗?如果我用麒麟的笔记本,比如L420,可以装IDE进行开发吗?A:鲲鹏指鲲鹏服务器,相关插件都是部署在鲲鹏服务器上。用户可以通过笔记本按照IDE远程连接服务器进行开发。Q:应用迁移过去有啥好处呢? 网络协议不一定兼容A:迁移到鲲鹏上能够使用鲲鹏软硬件结合的优势,进一步提高应用的运行速率。Q:在遇到问题时,是否有官方支持渠道或社区可以帮助解决?A:可以在www.hikungpeng.com官网社区反馈。想要了解更多鲲鹏 DevKit 相关知识,欢迎观看DTSE Tech Talk 系列技术直播
-
中奖结果公示感谢各位小伙伴参与本次活动,欢迎关注华为云DTSE Tech Talk 技术直播更多活动~本次活动获奖名单如下(部分视频号抽奖用户无账号名):账号名 奖项名称 奖品名称 备注hw81541353优质提问华为云开发者定制长袖圆领卫衣yizhangl优质提问华为云开发者定制长袖圆领卫衣单人提问数>20个,且重复内容过多,不符合活动要求yili6666口令抽奖华为云开发者定制折叠雨伞口令抽奖华为云开发者定制折叠雨伞口令抽奖华为云开发者定制折叠雨伞持久观看有奖华为云开发者定制笔记本支架视频号抽奖华为云开发者定制折叠雨伞视频号抽奖华为云开发者定制折叠雨伞视频号抽奖HDC定制渔夫帽视频号抽奖HDC定制渔夫帽
-
华为云开发者日·南京站来啦!参加“通过鲲鹏DevKit代码迁移工具快速完成C&C++源码迁移”体验项目提出你的建议或使用体验有机会获得开发者盲盒礼包惊喜不容错过,快叫上小伙伴一起来参加吧~【体验项目】通过鲲鹏DevKit代码迁移工具快速完成C&C++源码迁移【活动时间】2024年10月25日-10月31【参与方式】直接在此活动帖下方回帖提建议/提建议即可比如对产品功能的改进建议、对活动流程的感想、对现场活动的感悟等等PS:不要少于30字哦~【获奖规则】奖项设置有效回复楼层评选条件获奖名额激励礼品优质建议奖20对产品功能有改进价值的建议1名开发者盲盒礼品价值50-100元积极反馈奖20优质建议奖轮空的情况下进行抽取每满20层抽取1名开发者盲盒礼品价值50元【活动规则】1、本帖的回帖建议不少于30字,仅限于对“通过鲲鹏DevKit代码迁移工具快速完成C&C++源码迁移”体验项目,其他项目建议不参与此次活动,否则将视为无效内容。2、本次活动将根据实际参与情况发放奖励,包括但不限于用户百分之百中奖或奖项轮空的情况;以上奖品均为实物奖品,具体发放视出库情况而定;3、活动预计于结束后七天内完成奖项公示,并于结束后15个工作日内完成邮寄。【温馨提示】1、请务必使用个人实名账号参与活动(IAM、企业账号等账号参与无效)。如一个实名认证对应多个账号,只有一个账号可领取奖励,若同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。2、所有获得奖品的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。
-
华为云开发者日·武汉站来啦!参加“通过鲲鹏DevKit代码迁移工具快速完成C&C++源码迁移”体验项目提出你的建议或使用体验有机会获得开发者盲盒礼包惊喜不容错过,快叫上小伙伴一起来参加吧~【体验项目】通过鲲鹏DevKit代码迁移工具快速完成C&C++源码迁移【活动时间】2024年10月16日-10月20日【参与方式】直接在此活动帖下方回帖提建议/提建议即可比如对产品功能的改进建议、对活动流程的感想、对现场活动的感悟等等PS:不要少于30字哦~【获奖规则】奖项设置有效回复楼层评选条件获奖名额激励礼品优质建议奖20对产品功能有改进价值的建议1名开发者盲盒礼品价值50-100元积极反馈奖20优质建议奖轮空的情况下进行抽取每满20层抽取1名开发者盲盒礼品价值50元【活动规则】1、本帖的回帖建议不少于30字,仅限于对“通过鲲鹏DevKit代码迁移工具快速完成C&C++源码迁移”体验项目,其他项目建议不参与此次活动,否则将视为无效内容。2、本次活动将根据实际参与情况发放奖励,包括但不限于用户百分之百中奖或奖项轮空的情况;以上奖品均为实物奖品,具体发放视出库情况而定;3、活动预计于结束后七天内完成奖项公示,并于结束后15个工作日内完成邮寄。【温馨提示】1、请务必使用个人实名账号参与活动(IAM、企业账号等账号参与无效)。如一个实名认证对应多个账号,只有一个账号可领取奖励,若同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。2、所有获得奖品的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。
-
现在我需要对LLC进行调优,发现BIOS里面有这些地方涉及LLC但是不知道Cache Moded和Stream Write Mode的各个选项的区别在哪里https://bbs.huaweicloud.com/forum/thread-102569-1-1.html这个帖子里有人回答了第一个问题,但是链接失效了.希望有大佬解惑!
上滑加载中
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签