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

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X