• [技术干货] CentOS7.6系统下编译Jruby-complete-9.1.13.0指导
     1 软件介绍JRuby,一个采用纯Java实现的Ruby解释器,由JRuby团队开发。它是一个自由软件,在CPL/GPL/LGPL三种许可协议下发布。主要开发者有Charles Nutter、Thomas Enebo、Ola Bini、Nick Sieger等。JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器。 2 预置条件2.1 硬件配置本文档TaiShan 2280 V2基于硬件环境展开。2.2 yum源配置将OS镜像上传到系统中,执行mount xxxx.iso /mnt进行挂载vim /etc/yum.repos.d/local.repo[local]name=localbaseurl=file:///mntenabled=1gpgcheck=0 yum clean all && yum makecache3 软件编译3.1 Java安装安装jdk可以直接使用镜像源中的1.80版本。yum install java-1.8.0-openjdk -y    配置环境变量vim /etc/profile最后执行source /etc/profile生效。                      3.2 maven安装获取maven安装包并解压到指定目录:wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gztar -zxf apache-maven-3.5.4-bin.tar.gzmv apache-maven-3.5.4 /opt/tools/installed/ 配置环境变量:vim /etc/profile执行source /etc/profile生效3.3 ant安装下载ant 1.9.2版本:wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.2-bin.tar.gztar zxf apache-ant-1.9.2-bin.tar.gz -C /opt/tools/installed/ 修改环境变量vim /etc/profile source /etc/profile 使环境变量生效 3.4 jruby-complete编译获取源码并解压:https://github.com/jruby/jruby/releases/tag/9.1.13.0 tar zxf jruby-9.1.13.0.tar.gzcd jruby-9.1.13.0 执行编译:mvn clean package -DskipTests -Dmaven.javadoc.skip=true -Pcomplete  结果查看:cd maven/jruby-complete/target;ls使用checkso检查:
  • [问题求助] 在鲲鹏centos中怎么安装视频播放解码器
    【功能模块】【操作步骤&问题现象】1、CentOS 7.6上安装了GNOME图形化界面2、使用浏览器播放视频失败,提示可能需要视频解码【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 鲲鹏 920 5230处理器 安装centos 7.6.180 操作系统,部署ceph产品,iscsi 挂载卷挂载失败
    环境信息,三台物理机:    处理器:  HUAWEI Kunpeng 920 5230    OS:       CentOS Linux release 7.6.1810 (AltArch)    内核版本:4.14.0-115.el7a.0.1.aarch64iscsi挂载卷失败,提示内核不支持。有在centos7.6上对接iscsi上验证成功的吗?
  • [问题求助] 鲲鹏服务器,安装系统为ARM版本CentOS7.9/CentOS7.6,Vscode remote没法连接
    【功能模块】vscode 连接鲲鹏服务器【操作步骤&问题现象】1、vscode安装插件ssh remote2、 使用配置连接同网段的鲲鹏服务器3. ssh连接是过了可以看到,但是出现莫名其妙的Could not  Fetch remote environment【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 移植指南(开源组件)> 气象> CAMx 6.50 移植指南(CentOS 7.6)中算例文件1,2,3文件链接失效,
    【功能模块】https://support.huaweicloud.com/prtg-kunpenghpcs/kunpengcamx_02_0002.html【操作步骤&问题现象】按照网上移植指南操作的时候。移植指南(开源组件)> 气象> CAMx 6.50 移植指南(CentOS 7.6)中算例文件1,2,3文件链接失效,无法下载算例文件,导致无法判断CAMx是否正确移成功,请问哪里可以下载算例文件呢?谢谢!【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] CentOS7下以omm用户身份安装openGauss DBMS时部署失败
    在进行安装已通过交互式检查以及给相关文件夹赋予权限以下是出错的命令及错误信息:omm@test script]$ gs_install -X /opt/software/openGauss/script/clusterconfig.xmlParsing the configuration file.Check preinstall on every node.Successfully checked preinstall on every node.Creating the backup directory.Last time end with Start cluster.Continue this step.Successfully created the backup directory.begin deploy..[GAUSS-51400] : Failed to execute the command: source /home/omm/.bashrc;python3 '/opt/gaussdb/wisequery/script/local/Install.py' -t start_cluster -U omm:dbgrp -X /opt/software/openGauss/script/clusterconfig.xml -R /opt/gaussdb/app -c dbCluster -l /var/log/gaussdb/omm/om/gs_local.log  --alarm=/opt/huawei/snas/bin/snas_cm_cmd  --time_out=300 .Error:Using omm:dbgrp to install database.Using installation program path : /opt/gaussdb/app_13b34b53$GAUSSHOME points to /opt/gaussdb/app_13b34b53, no need to create symbolic link.Traceback (most recent call last):  File "/opt/gaussdb/wisequery/script/local/Install.py", line 645, in <module>    functionDict[g_opts.action]()  File "/opt/gaussdb/wisequery/script/local/Install.py", line 588, in startCluster    dn.start(self.time_out)  File "/opt/gaussdb/wisequery/script/local/../gspylib/component/Kernel/Kernel.py", line 88, in start    "failure details." + "\n" + output)Exception: [GAUSS-51607] : Failed to start instance. Error: Please check the gs_ctl log for failure details.[2021-09-10 23:40:44.090][38338][][gs_ctl]: gs_ctl started,datadir is -D "/opt/gaussdb/data/db1"  [2021-09-10 23:40:44.136][38338][][gs_ctl]: waiting for server to start....0 [BACKEND] LOG:  Begin to start openGauss Database.2021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 DB001 0 [REDO] LOG:  Recovery parallelism, cpu count = 4, max = 4, actual = 42021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 DB001 0 [REDO] LOG:  ConfigRecoveryParallelism, true_max_recovery_parallelism:4, max_recovery_parallelism:42021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  gaussdb.state does not exist, and skipt setting since it is optional.2021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  Transparent encryption disabled.2021-09-10 23:40:44.237 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING:  could not create any HA TCP/IP sockets2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  InitNuma numaNodeNum: 1 numa_distribute_mode: none inheritThreadPool: 0.2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING:  Failed to initialize the memory protect for g_instance.attr.attr_storage.cstore_buffers (1024 Mbytes) or shared memory (4215 Mbytes) is larger.2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 42809 0 [BACKEND] FATAL:  could not create shared memory segment: Cannot allocate memory2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 42809 0 [BACKEND] DETAIL:  Failed system call was shmget(key=26000001, size=4420542464, 03600).2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 42809 0 [BACKEND] HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently 4420542464 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers.    The PostgreSQL documentation contains more information about shared memory configuration.2021-09-10 23:40:44.257 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  FiniNuma allocIndex: 0.[2021-09-10 23:40:45.137][38338][][gs_ctl]:  waitpid 38341 failed, exitstatus is 256, ret is 2[2021-09-10 23:40:45.137][38338][][gs_ctl]: stopped waiting[2021-09-10 23:40:45.137][38338][][gs_ctl]: could not start server[2021-09-10 23:40:45.137][38338][][gs_ctl]: Examine the log output.[GAUSS-51607] : Failed to start instance. Error: Please check the gs_ctl log for failure details.[2021-09-10 23:40:44.090][38338][][gs_ctl]: gs_ctl started,datadir is -D "/opt/gaussdb/data/db1"  [2021-09-10 23:40:44.136][38338][][gs_ctl]: waiting for server to start....0 [BACKEND] LOG:  Begin to start openGauss Database.2021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 DB001 0 [REDO] LOG:  Recovery parallelism, cpu count = 4, max = 4, actual = 42021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 DB001 0 [REDO] LOG:  ConfigRecoveryParallelism, true_max_recovery_parallelism:4, max_recovery_parallelism:42021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  gaussdb.state does not exist, and skipt setting since it is optional.2021-09-10 23:40:44.226 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  Transparent encryption disabled.2021-09-10 23:40:44.237 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING:  could not create any HA TCP/IP sockets2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  InitNuma numaNodeNum: 1 numa_distribute_mode: none inheritThreadPool: 0.2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 01000 0 [BACKEND] WARNING:  Failed to initialize the memory protect for g_instance.attr.attr_storage.cstore_buffers (1024 Mbytes) or shared memory (4215 Mbytes) is larger.2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 42809 0 [BACKEND] FATAL:  could not create shared memory segment: Cannot allocate memory2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 42809 0 [BACKEND] DETAIL:  Failed system call was shmget(key=26000001, size=4420542464, 03600).2021-09-10 23:40:44.240 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 42809 0 [BACKEND] HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently 4420542464 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers.    The PostgreSQL documentation contains more information about shared memory configuration.2021-09-10 23:40:44.257 613b7c7c.1 [unknown] 139801358951488 [unknown] 0 dn_6001 00000 0 [BACKEND] LOG:  FiniNuma allocIndex: 0.[2021-09-10 23:40:45.137][38338][][gs_ctl]:  waitpid 38341 failed, exitstatus is 256, ret is 2[2021-09-10 23:40:45.137][38338][][gs_ctl]: stopped waiting[2021-09-10 23:40:45.137][38338][][gs_ctl]: could not start server[2021-09-10 23:40:45.137][38338][][gs_ctl]: Examine the log output.
  • [技术干货] CentOS FirewallD学习笔记(三)
    使用 FirewallD 构建规则集例如,如果您正在运行 Web 服务器,以下是如何使用 FirewallD 分配基本规则的方法。将 dmz 区域指定为 eth0 的默认区域。在提供的默认区域中,dmz(非军事区)是此应用程序最理想的开始,因为它只允许 SSH 和 ICMP。sudo firewall-cmd --set-default-zone=dmzsudo firewall-cmd --zone=dmz --add-interface=eth0将 HTTP 和 HTTPS 的永久服务规则添加到 dmz 区域:sudo firewall-cmd --zone=dmz --add-service=http --permanentsudo firewall-cmd --zone=dmz --add-service=https --permanent重新加载 FirewallD 使规则立即生效:sudo firewall-cmd --reload1.运行firewall-cmd --zone=dmz --list-all,输出示例:dmz (default) interfaces: eth0 sources: services: http https ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:这告诉我们 dmz 区域是我们的默认值,它适用于 eth0 接口、所有网络源和端口。允许传入 HTTP(端口 80)、HTTPS(端口 443)和 SSH(端口 22)流量,并且由于对 IP 版本控制没有限制,这将适用于 IPv4 和 IPv6。不允许masquerade和端口转发。我们没有 ICMP 块,因此完全允许 ​​ICMP 流量,并且没有丰富的规则。允许所有出流量。
  • [技术干货] CentOS FirewallD学习笔记(二)
    FirewallD基础配置Firewalld 配置使用XML 文件。 除了非常具体的配置外,一般不必直接处理它们,而应该使用firewall-cmd。配置文件位于两个目录中:/usr/lib/FirewallD 保存默认配置,如默认区域和公共服务。 避免更新它们,因为每个 firewalld 软件包更新都会覆盖这些文件。/etc/firewalld 保存系统配置文件。 这些文件将覆盖默认配置。配置集Firewalld 使用两个配置集:运行时和永久。 重新启动或重新启动 FirewallD 时不会保留运行时配置更改,而永久更改不会应用于正在运行的系统。这有点像路由器上的running config和startup config。默认情况下,firewall-cmd 命令适用于运行时配置,但使用 --permanent 参数将建立持久配置。要添加和激活永久规则,您可以使用两种方法之一。分别在永久时和运行时增加一条规则:sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --zone=public --add-service=http将规则添加到永久集并重新加载 FirewallD:sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload注意:reload 命令删除所有运行时配置并应用永久配置。 由于 firewalld 动态管理规则集,因此不会中断现有连接和会话。防火墙区域区域是针对给定位置或场景(例如家庭、公共、受信任等)可能具有的各种信任级别的预先构建的规则集。 不同的区域允许不同的网络服务和传入的流量类型,同时拒绝其他一切。 首次启用 FirewallD 后,公共区域将成为默认区域。区域也可以应用于不同的网络接口。 例如,对于内部网络和 Internet 的单独接口,您可以在内部区域上允许 DHCP,但在外部区域上只允许 HTTP 和 SSH。 任何未明确设置为特定区域的接口都将附加到默认区域。查看默认区域:sudo firewall-cmd --get-default-zone改变默认区域:sudo firewall-cmd --set-default-zone=internal查看网络接口所在的区域:sudo firewall-cmd --get-active-zones输出示例:public interfaces: eth0获取特定区域的所有配置:sudo firewall-cmd --zone=public --list-all输出示例:public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh dhcpv6-client http ports: 12345/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:获取所有区域的所有配置:sudo firewall-cmd --list-all-zones输出示例:trusted target: ACCEPT icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ... work target: default icmp-block-inversion: no interfaces: sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:使用服务FirewallD 可以允许基于特定网络服务的预定义规则的流量。创建自己的自定义服务规则并将其添加到任何区域。 默认支持的服务的配置文件位于 /usr/lib/firewalld/services,用户创建的服务文件位于 /etc/firewalld/services。查看默认的可用服务:sudo firewall-cmd --get-services示例使能/关闭 HTTP服务:sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --zone=public --remove-service=http --permanent允许或拒绝任意端口/协议例如:允许或禁用端口 12345 上的 TCP 流量。sudo firewall-cmd --zone=public --add-port=12345/tcp --permanent sudo firewall-cmd --zone=public --remove-port=12345/tcp --permanent转发端口下面的示例规则将流量从端口 80 转发到同一服务器上的端口 12345。sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=12345要将端口转发到不同的服务器:在所需区域激活masquerade .sudo firewall-cmd --zone=public --add-masquerade添加转发规则。 本示例将流量从本地端口 80 转发到位于 IP 地址:198.51.100.0 的远程服务器上的端口 8080。sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=198.51.100.0要删除规则,请将 --add 替换为 --remove 例如:sudo firewall-cmd --zone=public --remove-masquerade
  • [技术干货] CentOS FirewallD学习笔记(一)
    FirewallD 是用于实现持久网络流量规则的 iptables 的前端控制器。它提供命令行和图形界面,可在大多数 Linux 发行版的存储库中使用。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:1.FirewallD 使用区域和服务而不是链和规则。2.它动态管理规则集,允许在不中断现有会话和连接的情况下进行更新。FirewallD 是 iptables 的包装器,可以更轻松地管理 iptables 规则,但它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议仅对 FirewallD 使用 FirewallD专有命令。安装和管理 FirewallD默认情况下,CentOS 7 包含 FirewallD,但它未激活。控制它与其他 systemd 单元方法相同。 1.要启动该服务并在启动时启用 FirewallD:sudo systemctl start firewalld sudo systemctl enable firewalld2.停止并禁用FirewallD:sudo systemctl stop firewalld sudo systemctl disable firewalld查看其运行状态sudo firewall-cmd --state查看进程状态:sudo systemctl status firewalld结果示例:firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-08-08 15:11:24 IST; 23h ago Docs: man:firewalld(1) Main PID: 2577 (firewalld) CGroup: /system.slice/firewalld.service └─2577 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid重启 FirewallD :sudo firewall-cmd --reload
  • [问题求助] 【鲲鹏BoostKit ARM原生使能套件】安卓安卓模拟器-欧拉镜像是否可以按centos方案搭建?
    【鲲鹏BoostKit ARM原生使能套件】安卓安卓模拟器-欧拉镜像是否可以按centos方案搭建?1、若可行?是否有相关的教程指导?2、若不可行?是否有其他基于欧拉镜像的其他方式安卓安卓模拟器的方案?目前欧拉镜像按照centos方案搭建 、(https://support.huaweicloud.com/dpmg-kunpengcps/kunpengandroid_CentOS_03_0001.html)1、没有配置GPU,因此未执行(安装显卡驱动、配置xorg文件、验证运行环境)2、在启动AVD时,未配置GPU命令,报错如图。帮忙解决??
  • [技术干货] 【HPC】HPC解决方案 benchmark-HPL安装指南(Centos 7.6)
    ... 111 介绍HPL(The High-Performance Linpack Benchmark)是测试高性能计算集群系统浮点性能的基准。HPL通过对高性能计算集群采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算集群的浮点计算能力。  建议的版本建议使用版本为“hpl-2.3”。2 环境要求硬件要求硬件要求如表2-1所示。表2-1 硬件要求项目说明CPUKunpeng 920软件要求软件要求如表2-2所示。表2-2 软件要求项目版本下载地址OPENBLAS0.3.6https://github.com/xianyi/OpenBLAS/archive/v0.3.6.tar.gzHPL2.3https://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz操作系统要求操作系统要求如表2-3所示。表2-3 操作系统要求项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0-115.el7a.0.1https://www.centos.org/download/3 移植规划数据本章节给出GRAPES软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。表3-1 移植规划数据序号软件安装规划路径用途说明1/path/to/BISHENG毕昇编译器的安装规划路径参考《用户指南(毕昇编译器)》中“毕昇编译器安装使用”章节,将毕昇编译器安装到规划路径2/path/to/HMPIHyper MPI的安装规划路径参考《华为高性能通信库》中“源码安装Hyper MPI”章节,将Hyper MPI安装到规划路径3/path/to/HPLHPL的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。3/path/to/OPENBLASOPENBLAS的安装规划路径。4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程表4-1 配置流程序号配置项说明1基础环境搭建参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。4.1 安装openblas操作步骤                                     步骤 1      使用PuTTY工具,以root用户登录服务器。                                     步骤 2      执行以下命令解压openblas安装包。tar -xvf OpenBLAS-0.3.6.tar.gz                                     步骤 3      执行以下命令进入解压后的目录。cd OpenBLAS-0.3.6                                     步骤 4      执行以下命令设置环境变量export CC=clangexport CXX=clang++export FC=flang                                     步骤 5      执行以下命令进行编译安装。makemake PREFIX=/path/to/OPENBLAS install5 获取源码操作步骤                                     步骤 1      下载hpl安装包“hpl-2.3.tar.gz”下载地址:https://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz                                     步骤 2      使用SFTP工具将hpl安装包上传至服务器“/path/to/HPL”目录。----结束6 编译和安装操作步骤                                     步骤 1      使用PuTTY工具,以root用户登录服务器。                                     步骤 2      执行以下命令进入主程序安装目录。cd /path/to/HPL                                     步骤 3      执行以下命令解压主程序安装包。tar -xvf hpl-2.3.tar.gz                                     步骤 4      执行以下命令进入解压后的目录。cd hpl-2.3                                     步骤 5      创建文件:Make.Linux_Arm,内容如下。SHELL        = /bin/shCD           = cdCP           = cpLN_S         = ln -fsMKDIR        = mkdir -pRM           = /bin/rm -fTOUCH        = touch ARCH         = Linux_ArmHOME         = /path/to/HPLTOPdir       = $(HOME)/hpl-2.3INCdir       = $(TOPdir)/includeBINdir       = $(TOPdir)/bin/$(ARCH)LIBdir       = $(TOPdir)/lib/$(ARCH)HPLlib       = $(LIBdir)/libhpl.a LAdir        = /path/to/OPENBLASifndef  LAincLAinc        = $(LAdir)/includeendififndef  LAlibLAlib = /path/to/OPENBLAS/lib/libopenblas.aendif F2CDEFS      = -DAdd__ -DF77_INTEGER=int -DstringSunStyleHPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) -I$(LAinc) $(MPinc)HPL_LIBS     = $(HPLlib) $(LAlib) $(MPlib)HPL_OPTS     = -DHPL_DETAILED_TIMING -DHPL_PROGRESS_REPORTHPL_DEFS     = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES) CC       = mpiccCCNOOPT  = $(HPL_DEFS)OMP_DEFS = -fopenmpCCFLAGS  = $(HPL_DEFS) -O3LINKER       = $(CC)LINKFLAGS    = $(CCFLAGS) $(OMP_DEFS) ARCHIVER     = arARFLAGS      = rRANLIB       = echo                                     步骤 6      执行以下命令进行编译安装。  make arch=Linux_Arm编译完成后可以看到在当前目录下生成bin,lib,include三个文件夹 7 运行和验证操作步骤                                      步骤 1      执行以下命令进入HPL测试目录cd /path/to/HPL/hpl-2.3/bin/Linux_Arm                                     步骤 2      修改HPL.dat文件6、8、11、12行234624       Ns192          NBs2            Ps8            Qsl  N表示求解的矩阵数量与规模。矩阵规模N越大,有效计算所占的比例也越大,系统浮点处理性能也就越高。但矩阵规模越大会导致内存消耗量越多,如果系统实际内存空间不足,使用缓存、性能会大幅度降低。矩阵占用系统总内存的80%左右为最佳,即N×N×8=系统总内存×80%(其中总内存的单位为字节)。上述N值是以512G系统内存为例计算得到的,根据经验为384的倍数更佳。l  NB表示求解矩阵过程中矩阵分块的大小,分块大小对性能有很大的影响,NB的选择和软硬件许多因素密切相关。NB值的选择主要是通过实际测试得出最优值,一般遵循以下规律:NB不能太大或太小,一般小于384。NB×8一定是缓存行的倍数。NB的大小和通信方式、矩阵规模、网络、处理器速度等有关系。一般通过单节点或单CPU测试可以得到几个较好的NB值,但当系统规模增加、问题规模变大,有些NB取值所得性能会下降。因此建议在小规模测试时选择3个性能不错的NB值,再通过大规模测试检验这些选择。l  P表示水平方向处理器个数,Q表示垂直方向处理器个数。P×Q表示二维处理器网格。P×Q=进程数。P和Q的取值一般遵循以下规律:P≤Q,一般情况下P的取值小于Q,因为列向通信量(通信次数和通信数据量)要远大于横向通信。P建议选择2的幂。HPL中水平方向通信采用二元交换法(Binary Exchange),当水平方向处理器个数P为2的幂时性能最优。以128核机器为例,经测算当进程为16时,每个进程8个线程时性能较好,故此处P=2 Q=8。                                     步骤 3      执行以下命令运行HPL测试time mpirun --allow-run-as-root -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --rank-by core -map-by ppr:16:node:pe=8 ./xhpl运行成功如下图所示:  ----结束       
  • code-aster 14.6.0 移植指南(Centos 7.6)
    code-aster 14.6.0 移植指南(Centos 7.6)
  • Kunpeng平台ESPResSomd移植指南(Centos 7.6 ).docx
    1 介绍ESPRESSO是一个高度通用的,进行分析粗粒度原子模型或珠簧模型的分子动力学软件包。该软件可以被用来模拟诸如聚合物、液晶、胶体、铁磁流体和生物系统的系统(如DNA和脂质膜)。关于ESPResSomd的更多信息请访问ESPResSom官网语言:C++/Python一句话描述:一个进行分析粗粒度原子模型或珠簧模型的分子动力学软件包。建议的版本建议使用版本为“espresso-4.1.4”。2 环境要求硬件要求硬件要求如表2-1所示。表2-1 硬件要求项目说明CPUKunpeng 920软件要求软件要求如表2-2所示。表2-2 软件要求项目版本下载地址ESPResSomd4.1.4https://github.com/espressomd/espresso/releases/download/4.1.4/espresso-4.1.4.tar.gzFFTW3.3.8http://www.fftw.org/fftw-3.3.8.tar.gzboost1.72.0https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz cmake3.8.1https://cmake.org/files/v3.8/cmake-3.8.1.tar.gz操作系统要求操作系统要求如表2-3所示。表2-3 操作系统要求项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0-115.el7a.0.1https://www.centos.org/download/3 移植规划数据本章节给出SCHISM软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。表3-1 移植规划数据序号软件安装规划路径用途说明1/path/to/ESPRESSOMDESPResSomd的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。2/path/to/FFTWFFTW的安装规划路径3/path/to/CMAKECMAKE的安装规路径4/path/to/BOOSTBOOST的安装规划路径4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程表4-1 配置流程序号配置项说明1yum安装依赖库参考4.1安装python等所需依赖库2安装FFTW参考4.2安装fftw5安装CMAKE参考4.3安装cmake6安装BOOST参考4.4安装boost 4.1 安装yum安装依赖库操作步骤                                步骤 1      执行以下命令配置华为云镜像源wget --no-check-certificate -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.tools.huawei.com/repository/conf/CentOS-AltArch-7.repoecho '[epel]name=Extra Packages for Enterprise Linux 7 - $basearchbaseurl=http://mirrors.tools.huawei.com/epel/7/$basearchfailovermethod=priorityenabled=1gpgcheck=0' > epel.repo                                步骤 2      执行以下命令配置软件源缓存yum clean allyum makecache                                步骤 3      执行以下命令安装python3、GSL、git、numpy、Cythonyum install -y python36 python3-devel gsl-devel git python36-numpy.aarch64  python36-Cython.aarch644.2 安装FFTW操作步骤                                步骤 1      使用PuTTY工具,以root用户登录服务器。                                步骤 2      执行以下命令解压FFTW安装包。         tar -xvf fftw-3.3.8.tar.gz                                步骤 3      执行以下命令进入解压后的目录。                                                                                                                                                                                                                                                       cd fftw-3.3.8                                步骤 4      执行以下命令进行配置。         ./configure --prefix=/path/to/FFTW --enable-shared --enable-static --enable-fma --enable-neon                                步骤 5      执行以下命令进行编译安装。         make -j 128         make install                                步骤 6      执行以下命令设置主程序安装时需要的FFTW环境变量         export CPATH=/path/to/FFTW/include:$CPATH4.3 安装cmake操作步骤                                步骤 1      使用PuTTY工具,以root用户登录服务器。                                步骤 2      执行以下命令解压CMAKE安装包。        tar -xvf cmake-3.8.1.tar.gz                                步骤 3      执行以下命令进入解压后的目录。        cd CMake-3.8.1                                步骤 4      执行以下命令进行编译安装。        ./bootstrap --prefix=/path/to/CMAKE        make -j 16        make install                                步骤 5      执行以下命令设置cmake环境变量        export PATH=/path/to/CMAKE/bin:$PATH4.4 安装BOOST操作步骤                                步骤 1      使用PuTTY工具,以root用户登录服务器。                                步骤 2      执行以下命令解压BOOST安装包。         tar -xvf boost_1_72_0.tar.gz                                步骤 3      执行以下命令进入解压后的目录。        cd boost_1_72_0                                步骤 4      执行以下命令进行配置。        ./bootstrap.sh --with-toolset=gcc --with-libraries=all --with-python=/usr/bin/python3 --with-python-root=/usr --with-python-version=3.6 --prefix=/path/to/BOOST                                步骤 5      执行以下命令修改project-config.jam文件。        vim project-config.jam按“i”进入编辑模式,将21行的分号改为冒号,并在21行后新增两行修改前21行     using python : 3.6 : "/usr" ;修改后21     using python : 3.6 : "/usr" :22     "/usr/include/python3.6m" :23     "/usr/lib" ;在最后一行下新建一行,内容如下:using mpi ;按“Esc”键,输入:wq!,按“Enter”保存并退出编辑                                步骤 6      执行以下命令进行编译安装                                                                                                  ./b2 -j32                                                                                                                                                                                                                                                                                            ./b2 install -j3                                                                                                                                                                                                                                                                 步骤 7      新建BOOST_ROOT变量,设置环境变量。        export BOOST_ROOT=/path/to/BOOST        export LD_LIBRARY_PATH=/path/to/BOOST/lib:$LD_LIBRARY_PATH 5 获取源码操作步骤                                步骤 1      获取ESPRESSOMD安装包“espresso-4.1.4.tar.gz”。下载途径:https://github.com/espressomd/espresso/releases/download/4.1.4/espresso-4.1.4.tar.gz。                                步骤 2      使用SFTP工具将CUACE安装包上传至服务器“/path/to/ESPRESSOMD”目录。----结束6 编译和安装操作步骤                                步骤 1      使用PuTTY工具,以root用户登录服务器。                                步骤 2      执行以下命令进入主程序安装目录。         cd /path/to/ESPRESSOMD                                步骤 3      执行以下命令解压安装包。         tar -xvf espresso-4.1.4.tar.gz                                步骤 4      执行以下命令进入解压后路径。        cd espresso                                步骤 5      修改cmake/FindFFTW3.cmake文件         vim cmake/FindFFTW3.cmake按“i”进入编辑模式,在25行前新增以下两行SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "/path/to/FFTW/include")SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "/path/to/FFTW/lib")按“Esc”键,输入:wq!,按“Enter”保存并退出编辑                                步骤 6      创建一个单独的build目录,进入目录来构建espresso。         mkdir build         cd build                                步骤 7      执行以下命令进行构建         cmake ..                                步骤 8      修改CMakeCache.txt第37行为以下内容,添加编译选项         CMAKE_CXX_FLAGS:STRING=-O3 -march=armv8.2-a -mcpu=tsv110 -Wl,-rpath=/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc -L/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc -lmathlib -lm                                步骤 9      执行以下命令配置鲲鹏GCC优化版mathlib的环境变量         export LD_LIBRARY_PATH=/path/to/KPGCC/gcc-9.3.1-2020.12-aarch64-linux/lib64/libhpc:$LD_LIBRARY_PATH                            步骤 10      执行以下命令进行编译安装        make 编译成功后会在/path/to/ESPRESSOMD/espresso/build/src/core文件夹中生成EspressoCore.so动态库,可用ldd命令列出动态库依赖关系。 7 运行和验证操作步骤                                步骤 1      使用PuTTY工具,以root用户登录服务器。                                步骤 2      执行以下命令运行源码包自带算例。        { time -p mpirun --allow-run-as-root -np 128 -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 ./pypresso ../samples/constraints.py > run.log ;} 2>>run.log输出的日志文件结果样例如下图所示:8 更多资源 关于ESPResSomd的更多资源请访问ESPResSom官网
  • Kunpeng平台Moose Framework 1.0.0 移植指南 (CentOS 7.6)
    1. 介绍:        Moose Framework,简称MOOSE,是面向对象的有限元多物理场环境模拟软件,由爱华达国家实验室开发,主要用于解决多尺度非线性的地球科学和工程力学问题。2.移植前的准备工作:   1)安装好gcc、openmpi环境   2)安装cmake   3) 安装python33.获取Moose Framework源码。          git config --global http."sslVerify" false          git clone https://github.com/idaholab/moose.git4. 编译安装。          1)声明环境变量                       export CC=mpicc                export CXX=mpicxx                export F90=mpif90                       export F77=mpif77                export FC=mpif90          2)进入MOOSE的scripts目录      cd  /path/to/MOOSE/moose/scripts           3)安装petsc                   ./update_and_rebuild_petsc.sh    4)安装libmesh       ./update_and_rebuild_libmesh.sh    5)进入“test”目录        cd /path/to/MOOSE/moose/test    6)编译主程序        make -j 165. 测试验证。
  • [问题求助] centos arm版的进去都是空的,没有可下载的镜像
    centos arm版的进去都是空的,没有可下载的镜像