Ascend C算子开发(入门)—— 算子开发环境搭建

2024-08-30 06:36

本文主要是介绍Ascend C算子开发(入门)—— 算子开发环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述

文章目录

    • Ascend C算子开发(入门)—— 算子开发环境搭建
        • 在CPU上部署开发环境
          • 准备工作
          • 步骤
          • 配置环境变量
          • 配置pip源
          • pip安装依赖包
          • 安装开发套件包
          • 添加配置
          • 验证是否安装成功
            • 下载samples代码包
            • 测试算子

Ascend C算子开发(入门)—— 算子开发环境搭建

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

安装包解读 Ascend-cann-功能-版本-平台.tar/run

  • nnrt 推理
  • amct 模型小型化工具
  • communitysdk 社区算子开发工具包
  • kernels 二进制安装包
  • toolkit 开发套件
在CPU上部署开发环境
准备工作

一台安装ubuntu22.04桌面版(双系统/虚拟机均可)的PC机(或笔记本)

步骤
  1. 修改Ubuntu源
sudo passwd root # 修改root用户密码su # 登录root用户
# Password:... 输入密码cd /etc/apt
cp sources.list sources.list.bak
>sources.list
vim sources.list # 修改sources.list文件内容
------------------------------------------------
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
------------------------------------------------
exit # 退出root用户

进入官网的CANN部分,点击立即下载中的社区版本。

在这里插入图片描述

找到最新版本的toolkit的软件安装包。具体的安装流程可以在文档中查看

在这里插入图片描述

进入文档后 ,点击CANN软件安装指南。

在这里插入图片描述

因为我们是Ubuntu系统,因此我们应该选择(Debian系列)的安装步骤指南。

在这里插入图片描述

sudo apt-get install -y gcc g++ make cmake libsqlite3-dev zlib1g-dev libssl-dev libffi-dev net-tools # 安装系统依赖
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz # 安装Python依赖

在这里插入图片描述

tar -zxvf Python-3.7.5.tgz
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j16
sudo make install
配置环境变量
vim ~/.bashrc
-----------------------------------------------------------
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.7.5/bin:$PATH  
-----------------------------------------------------------
source ~/.bashrc
配置pip源
cd # 切换到根目录
mkdir .pip
cd .pip
vim pip.conf
-----------------------------------------------------------
[global]
#以华为源为例,请根据实际情况进行替换。
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
-----------------------------------------------------------
pip安装依赖包
pip3 install attrs cython numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py --user
安装开发套件包
cd
cd Downloads/
chmod +x Ascend-cann-toolkit_8.0.RC3.alpha002_linux-x86_64.run 
./Ascend-cann-toolkit_8.0.RC3.alpha002_linux-x86_64.run --install
添加配置
vim ~/.bashrc
-----------------------------------------------------------
source /home/lby/Ascend/ascend-toolkit/set_env.sh
-----------------------------------------------------------
source ~/.bashrc
验证是否安装成功
下载samples代码包

在Gitee昇腾官网中的克隆/下载模块中找到命令

git clone https://gitee.com/ascend/samples.git
测试算子
cd samples/
cd operator/
cd AddCustomSample/
cd KernelLaunch/
cd AddKernelLaunchNeo/
bash run.sh -r cpu -v Ascend310P1

如果最终的测试结果是test pass,说明算子能够正常执行,环境配置成功。
在这里插入图片描述

这篇关于Ascend C算子开发(入门)—— 算子开发环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120061

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建