【昇腾AI系列】MindStudio环境搭建

本文详细指导如何在x86电脑的VMware中为Ubuntu 18安装CANN工具,并进行交叉编译,提权设置、IDEA配置,包括安装Java、MindStudio和相关SDK,旨在帮助开发者高效开发AI应用。

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

前提:已经在x86的电脑上安装了vmware虚拟机,在虚拟机中安装了ubuntu18的镜像。

创建用户:

	useradd -d /home/HwHiAiUser -s /bin/bash -m HwHiAiUser
	passwd HwHiAiUser

说明:
-d:指定用户的家目录
-s:用户的登录shell
-m:创建用户家目录

安装CANN开发工具

启动镜像,执行下面命令:

./Ascend-cann-toolkit_{version}_linux-x86_64.run --check
./Ascend-cann-toolkit_{version}_linux-aarch64.run --check 

./Ascend-cann-toolkit_{version}_linux-x86_64.run --install
./Ascend-cann-toolkit_{version}_linux-aarch64.run --install 

安装交叉编译环境

sudo apt-get install g++-aarch64-linux-gnu

root提权(我认为这个操作不安全,谨慎使用)

在该文件“# User privilege specification”下面增加如下内容:

chmod u+w /etc/sudoers
vi /etc/sudoers
username ALL=(ALL:ALL)   NOPASSWD:SETENV:/usr/bin/apt-get, /usr/bin/pip, /bin/tar, /bin/mkdir, /bin/rm, /bin/sh, /bin/cp, /bin/bash, /usr/bin/make install, /bin/ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7, /bin/ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7, /bin/ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5, /bin/ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5, /usr/bin/unzip

备注:这里我后来修改成了如下:

(指该用户是root用户组的)

username ALL=(ALL:ALL)  ALL

删除写权限

chmod u-w /etc/sudoers

修改.bashrc

export install_path=/home/HwHiAiUser/Ascend/ascend-toolkit/latest
export PATH=${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin:${install_path}/toolkit/bin:$PATH
export LD_LIBRARY_PATH=${install_path}/acllib/lib64:${install_path}/atc/lib64:$LD_LIBRARY_PATH
export PYTHONPATH=${install_path}/atc/python/site-packages:${install_path}/atc/python/site-packages/auto_tune.egg/auto_tune:${install_path}/atc/python/site-packages/schedule_search.egg:${install_path}/toolkit/python/site-packages:${install_path}/pyACL/python/site-packages:$PYTHONPATH
export ASCEND_OPP_PATH=${install_path}/opp

安装jdk

注意:JDK版本很关键,一定要根据mindstudio的版本选择jdk的版本。否则会报错。

sudo apt-get install -y openjdk-8-jdk

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
export PATH=$JAVA_HOME/bin:$PATH

安装MindStudio

去昇腾社区官网下载安装包。
将MindStudio_{software version}_ubuntu18.04-x86_64.tar.gz软件包上传至MindStudio安装服务器。并解压

进入到MindStudio的bin目录下,启动。
在这里插入图片描述

启动中如果报如下图所示的错误:
在这里插入图片描述
解决办法:
解压jbr至MindStudio安装根目录,jbr下载链接请根据操作系统架构选择。

解压jbr至MindStudio根目录后目录结构如下:

  • x86_64链接:https://cache-redirector.jetbrains.com/intellij-jbr/jbr_dcevm-11_0_10-linux-x64-b1341.35.tar.gz
  • aarch64链接:https://cache-redirector.jetbrains.com/intellij-jbr/jbr-11_0_10-linux-aarch64-b1341.35.tar.gz

IDEA配置

打开软件后,到setting配置CANN的路径
在这里插入图片描述
在里面配置MindX sdk
在这里插入图片描述

安装Mindx sdk

在这里插入图片描述
接下来就可以使用MindStudio愉快地开发AI应用了。

### 鲲鹏服务器与昇腾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]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南山二毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值