-
华为鲲鹏处理器基于ARM架构。ARM是一种CPU架构,有别于Intel、AMD CPU采用的CISC复杂指令集,ARM CPU采用RISC精简指令集(Reduced Instruction Set Computer)。 传统的CISC体系由于指令集庞大,指令长度不固定,指令执行周期有长有短,使指令译码和流水线的实现在硬件上非常复杂,给芯片的设计开发和成本的降低带来了极大困难。 随着计算机技术的发展需要不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。 针对这些明显的弱点,1979年美国加州大学伯克利分校提出了RISC的概念。RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。 RISC结构优先选取使用频率最高的简单指令,避免复杂指令。将指令长度固定,指令格式和寻址方式种类减少。以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。 ARM架构具有更好的并发性能,匹配业务特征能耗比更佳,更加灵活丰富的选择,业界热点快速发展。 华为鲲鹏处理器兼容Armv8指令集,详细信息请参考《ARM® Architecture Reference Manual Armv8, for Armv8-A architecture profile》。 本文档详细描述了华为鲲鹏920处理器指令替换的相关案例,主要适用于使用华为鲲鹏920处理器的以下人员: -m64编译选项 更新时间:2023/09/22 告警信息:gcc: error: unrecognized command line option ‘-m64’。 可能原因 -m64是x86 64位应用编译选项,m64选项设置int为32bits及long、指针为64 bits,为AMD的x86 64架构生成代码。在Arm64平台无法支持。 处理步骤 将Arm64平台对应的编译选项设置为-mabi=lp64。 char数据类型的符号 更新时间:2023/09/22 3.0 现象描述 告警信息:warning: comparison is always false due to limitedrange of data type。 可能原因 char变量在不同CPU架构下默认符号不一致,在x86架构下为signed char,在Arm64平台为unsigned char,移植时需要指定char变量为signed char。 处理步骤 在编译选项中加入“-fsigned-char”选项,指定Arm64平台下的char为有符号数。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_45521613/article/details/139779876
-
xaGear是一款二进制指令动态翻译软件,运行在Arm64服务器上,通过将x86的指令在运行时翻译为Arm64指令并执行,使得绝大部分x86应用无需重新编译就可运行在Arm64服务器上,实现低成本、快速迁移x86应用到Arm64服务器。 ExaGear安装过程中,更新Linux的binfmt_misc组件将x86应用的解析器注册为ExaGear,安装完成后主要有两个组件:指令翻译引擎和x86运行环境。 指令翻译引擎 ExaGear的指令翻译引擎是一个“中间件”软件解决方案,位于x86应用程序与Armv8架构服务器之间(见图1)。x86应用启动时,Linux内核通过binfmt_misc识别x86应用,并通过ExaGear的指令翻译引擎对x86进行加载执行,在运行时翻译为Arm指令并执行。对执行x86应用的用户而言,整个过程是简易且透明的,和操作Arm应用无差别。 x86运行环境 x86运行环境是ExaGear创建的一个包含所有标准库、实用程序、配置文件的x86应用执行环境,这确保了x86应用程序运行所需的基础设施组件的可用性。从技术角度讲,x86运行环境是一个特定的文件目录,包含了x86库、命令、实用程序和其它系统文件(见图2)。x86应用程序的二进制文件也必须存放于x86运行环境中。 特性: 支持多种部署方式:支持在物理机、虚拟机、容器等平台上部署; 部署简单:一键式快速安装,x86应用部署和运行与迁移前保持一致; 支持多版本guest Linux OS:目前支持CentOS 7、Ubuntu 18、Ubuntu 20,并且根据用户需求,未来可定制支持更多Linux OS发行版; 低损耗: 大多数场景的应用,翻译损耗在10%以内。 技术约束: 只支持用户态 x86应用, 不支持驱动、虚拟化平台等内核程序的翻译。 支持x86通用指令和SSE、AVX扩展指令和AVX2,不支持AVX-512指令。 当前支持的guest OS为CentOS 7、Ubuntu 18、Ubuntu 20。 已知产生内存序问题的库已在白名单列表中,“x86强内存顺序模型”设置项关闭。在需要“功能优先”的场景,可以打开设置项。具体见2.3.5(或2.4.5) - 内存顺序模型介绍。 浮点计算相关的“x86位相同精度”和“80位x86精度”设置项默认关闭。在需要绝对浮点精确的场景下,可以分别打开对应设置项。具体见2.3.5(或2.4.5) - X86位相同精度、80位 X86精度介绍。 Linux on x86应用,在运行时涉及的文件或文件夹的绝对路径的字符串长度不大于4KB。 在64KB page size的Linux系统上,部分Linux on x86应用可能存在4KB page size的兼容性问题。 不支持ExaGear for Server 和ExaGear for Docker同时部署在同一台机器上。 在ExaGear下载页,选择“软件包下载”获取软件包。 软件包名称:ExaGear_3.1.0.1 目录结构示例 ExaGear_3.1.0.1 — ExaGear_Server_for_Centos7 ------ release — ExaGear_Server_for_Ubuntu18 ------ release — ExaGear_Server_for_Ubuntu20 ------ release — Exagear4docker ------ deb --------- release ------ rpm --------- release ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_45521613/article/details/139779916
-
前言 本手册用于指导用户使用GCC for openEuler构建业务场景及相关注意事项。 概述 GCC for openEuler基于开源GCC-10.3版本(https://gcc.gnu.org,2021年4月发行)开发,并进行了优化和改进,实现软硬件深度协同优化,挖掘OpenMP、SVE向量化、数学库等领域极致性能,是一种Linux下针对鲲鹏920处理器的高性能编译器。GCC for openEuler默认使用场景为TaiShan服务器、鲲鹏920处理器、Arm架构,操作系统为CentOS 7.6、openEuler 22.03、openEuler 20.03等。 功能介绍 除GCC通用功能和优化外,增加了新的功能支持,如自动反馈优化、mcmodel=medium、四精度浮点等;对中后端性能优化技术也进行了增强,包括SVE(可伸缩矢量化)、循环向量化、SLP向量化、浮点优化、内存优化、指令优化等。部分通用信息可参考GCC internal,GCC for openEuler新增优化选项参考GCC for openEuler选项支持。 关键特性 支持自动反馈优化特性,实现数据库等场景性能倍增 支持鲲鹏微架构芯片及指令优化 通过软硬协同提供相较开源GCC更高的性能 高性能计算典型应用性能深度优化 支持的编程语言 GCC是一种涵盖多种编程语言和目标处理器的编译器,GCC for openEuler聚焦于C、C++、Fortran编程语言的支持,使用gcc作为C语言的编译和驱动程序,g++作为C++语言的编译和驱动程序,gfortran作为Fortran语言的编译和驱动程序。 功能介绍 除GCC通用功能和优化外,增加了新的功能支持,如自动反馈优化、mcmodel=medium、四精度浮点等;对中后端性能优化技术也进行了增强,包括SVE(可伸缩矢量化)、循环向量化、SLP向量化、浮点优化、内存优化、指令优化等。部分通用信息可参考GCC internal,GCC for openEuler新增优化选项参考GCC for openEuler选项支持。 关键特性 支持自动反馈优化特性,实现数据库等场景性能倍增 支持鲲鹏微架构芯片及指令优化 通过软硬协同提供相较开源GCC更高的性能 高性能计算典型应用性能深度优化 支持的编程语言 GCC是一种涵盖多种编程语言和目标处理器的编译器,GCC for openEuler聚焦于C、C++、Fortran编程语言的支持,使用gcc作为C语言的编译和驱动程序,g++作为C++语言的编译和驱动程序,gfortran作为Fortran语言的编译和驱动程序。 GCC for openEuler环境依赖 更新时间:2024/02/01 暂无评分 我要评分 内存:4GB及以上 操作系统:openEuler 22.03 LTS SP2、openEuler 22.03 LTS SP1、openEuler 22.03 LTS、openEuler 20.03 LTS SP3、CentOS 7.6、Ubuntu 18.04、Ubuntu 20.04、麒麟V10、UOS 20 架构:AArch64 Glibc版本:2.17及以上 获取GCC for openEuler 更新时间:2024/02/01 暂无评分 我要评分 软件包获取 在GCC for openEuler产品页,选择“GCC for openEuler 软件包下载”获取软件包。 软件包名称:gcc-10.3.1-2023.06-aarch64-linux.tar.gz 软件包目录结构: gcc-10.3.1-2023.06-aarch64-linux –aarch64-linux-gnu –bin –include –lib –lib64 –libexec –share 完整性校验 获取软件包后,需要校验软件包,确保与网站上的原始软件包一致。GCC for openEuler产品页提供sha256sum文件用于软件包的完整性校验,用户可使用以下命令生成哈希值对比确认: sha256sum gcc-10.3.1-2023.06-aarch64-linux.tar.gz 安装GCC for openEuler 更新时间:2024/02/01 暂无评分 我要评分 这里介绍GCC for openEuler的安装过程,以下操作均使用root用户执行。 获取GCC for openEuler软件包后,将其上传到目标服务器上。 设置安装目录。 创建GCC for openEuler安装目录(这里以/opt/aarch64/compiler为例) mkdir -p /opt/aarch64/compiler 将GCC for openEuler压缩包拷贝到安装目录下: cp -rf gcc-10.3.1-2023.06-aarch64-linux.tar.gz /opt/aarch64/compiler 进入压缩包目录,执行命令解压缩软件包。 tar -xf gcc-10.3.1-2023.06-aarch64-linux.tar.gz 解压缩完成后,在当前目录下会看到名为gcc-10.3.1-2023.06-aarch64-linux的目录。 配置环境变量,有编辑/etc/profile文件和使用environment-modules工具管理环境变量(无需修改/etc/profile)两种方式。 方式1:编辑/etc/profile文件 在/etc/profile文件其末尾添加如下内容: export PATH=/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/bin:P A T H e x p o r t I N C L U D E = / o p t / a a r c h 64 / c o m p i l e r / g c c − 10.3.1 − 2023.06 − a a r c h 64 − l i n u x / i n c l u d e : PATH export INCLUDE=/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/include:PATHexportINCLUDE=/opt/aarch64/compiler/gcc−10.3.1−2023.06−aarch64−linux/include:INCLUDE export LD_LIBRARY_PATH=/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/lib64:L D L I B R A R Y P A T H 编辑完成后,执行下列命令让环境变量生效。后续重新连接到服务器后,无需重复执行下列命令,系统会自动加载该配置。 s o u r c e / e t c / p r o f i l e 须知如果您的安装目录不同,请注意修改为实际目录。请遵循安装路径在环境变量前的规则,比如下列写法会导致 G C C f o r o p e n E u l e r 无法正常加载。 e x p o r t P A T H = LD_LIBRARY_PATH 编辑完成后,执行下列命令让环境变量生效。后续重新连接到服务器后,无需重复执行下列命令,系统会自动加载该配置。 source /etc/profile 须知 如果您的安装目录不同,请注意修改为实际目录。 请遵循安装路径在环境变量前的规则,比如下列写法会导致GCC for openEuler无法正常加载。 export PATH=LD L IBRARY P ATH编辑完成后,执行下列命令让环境变量生效。后续重新连接到服务器后,无需重复执行下列命令,系统会自动加载该配置。source/etc/profile须知如果您的安装目录不同,请注意修改为实际目录。请遵循安装路径在环境变量前的规则,比如下列写法会导致GCCforopenEuler无法正常加载。exportPATH=PATH:/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/bin 方式2:使用environment-modules工具管理环境变量 创建配置文件GCC_modulefiles,内容参考如下: #%Module1.0##################################################################### modules modulefile set version 10.3.1 setenv GCC_DIR /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux prepend-path PATH /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/bin prepend-path INCLUDE /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/include prepend-path LD_LIBRARY_PATH /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/lib64 prepend-path MODULEPATH /opt/aarch64/moduledeps/gcc-10.3.1-2023.06-aarch64-linux family “compiler” 需要加载GCC for openEuler环境变量时,参考如下方式执行module命令: module use path-of-GCC-configuration-files module load GCC_modulefiles 完成GCC for openEuler环境变量配置及加载后,执行下列命令验证GCC for openEuler版本: gcc -v 如果返回结果包含GCC for openEuler的version信息,则GCC for openEuler已安装成功。比如: gcc version 10.3.1 (gcc for openEuler 2.3.4) 使用GCC for openEuler 更新时间:2024/02/01 5.0 我要评分 编译运行C程序 (这里以hello.c为例) gcc hello.c -o hello.out ./hello.out 编译运行Fortran程序 (这里以hello.f90为例) gfortran hello.f90 -o hello.out ./hello.out GCC for openEuler基于开源GCC开发,并进行了优化和增强,且GCC基线版本也会定时升级,版本升级会导致编译器默认行为发生变更,比如语法检查更加严格,默认选项发生变化等。本章节主要列出一些GCC for openEuler版本升级变更影响说明,以及与开源GCC的兼容性问题。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_45521613/article/details/139779978
-
2024年6月22日,华为开发者大会2024“开发者圈层创新发展圆桌会议”在东莞华为溪流背坡村成功举办。华为云为开发者提供多元生态协同和全链路赋能,充分发挥产业组合优势,以开放的生态能力,激发开发者无限创新,加速开发者云上成长。在圆桌会议上,华为的技术专家为HCDE们带来了基于云底座的鲲鹏原生开发、HarmonyOS NEXT应用适配等技术干货,并与大家共同探讨了企业在技术创新新浪潮下,开发者如何利用华为云、鲲鹏和鸿蒙实现转型和创新升级。通过这次圆桌会议,来自各行业领域的HCDE表达了对鲲鹏原生开发、HarmonyOS NEXT应用适配的迫切诉求,表示将会共同推动华为产品打造,构筑繁荣的开发者生态。▲华为开发者关系部部长 许劲松 会议开始由华为开发者关系部部长许劲松致辞,他表示:“开发者是华为生态建设的核心。华为一直秉承开放、协作、利他的理念持续发展商业生态,持续开放技术、丰富工具链、优化体验、沉淀并分享行业经验,汇聚产业力量,携手开发者,共同探索数字化转型和智能化发展的新机遇、新模式、新业态,共创美好未来。”▲鲲鹏DevKit软件专家 侯凯鲲鹏DevKit软件专家侯凯分享了关于《基于云底座的鲲鹏原生开发——鲲鹏DevKit,一站式开发工具链》主题内容,深度分析了目前一站式开发工具链-鲲鹏DevKit如何助力用户极简开发,快速创建鲲鹏场景化应用以及高效开发鲲鹏亲和代码。侯凯表示:“鲲鹏DevKit是一款提供涵盖代码迁移、开发调试、编译、测试、性能调优及系统诊断等各环节的开发使能工具集,方便开发者快速开发出鲲鹏亲和的高性能软件。同时,帮助开发者加速应用迁移和算力升级,面向全研发作业流程,提升应用迁移和调优效率,加速原生开发。迁移、开发、调优全程无缝衔接。”并且分享了鲲鹏DevKit在如交通、数字政府、教育科研等热门行业的应用案例。 ▲ 华为云开发者创新中心总监 童得力华为云开发者创新中心总监童得力分享了关于《全景探秘鸿蒙适配那些事!引领未来制造新时代!-HarmonyOS NEXT应用适配》主题内容,HarmonyOS从无到有,经过多年不断完善,2024年HarmonyOS Next将开启开发和适配新浪潮。童得力分享了鸿蒙化改造实施路径: 1、梳理当前 App功能特性清单,及App中使用的 SDK 清单(包括三方开源库/闭源 库)、组件范围;2、基于以上范围明确鸿蒙客户端架构以及第三方组件的升级计划与方案;3、组建鸿蒙技术团队搭建与技术储备,整体框架进行鸿蒙化研发,对于第三方组件进行技术调研后决定是自研、寻找开源库或采用第三方。在分享的最后他表示在不久的将来,HarmonyOS人才需求将持续增长,懂鸿蒙将成为求职就业关键竞争力之一,目前HarmonyOS已走进百所高校课堂,成为热门课程,未来HarmonyOS将会进入到千行百业。▲ 华为云开发者生态运营总监 胡志学圆桌最后,华为云开发者生态运营总监胡志学进行了总结发言,他表示,感谢来自全国的优秀HCDE专家为华为云开发者生态持续发展贡献力量。未来,华为云将继续携手HarmonyOS、昇腾、鲲鹏、欧拉构建多元生态,从硬件到软件、从平台到应用,通过统一的开发者云底座和完备的开发者生态服务能力,为开发者提供了便捷的生态服务能力和丰富的资源支持,助力开发者技术与业务升级。圆桌邀请到的嘉宾都是来自于华为云开发者圈层各行业专家,是经华为云认证的熟悉一种或多种华为云开放能力,并对赋能全球开发者有突出贡献的个人,他们在会议的研讨环节发表了各自对于华为云、鲲鹏与鸿蒙多生态下的技术创新与商业实践的观点,与华为专家展开深入讨论。由于圆桌时长有限,最后各位技术专家仍然意犹未尽,期待未来有更多机会参与到华为云开发者圈层的技术活动中。华为云开发者圈层通过为高校开发者、专家开发者、伙伴开发者等不同阶段的开发者提供建立的开放、创新、多元的技术交流及商业互助平台。各圈层成员不仅能享受各圈层对应权益,加入全球40+城市超500个线下技术圈子,与众多开发者大咖进行技术交流,期待您的加入。
-
华为云开发者日·广州站来啦!参加“通过鲲鹏DevKit代码迁移工具快速完成X86软件包重构”项目,提出你的建议有机会获得开发者盲盒礼包惊喜不容错过,快叫上小伙伴一起来吧【体验项目】通过鲲鹏DevKit代码迁移工具快速完成X86软件包重构【活动时间】2024年5月23日-5月31日【参与方式】直接在此活动帖下方回帖提建议即可比如对产品功能的改进建议、对活动流程的感想、对现场活动的感悟等等PS:不要少于30字哦~【获奖规则】奖项设置有效回复楼层评选条件获奖名额激励礼品优质建议奖20对产品功能有改进价值的建议1名开发者盲盒礼品价值50-100元积极反馈奖20优质建议奖轮空的情况下进行抽取抽取1名开发者盲盒礼品价值50元【活动规则】1、本帖的回帖建议不少于30字,仅限于对“通过鲲鹏DevKit代码迁移工具快速完成X86软件包重构”体验项目,其他项目建议不参与此次活动,否则将视为无效内容。2、本次活动将根据实际参与情况发放奖励,包括但不限于用户百分之百中奖或奖项轮空的情况;以上奖品均为实物奖品,具体发放视出库情况而定;3、活动预计于结束后七天内完成奖项公示,并于结束后15个工作日内完成邮寄。【温馨提示】1、请务必使用个人实名账号参与活动(IAM、企业账号等账号参与无效)。如一个实名认证对应多个账号,只有一个账号可领取奖励,若同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。2、所有获得奖品的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。
-
最近在做信创测试, 在鲲鹏920上分别测试了.net 3.1, 6.0, 8.0, 9.0-preview, 测试结果如下测试方法:dotnet new webapicurl http://localhost:port/whetherforcast 测试的版本:.net core 3.1: 通过.net core 6.0: 通过.net core 8.0: 失败, 提示内存操作失败异常.net core 9.0-preview: 失败, 提示内存操作失败异常请问哪里可以找到技术支持么?
-
随着信息技术的不断发展和互联网的普及,金融行业进行了广泛的数字化转型,以应对市场竞争和满足客户日益增长的期望。银行和金融机构逐渐采用了在线和远程服务提高效率和降低成本,并更好地满足客户需求。非现场开户软件是数字化时代金融行业发展的产物,提供更为便捷、高效和安全的开户服务,客户可以随时随地地完成开户流程,无需亲自前往银行和金融机构。深圳市思迪信息技术股份有限公司(以下简称“思迪信息”)是一家专注、为金融机构提供线上化、数字化和智能化软件产品的技术公司。围绕金融机构财富管理、资产管理和机构服务的业务场景,思迪提供了数字营销、线上开户、业务办理、投顾服务、资产配置、理财交易、风险监控等数字工具,形成了自动化和智能化的业务中台,帮助客户敏捷应对业务的变化。思迪信息非现场开户系统是面向证券行业个人及机构客户,提供双向视频、单向视频、人脸识别、活体检测等多种客户认证方式,支持7x24小时开户受理,一站式完成股东账户新开、转户,场内基金账户、场外基金账户开通。鲲鹏天然的多核高并发、高安全等优势,能够很好的满足平台高并发、高安全及高可用等要求,并提供完善的鲲鹏DevKit开发套件以及专业服务,能够帮助用户快速完成应用的迁移、开发、编译和调优。基于以上考虑,思迪信息选择基于鲲鹏软硬件平台,共同打造面向证券行业个人户非现场开户解决方案,具备股东账户新开、转户,场内基金账户、场外基金账户开通的功能,满足个人客户非现场开户需求,提供7*24小时服务,实现一站式远程开户的价值。思迪信息非现场开户软件系统全栈图快速迁移 通过代码迁移工具,平均2人天完成应用的迁移 在项目实施初期,开发人员需要将软件平台快速迁移到鲲鹏。该系统主要由Java和Go多种语言开发,经分析,整个系统预计需要6人天才能完成。而鲲鹏DevKit代码迁移工具可以实现依赖文件自动识别、兼容JAR包一键下载、代码修改建议一键替换,在鲲鹏DevKit的帮助下整个系统迁移只用了2人完成了应用的迁移。全栈调优,软硬协同 在吞吐量场景,获取邮编性能有267.92%提升;在平均响应时间场景,查询邮编性能有72.79%提升。 为充分释放鲲鹏硬件多核的算力,技术人员参考鲲鹏BoostKit数据库调优指南,在BIOS、操作系统、数据库多个方面进行了针对性的性能调优BIOS方面,通过关闭SMMU提升网卡性能,关闭CPU预取功能减少Cache污染。操作系统方面,使用手动绑核将网卡中断固定住,可以有效提高业务网络收发包的能力。数据库组件方面,通过在鲲鹏平台上对应用代码进行改造,将oracle数据库替换为鲲鹏亲和性更高的海量数据库,结合鲲鹏CPU核数较多的优势,合理修改各组件配置的参数$PGDATA/postgresql.conf,提升数据库多线程场景性能。在开发过程中,为进一步提升业务与鲲鹏平台的兼容性和稳定性,技术人员将平台之前使用的编译工具OpenJDK8换成毕昇JDK,毕昇JDK在鲲鹏架构中提供了更好的稳定性,对被测试系统进行吞吐量测试,查询用户信息提升166.75%,登录检查提升53.63%,获取邮编提升267.92%。随着移动互联网普及,金融业态需要向线上升级,思迪是最早一批进入券商技术服务领域的企业,依靠自身先发优势,与多个券商达成合作,占据非现场开户70%市场。思迪信息非现场开户软件解决方案实现为个人投资者提供用户体验友好、便捷、智能的非现场开户服务,通过智能化手段提升金融机构开户整体服务能力与效率,助力金融机构业务的数字化、自动化、智能化。作为鲲鹏计算产业生态重要伙伴,思迪信息已与深圳市金融攻关基地建立长期合作关系,未来将联合鲲鹏持续开发创新,加强与上下游的生态合作,为推动技术创新、促进金融客户数字化转型升级贡献一份力量,服务行业转型升级。
-
鲲鹏处理器,作为华为在2019年1月向业界发布的一款高性能数据中心处理器,其设计和特性充分展示了华为在芯片技术领域的深厚积累和创新能力。该处理器基于ARM架构,以高性能、高带宽、高集成度、高效能四大特点,满足了数据中心的多样性计算和绿色计算需求。ARM架构的优势鲲鹏处理器采用ARM架构,使得芯片面积小、功耗低、集成度更高,且具备更好的并发性能。同时,它支持64位指令集,能更好地兼容从IOT、终端到云端的各类应用场景。大量使用寄存器,使得大多数数据操作都在寄存器中完成,从而提高了指令执行速度。此外,采用RISC指令集,指令长度固定,寻址方式灵活简单,执行效率高。多样化的产品线鲲鹏处理器系列包括低功耗级鲲鹏916处理器、极致效能级鲲鹏920-3226和鲲鹏920-4826处理器,以及极致性能级鲲鹏920-6426处理器。这些处理器采用不同的工艺和内核数量,以满足不同场景和性能需求。例如,低功耗级鲲鹏916处理器采用16nm工艺,支持24个内核,主频2.4GHz,功耗低至75w。而极致性能级鲲鹏920-6426处理器则采用7nm工艺,支持64个内核,主频2.6GHz。技术创新与自研鲲鹏处理器的内核全自研,算力提升50%。同时,自研片间支持2路/4路互联,自研多种硬件协加速引擎,包括SSL加速引擎、加解密加速引擎、压缩解压加速引擎等。此外,鲲鹏处理器支持8通道DDR4内存控制器,100G RoCE端口,PCIe4.0/CCIX协议,制程工艺领先,采用业界首款7纳米数据中心ARM CPU,业界领先的CoWos封装技术,实现多Die合封,提升可靠性。应用场景广泛鲲鹏处理器的高性能、低功耗、易集成等特点,使其特别适用于大数据、云计算、人工智能等场景。通过搭载鲲鹏处理器的服务器,企业可以构建高效、稳定的IT系统,满足各种复杂业务需求。此外,鲲鹏处理器支持多种主流操作系统和应用软件,可以方便地集成到现有的IT环境中,降低企业迁移成本,提高投资回报率。总结鲲鹏处理器作为华为的一款高性能数据中心处理器,其基于ARM架构的设计、多样化的产品线、技术创新与自研、以及广泛的应用场景,都充分展示了华为在芯片技术领域的深厚积累和创新能力。尽管在数据中心领域属于新进入者,但其生态正在快速发展,未来有望在该领域取得更大的突破和成就。
-
如题,pytorch cpu训练很慢,使用的是开源的wenet语音识别框架,搭了一个nvidia/cuda:11.6.1-cudnn8-runtime-ubuntu20.04镜像,但用的是cpu,训练可以正常运行,性能表现是模型前向计算很慢,一个小时的训练数据,batchsize 16, num_worker 4, 模型参数量80M, 需要一个小时才能跑一个batch,16小时跑一个epoch,这是因为什么问题导致的呢,大佬们帮忙看看我仔细分析了下,发现是torch.nn.Conv1d这个函数跑的慢, X86跑了0.016秒,arm跑了0.254秒,这是测试代码: import torch import time # Create random input input_data = torch.randn(1, 256, 1000) # Create convolutional layer #conv1d_layer = torch.nn.Conv1d(in_channels=1, out_channels=1, kernel_size=3) #start_time_x86 = time.time() conv1d_layer = torch.nn.Conv1d( 256, 256, 15, stride=1, padding=0, groups=256, bias=True, ) # Perform convolution on x86 start_time_x86 = time.time() output_x86 = conv1d_layer(input_data) end_time_x86 = time.time() time_elapsed_x86 = end_time_x86 - start_time_x86 print('Time elapsed on x86:', time_elapsed_x86) print(output_x86)
-
华为云开发者日·2023年度创享峰会来啦!参加“通过鲲鹏DevKit代码迁移工具快速完成X86软件包重构”,提出你的建议有机会获得开发者盲盒礼包惊喜不容错过,快叫上小伙伴一起来吧【体验项目】通过鲲鹏DevKit代码迁移工具快速完成X86软件包重构【活动时间】2023年12月20日-12月31日【参与方式】直接在此活动帖下方回帖提建议即可比如对产品功能的改进建议、对操作流程的感想、对现场活动的感悟等等PS:不要少于30字哦~【获奖规则】奖项设置有效回复楼层评选条件获奖名额激励礼品优质建议奖20对产品功能有改进价值的建议1名开发者盲盒礼品价值50-100元积极反馈奖20优质建议奖轮空的情况下进行抽取抽取1名开发者盲盒礼品价值50元【活动规则】1、本帖的回帖建议不少于30字,仅限于对“通过鲲鹏DevKit代码迁移工具快速完成X86软件包重构”体验项目,其他项目建议不参与此次活动,否则将视为无效内容。2、本次活动将根据实际参与情况发放奖励,包括但不限于用户百分之百中奖或奖项轮空的情况;以上奖品均为实物奖品,具体发放视出库情况而定;3、活动预计于结束后七天内完成奖项公示,并于结束后15个工作日内完成邮寄。【温馨提示】1、请务必使用个人实名账号参与活动(IAM、企业账号等账号参与无效)。如一个实名认证对应多个账号,只有一个账号可领取奖励,若同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。2、所有获得奖品的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。
-
Devkit 是怎么检测JDK版本的
-
我是小白,鲲鹏迁移在IDEA上的插件都是什么
-
解压失败,压缩包中存在软链接
-
3 环境搭建 华为鲲鹏创新中心旗舰店:适配鲲鹏的软件镜像地址(1)安装docker创建docker配置目录mkdir /etc/docker创建配置文件tee /etc/docker/daemon.json <<-'EOF' { "debug": true, "storage-driver": "overlay2", "storage-opts":["overlay2.override_kernel_check=true"], "graph":"/opt/docker",] } EOF使用镜像源安装dockerdnf install docker启动dockersystemctl start docker开机自动启动systemctl enable docker查看docker版本信息docker info 报错:Failed to download metadata for repo ‘docker-ce-stable‘: Cannot download repomd.xml参考:【bobo测有效】【openEuler】安装Docker-云社区-华为云 (huaweicloud.com) 安装配置-3 (openeuler.org) (2)安装docker-compose dnf install docker-compose 参考: openEuler安装docker | 远方的灯塔 - 专注于服务端技术分享 (terwergreen.com) (3)毕昇JDK安装(非docker) 第一步:获取软件包cid:link_0cid:link_1第二步:上传到软件包到home目录下毕昇JDK安装:将 bisheng ----.tar.gz 压缩包解压缩:tar -zxvf bisheng-jdk第三步:配置环境变量vi /etc/profileexport JAVA_HOME=/home/bisheng-jdk-17.0.2 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar第四步:使环境变量生效source /etc/profile第五步:查看安装结果Java -version安装参考:UOS系统安装 毕昇JDK和GCC for OpenEuler_鲲鹏_华为云论坛 (huaweicloud.com)(4)mysql 8(docker) docker pull mysql:8.0:拉取mysql 8.0 docker images:查看本地所有的镜像 启动mysql服务运行容器: docker run -itd #创建一个运行在后台的容器,并提供一个可与之交互的终端。 --name mysql #容器名称 --restart always #总是重启 --privileged=true #指定容器是否为特权容器,特权容器拥有所有root权限 -p 3306:3306 #端口映射感谢分享-e MYSQL_ROOT_PASSWORD=MySQL#567890 #配置信息 -v /data/ruoyi/mysql:/var/lib/mysql #目录挂载【注】目录不用事先创建好,自动的 mysql:8.0??? docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=MySQL#567890 -v /data/ruoyi/mysql:/var/lib/mysql mysql:8.0 docker ps:列出启动容器 docker ps -a: 列出所有的运行过的容器 工具连接,测试(crud)成功,刷入自己的sql文件 (5)redis 6.2.3(docker) docker ps -a docker kill redis docker rm redis docker pull redis:6.2.3:拉取redis 6.2.3 docker images:查看本地所有的镜像 创建宿主机的" mkdir /etc/redis "目录,把对应版本的redis.config文件放到其中: 把最后一行注释去掉(针对ARM64系统)把绑定的ip地址改成:bind 0.0.0.0 启动redis服务运行容器: docker run --restart=always #指定容器停止后的重启策略 --log-opt max-size=100m #设置单个日志文件的小。 --log-opt max-file=2 #设置保留的日志文件的最大数量。 -p 6379:6379 #指定容器暴露的端口 --name redis #指定容器名字,后续可以通过名字进行容器管理 -v /etc/redis/redis.conf :/etc/redis/redis.conf #给容器挂载存储卷【注】前面是宿主机目录 -v /data:/data #给容器挂载存储卷,挂载到容器的某个目录 -d redis:6.2.3 redis-server /etc/redis/redis.conf #加载外部自定义配置启动redis容器 --appendonly yes # 在容器执行redis-server启动命令,并打开redis持久化配置 连接容器 --requirepass Redis#567890 ??? 亲测有效: docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /etc/redis/redis.conf:/etc/redis/redis.conf -v /data:/data -d redis:6.2.3 /usr/local/bin/redis-server /etc/redis/redis.conf --appendonly yes --requirepass Redis#567890磨嘉国-备份: docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /data/app/prj/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/app/prj/redis/data:/data -d redis:6.2.3 redis-server /etc/redis/redis.conf --appendonly yes --requirepass Redis#567890 docker ps:列出启动容器 docker ps -a: 列出所有的运行过的容器 工具连接,测试(crud)成功 错误1:docker中启动redis,报错:Fatal error, cant open config file_fatal error, can't open config file 错误2:Warning: Could not create server TCP listening socket ::1:6379: bind: Cannot assign requested address:bind 0.0.0.0bind 0.0.0.0 ignore-warnings ARM64-COW-BUG (6)nacos-server 2.0.4(docker) 亲测有效:2.0.3,如下图亲测有效:2.0.4,如下图参考一:docker拉取arm版本nacos并运行 如何拉取特定架构amd64、arm64、aarch64的容器镜像//第一种 找不到自动拉取 docker run --name hello-nacos -e MODE=standalone -p 8848:8848 -d zill057/nacos-server-apple-silicon:2.0.3//第二种先拉取再运行 docker pull zhusaidong/nacos-server-m1:2.0.3 docker run --name nacos -e MODE=standalone -e JVM_XMS=512m -e JVM_XMX=512m -e JVM_XMN=256m -p 8848:8848 -p 9848:9848 -d zhusaidong/nacos-server-m1:2.0.3 参考二:ARM下不行docker pull nacos/nacos-server:先拉取最新的nacosdocker run-it-d #指定容器运行于前台还是后台,默认为false-p 8848:8848 #指定容器暴露的端口-p 9848:9848 #指定容器暴露的端口--env MODE=standalone #通过env语法设置了一个名为MODE的环境变量,并将其值设置为standalone。-e TZ=Asia/Shanghai #配置信息--name nacos #容器名称nacos/nacos-server:latest:启动最新版本无效:参考:华为云服务器下 Docker 安装 Nacos最新版并配置数据库先拉取最新的nacosdocker pull nacos/nacos-server运行容器docker run -it -d -p 8848:8848 -p 9848:9848 --env MODE=standalone --restart=always --privileged=true -e TZ=Asia/Shanghai --name nacos nacos/nacos-server:latest 备份-磨嘉国docker run -it -d -p 8848:8848 -p 9848:9848 --env MODE=standalone -e TZ=Asia/Shanghai --name nacos nacos/nacos-server:latest (7)nginx laster(docker) docker run--name nginx #容器名称-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf #给容器挂载存储卷录-v /etc/nginx/default.conf:/etc/nginx/conf.d/default.con f#给容器挂载存储卷-v /etc/nginx/picture:/usr/share/nginx/html/picture #给容器挂载存储卷,挂载到容器的某个目录-p 9899:9899 #指定容器暴露的端口-d nginx:latest #安装最新的nginx报" 500循环 ":再加一个 -v 前端存放的路径:/usr/share/nginx/html/dist报" 403权限不足 ":给dist目录(及子目录和文件 )777权限,chmod -R 777 dist亲测有效:docker run --name nginx -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf -v /etc/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /etc/nginx/picture:/usr/share/nginx/html/picture -v /etc/nginx/dist:/usr/share/nginx/html/dist -p 9899:9899 -d nginx:latest 磨嘉国-备份:docker run --name prjnginx -v /data/app/prj/nginx/nginx.conf:/etc/nginx/nginx.conf -v /data/app/prj/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /data/app/prj/picture:/usr/share/nginx/html/picture -p 9899:9899 -d nginx:latest nginx.confworker_processes 1;events { #user 1024; worker_connections 1024; }http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65;server { listen 9899; server_name 173.51.12.37; charset utf-8; client_max_body_size 15m; location / { root /usr/share/nginx/html/dist; try_files $uri $uri/ /index.html; index index.html index.htm; error_page 405 =200 http://$host$request_uri; } location /con/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://173.51.12.37:9900/; } location /dev-api/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For &proxy_add_x_forwarded_for; proxy_pass http://173.51.12.37:9900/; } location /statics{ alias /usr/share/nginx/html/picture; autoindex on; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}default.confserver { listen 9899; listen [::]:9899; server_name localhost;#access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #}}(8).jar文件启动命令 nohup java-jar #是Java命令的一个选项,用于指定要执行的Java应用程序是一个打包成可执行JAR文件的应用程序。通过使用-jar选项,你无需手动指定要执行的主类,而是让JVM自动从JAR文件的清单中读取。-server #Java命令的一个选项,用于指定以服务器模式运行Java虚拟机(JVM)。-Xms1024m #设置Java堆的最大内存大小-Xmx1024m #设置Java堆的初始内存大小-XX:NewRatio=15 #Java虚拟机(JVM)的一个参数,用于设置新生代与老年代内存大小的比例。-XX:SurvivorRatio=8 #Java虚拟机的一个参数,用于设置 Eden区与 Survivor区内存大小的比例。-Duser.timezone=GMT+8 #Java命令的一个系统属性选项,用于设置Java应用程序的默认时区。ruoyi-gateway.jar > gateway.log 2>&1 #将Java程序的标准输出和标准错误都写入到gateway.log文件中& #后台运行nohup java -jar -server -Xms1024m -Xmx1024m -XX:NewRatio=15 -XX:SurvivorRatio=8 -Duser.timezone=GMT+8 ruoyi-gateway.jar > gateway.log 2>&1 &(9)前端部署 vue.config.js:修改访问IP 前端运行:若依官网进入项目目录cd ruoyi-ui安装依赖npm install强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。npm install --registry=本地开发 启动项目npm run dev 前端打包:npm run build:prod (9)后端部署 nohup java -jar -server -Xms1024m -Xmx1024m -XX:NewRatio=15 -XX:SurvivorRatio=8 -Duser.timezone=GMT+8 ruoyi-gateway.jar > gateway.log 2>&1 &
-
鲲鹏服务器的主频应该如何设置200MHz以上的
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签