.NET与鲲鹏共展翅,昇腾九万里(一)

本文详述了在华为鲲鹏服务器上部署并运行.NETCore应用的过程,从购买服务器、配置环境、安装Docker,到成功运行.NETCore示例程序,展示了国产硬件与开源软件的完美结合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019年1月7日,华为推出鲲鹏920处理器,便宣告了构建鲲鹏生态系统的开始。据官方介绍,鲲鹏是一个包含了鲲鹏计算单元、AI处理单元、智能管理、智能网卡的片上系统SoC,在此之上加上服务器操作系统,从而形成一个生态的闭环。在2019年9月20号举办的华为全联接大会中,预告了华为服务器操作系统EulerOS(欧拉)将会以开源版本发出,代号为openEuler,其主要目的就是完善鲲鹏生态系统。被华为Cloud&AI BG总裁侯金龙称为“鲲鹏灵魂”的就是这个openEuler操作系统,它不仅能让华为云计算为人工智能保驾护航,还能为数据安全提供更全面的保障。在2020年3月27日的华为开发者大会上,正式推出了openEuler 20.03 LTS 版本,任何伙伴都可以免费的获取LTS版本,并且可以商业化,同时承诺将对openEuler永久免费、开源。

随着美帝对中国的封锁日趋严峻,国家在大政策方针上也开始了全面国产化的进程,新上线的软硬件服务基本上都要求使用国产,符合安全可控原则。本人所在公司业务也涉及到国企及党政军部门的业务,因此必须在国产化安全可控方面有相应的策略,经过一番对国产服务器及操作系统(多多少少都有一些现有国外开源Linux的影子)的调研了解后,个人觉得华为推出的鲲鹏服务器以及Euler系统比较符合公司的发展方向:1. 华为有自主知识产权硬件,鲲鹏为Arm架构芯片,性能与Intel相比不弱;2. 开源的Euler使用起来更让人放心;3. 华为同时拥有软硬件开发能力,这使得系统的稳定性和可用性更强; 4. 最重要的一点,我们使用 .NET Core 开发平台,支持Arm架构,并且在Docker的加持下(使用Docker是为了简化运行环境配置,毕竟那些配置还是很繁琐的),基本上无需修改程序,仅仅需要在Euler系统上重新编译即可顺利运行。以下,我就介绍如何使用Euler系统来编译运行.NET Core程序。

01


首先,作为测试环境,我在华为云上购买了一台鲲鹏云服务器,4C8G, EulerOS 2.8

02



其次,我们要先调整下系统环境,不知为何默认的yum包源并不正确,查阅官方文档才获得正确配置。

1. SSH远程登录后,需要调整一下yum包的源地址。转到 /etc/yum.repos.d 目录下,修改 euleros_aarch64.repo 文件内容如下:

[base]
name=EulerOS-2.0SP8 base
baseurl=http://mirrors.huaweicloud.com/euler/2.8/os/aarch64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.huaweicloud.com/euler/2.8/os/RPM-GPG-KEY-EulerOS


2. 添加Docker包源

执行如下命令:

yum-config-manager \
 --add-repo \
 https://download.docker.com/linux/centos/docker-ce.repo


dnf clean all # 清除所有的缓存文件
dnf makecache # 制作元数据缓存

然后再执行

yum repolist all

显示内容大致如下,说明yum软件包源设置成功

03


接下来,该是安装Docker的时候了。

1. 安装必备组件

yum install policycoreutils-python
wget http://mirror.centos.org/altarch/7/extras/aarch64/Packages/container-selinux-2.107-3.el7.noarch.rpm
rpm -ivh container-selinux-2.107-3.el7.noarch.rpm

2. 安装Docker

yum list docker-ce --showduplicates | sort -r # 列一下可以安装的Docker版本
yum install docker-ce # 当然是默认最新版啦

3. 安装完看一下Docker版本

docker -v
Docker version 19.03.8, build afacb8b

4. 既然Docker装好了,我们跑一下 .NET Core 官方Demo瞧瞧

docker run --rm -it -p 80:80 mcr.microsoft.com/dotnet/core/samples:aspnetapp

