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

相关文章

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.