嗯,程序顺利运行起来了!请忽略截图里几个”Already exists”, 因为我之前已经拉了一个dotnet的包。我们现在用浏览器访问下服务器的80端口看看吧!

 

页面正确展示,也显示了服务器的一些信息,只是那个最大可用内存有点问题,感觉应该是core的问题,有知道的同学可以留言说说看。

04


至此,我们让Arm架构的鲲鹏服务器在Euler系统上基于Docker跑起 .NET Core程序了。如果有Docker运行 .NET Core程序的同学们就已经可以自己玩起来了,如果没有做过,那么在下一篇文章中,我将继续介绍如何使用.NET SDK 的 Docker镜像编译 .NET Core程序,并使用Docker将它跑起来。

最后,让我们来欣赏下作为国产硬件骄傲的鲲鹏生态主打曲。

“鲲之大,不知千里也,鹏之背,翼若垂云天”

### 鲲鹏服务器昇腾AI加速卡的兼容性及使用方案 #### 兼容性分析 鲲鹏服务器基于华为自主研发的鲲鹏处理器设计,能够提供强大的通用计算能力。昇腾AI加速卡则专注于人工智能领域的训练和推理任务,二者通过软硬件协同优化可以实现高效的AI处理能力[^3]。 具体来说,昇腾AI加速卡可以通过PCIe Gen4 x16接口连接至鲲鹏服务器,并以EP(Endpoint)模式运行作为协处理器。这种架构允许多张昇腾AI加速卡并行扩展,从而满足分布式推理任务的需求[^2]。此外,鲲鹏服务器的操作系统经过适配后,能够支持昇腾AI加速卡所需的驱动程序和开发环境,进步增强了两者的兼容性和稳定性。 #### 使用方案概述 为了充分发挥鲲鹏服务器昇腾AI加速卡的能力,建议采用以下技术路径: 1. **软件栈搭建** - 安装适合鲲鹏平台的操作系统版本,例如欧拉OS或其他经认证的支持鲲鹏架构的Linux发行版。 - 调用昇腾AI云服务器所支持的Python接口或MindStudio图形化工具完成模型部署管理操作[^1]。 2. **框架支持** - 利用TensorFlow、Caffe、MindSpore等主流深度学习框架进行算法开发。这些框架均已被优化以便更好地适应昇腾处理器特性。 3. **网络通信优化** - 结合25Gbps高性能智能网卡以及8×100Gbps RDMA网络构建大规模训练集群,提升数据传输效率和支持更复杂的AI应用场景需求。 4. **编程实践示例** 以下是利用MindSpore框架在配备昇腾AI加速卡的鲲鹏服务器上执行简单神经网络训练的个代码片段: ```python import numpy as np from mindspore import context, nn, Tensor from mindspore.nn import TrainOneStepCell, WithLossCell context.set_context(mode=context.GRAPH_MODE, device_target="Ascend") class Net(nn.Cell): def __init__(self): super(Net, self).__init__() self.dense = nn.Dense(in_channels=16, out_channels=10) def construct(self, x): return self.dense(x) network = Net() loss_fn = nn.SoftmaxCrossEntropyWithLogits(sparse=True, reduction='mean') optimizer = nn.Momentum(network.trainable_params(), learning_rate=0.01, momentum=0.9) net_with_loss = WithLossCell(network, loss_fn) train_network = TrainOneStepCell(net_with_loss, optimizer) input_data = Tensor(np.random.randn(32, 16).astype(np.float32)) label = Tensor(np.random.randint(0, 10, (32)).astype(np.int32)) for _ in range(10): # 进行十次迭代更新参数 train_network(input_data, label) ``` 上述脚本展示了如何定义个简单的全连接层并通过梯度下降法对其进行训练的过程。其中`device_target="Ascend"`指定了目标设备为昇腾系列芯片。 #### 维护发展策略 随着华为持续投入资源完善其围绕鲲鹏昇腾处理器建立起来的产品生态系统,未来可能会推出更多针对特定行业定制化的解决方案和服务包来简化用户的实施流程并降低总体拥有成本(TCO)[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值