【GCU体验】基于PyTorch + GCU跑通ResNet50模型并测试GCU性能
一、环境
地址:启智社区:https://openi.pcl.ac.cn/
二、计算卡介绍

云燧T20是基于邃思2.0芯片打造的面向数据中心的第二代人工智能训练加速卡,具有模型覆盖面广、性能强、软件生态开放等特点,可支持多种人工智能训练场景。同时具备灵活的可扩展性,提供业界领先的人工智能算力集群方案。
优势特点
- 澎湃算力 高精训练
- 专属通道 算力扩展
- 广泛支持 生态友好
- 工具开放 高效开发
三、代码仓
https://openi.pcl.ac.cn/Enflame/GCU_Pytorch1.10.0_Example
四、模型+数据集
Resnet+imagenet_raw
五、运行结果
单卡单Epoch
"model": "resnet50","local_rank": 0,"batch_size": 256,"epochs": 1,"training_step_per_epoch": -1,"eval_step_per_epoch": -1,"acc1": 6.467013835906982,"acc5": 20.52951431274414,"device": "dtu","skip_steps": 2,"train_fps_mean": 706.7805865954374,"train_fps_min": 668.1171056579481,"train_fps_max": 755.529550208285,"training_time": "0:12:27"
fps_mean:706.78
acc1:6.47
运行时间:12分27秒
8卡单Epoch
"model": "resnet50","local_rank": 5,"batch_size": 256,"epochs": 1,"training_step_per_epoch": -1,"eval_step_per_epoch": -1,"acc1": 3.02734375,"acc5": 12.5,"device": "dtu","skip_steps": 2,"train_fps_mean": 704.4055937610347,"train_fps_min": 702.2026238348252,"train_fps_max": 706.744240295003,"training_time": "0:07:04"
fps_mean:704.41
acc1:3.03
运行时间:7分04秒
8卡线性度:99.72%
单卡100Epoch
"model": "resnet50","local_rank": 0,"batch_size": 64,"epochs": 100,"training_step_per_epoch": -1,"eval_step_per_epoch": -1,"acc1": 87.13941955566406,"acc5": 97.31570434570312,"device": "dtu","skip_steps": 2,"train_fps_mean": 488.19604076742735,"train_fps_min": 249.3976374646114,"train_fps_max": 568.624496005538,"training_time": "4:45:13"
fps_mean:488.19604076742735
acc1:87.14
运行时间:4小时45分钟13秒
8卡100Epochs
"model": "resnet50","local_rank": 0,"batch_size": 64,"epochs": 100,"training_step_per_epoch": -1,"eval_step_per_epoch": -1,"acc1": 82.2265625,"acc5": 96.875,"device": "dtu","skip_steps": 2,"train_fps_mean": 481.25022732778297,"train_fps_min": 267.4726081053424,"train_fps_max": 509.6326762775301,"training_time": "1:18:22"
fps_mean:481.25
acc1:82.22
运行时间:1小时18分22秒
线性度:98.58%
六、代码迁移示例
https://openi.pcl.ac.cn/OpenIOSSG/MNIST_PytorchExample_GCU/src/branch/master/train_for_c2net.py
七、心得建议
心得
通过查阅代码示例很快就可以掌握从CPU/GPU迁移代码到GCU上运行的方法。除了运行燧原科技提供的代码外,在前阵子学习李沐老师d2l pytorch代码的时候自己也尝试过迁移到gcu上运行,总体来说大部分都可以顺利迁移,此外有时候自己以前跑过的一些基于torch的notebook代码有些根据示例修改成gcu运行也能成功跑起来。
唯一遇到的问题就是有时候运行会出现一长串在编译的运行提示,不知道这是什么情况,而且这类情况通常运行时间会比GPU要久一点,也许可能是代码哪里不对,后期在看看,这类情况遇到的不多。
对于GCU的运行速度总体感觉还是可以的,根据README运行DEMO代码也非常方便。
建议
- 使用GCU总体感觉速度还是蛮快的,后期准备有时间做一下和CPU以及GPU平台的速度精度对比看看。
- 现在的脚本训练没有过程输出,可以通过修改py文件添加log输出,但是个人建议如果能有个教程指导初学者如何去添加log输出的代码示例会更好,初学者不一定知道如何去修改
- GCU平台有没有可能在未来支持更多的框架,例如tensorflow,mindspore等等
- 唯一不方便的就是demo代码如果需要修改超参必须找到对应的sh脚本文件修改,如果能够实现创建任务的时候直接修改超参的话感觉会方便一点。
相关文章:
【GCU体验】基于PyTorch + GCU跑通ResNet50模型并测试GCU性能
一、环境 地址:启智社区:https://openi.pcl.ac.cn/ 二、计算卡介绍 云燧T20是基于邃思2.0芯片打造的面向数据中心的第二代人工智能训练加速卡,具有模型覆盖面广、性能强、软件生态开放等特点,可支持多种人工智能训练场景。同时具备灵活的可…...
【机器视觉------标定篇(二)】三点成圆算法(求相机旋转中心)
应用场景 机器视觉项目应用中,相机安装在机器人上,并且需要定位产品返回坐标偏差以及角度偏差。 与九点标定配合使用,实现精准角度补偿。 算法输入 不共线的三点坐标 A(X₁,Y₁) ,B(X₂,Y₂&…...
AUTOSAR E2E详细介绍
E2E概述 E2E(End-To-End)是AUTOSAR为功能安全ISO26262提出的一个安全模块。这里的端(End)并不是指ECU与ECU之间,而是指通信ECU上的SW-C与SW-C之间。 在车载网络中,信息交换通常是从一个ECU发送信号,另一个ECU接收信号。对E2E而言,通常是从源SW-C生成信号,经过RTE(R…...
Dream 主题使用手册 - 基础篇
Dream 主题基于 Halo 博客系统开发,本文将介绍本主题一些功能的使用,文档将持续更新。 一、安装 & 更新 1.1 安装包安装 & 更新 进入主题 Release 界面:https://github.com/nineya/halo-theme-dream/releases 下载主题压缩包 halo…...
WSL下的Kafka开发容器:Docker搭建、API、整合
背景介绍 Kafka是一个分布式流处理平台,可以处理大规模数据流并支持实时数据流的处理。 本文介绍了如何在WSL下使用Docker搭建Kafka容器,并使用Python的kafka-python库和FastAPI框架实现了一个简单的API。同时,还将该服务整合到一个整体的d…...
cv2(OpenCV)下载安装
cv2对应库是OpenCV,官网下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 最好下载对应python版本的,通过pip命令安装可能会出现版本过高或者过低的问题,导致import cv2没问题,但是内部函数无法调用。 …...
【剑指 offer】旋转数组的最小数字
✨个人主页:bit me👇 ✨当前专栏:算法训练营👇 旋 转 数 组 的 最 小 数 字核心考点:数组理解,二分查找,临界条件 描述: 有一个长度为 n 的非降序数组,比如[1,2,3,4,5]…...
GB 9706.1-2020 医用电气设备第1部分:基本安全和基本性能的通用要求-1
这是份什么文件 这是一份中华人民共和国国家标准,具体为GB9706.1—2020,标准适用于医用电气设备,并规定了医用电气设备基本安全和基本性能的通用要求。主要涵盖了医疗电器设备与患者接触的各种要求,包括电气安全、机械防护、防护辐…...
认识C++《共、枚、指1》
目录 前言: 1.共用体的基本知识 2.匿名共用体 3.枚举 3.1设置枚举值 3.2枚举的应用场景 3.3枚举变量的取值范围 4.地址和自由存储空间 5.指针的思想 6.指针的声明和初始化 前言: 指针内容比较多,还需要再出一篇。久等了!!我看了我的…...
vim 一键配置
PS:本文是为了以后为了方便,做备忘的,今天用的时候找了半天很麻烦。 vim编辑器一键配置 在非root用户下执行上面的语句即可,不要在root用户下直接安装! 安装的时候需要输入root用户的密码,请找您的服主要一…...
如何成为一名成功的 PHP 开发者
当今的网络应用开发市场,PHP 一直是其中最受欢迎的语言之一,许多优秀的网络应用程序都是由 PHP 开发人员设计和开发的。如果你想成为一名成功的 PHP 开发者,以下是几个关键步骤: 1. 学习基础知识 首先,你需要掌握 PH…...
UHD安装教程
UHD Universal Hardware Driver,即USRP驱动。 UHD,Windows平台安装教程 uhd驱动安装 http://files.ettus.com/binaries/misc/erllc_uhd_winusb_driver.zip 安装LibUSBx http://files.ettus.com/binaries/uhd/latest_release 下载默认C盘 环境配置 将…...
Unity和UE有啥区别?哪个更适合游戏开发
游戏制作软件中最著名的两个游戏引擎是 Unity 和 Unreal Engine。从独立游戏到大型工作室,许多游戏开发商都在使用它们。如果你打算从事游戏行业工作,你肯定曾经问过自己“我的游戏应该使用 Unity 还是 Unreal Engine?” ” 让我们来了解和比…...
红队内网靶场
文章目录开篇介绍靶场介绍靶场下载以及配置Tomcat Get Shell突破DMZ防火墙拿下域内成员机器将内网机器上线到CS使用Adfind侦察子域信息控制子域DCRadmin登录子域进行权限维持(白银票据/ACL)子域bloodhound获取父域信息分析子域Krbtgt密钥创建跨域金票Dcsync父域PTH父域DC准备打…...
如何合并多个升序链表?
前言 本文主要介绍如何将多个小的升序链表合并一个大的升序链表。 需求描述 给出K个升序链接,要求把这K个升序链表合并成一个,并且这个链表也是升序的。 例如:A [1,5,6], B [2,3,8], C [4,4,9] 将这3个链表合并成一个链表D…...
23上半年信息系统项目管理师新老教程兼顾使用备考策略
在离考试仅有50多天的时候,软考办发文:“为方便报考信息系统项目管理师的考生进行复习备考,2023年上半年信息系统项目管理师考试第3版、第4版教程兼顾使用”。 其实软考办发布这样一条信息,也是为了照顾那些在新版发布以前按第…...
Linux环境搭建SVN服务器并实现公网访问 - cpolar端口映射
文章目录前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6.2 …...
仿牛客网社区Web开发项目代码逐行精读(更新中)
仿牛客网社区Web开发项目怎么看项目?如何调试项目前瞻技术架构项目亮点开始看代码LoginControllerDiscussPostController怎么看项目? pom.xml看技术架构resource看配置文件,这个项目是前后端不分离的以调试为导向,从前端入手检查…...
5G NR调制阶数与EVM关系以及对系统SNR要求分析
移动通信技术对数据传输速率要求越来越高。一种提高传输速率的思路是使用更高阶的QAM 调制方式,例如5G NR 的256QAM PDSCH,微波的1024QAM,2048QAM和4096QAM 调制。更高阶的QAM 调制方式对系统也提出了更高的要求。例如某个系统的EVM 测试结果…...
【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘「内网穿透」
文章目录前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用3. 结语转发自CSDN远程穿透的文章:【群晖…...
手把手教你用wget和迅雷搞定nuScenes数据集下载(附完整性校验命令)
高效获取nuScenes数据集的两种技术方案与完整性验证指南 在自动驾驶与计算机视觉研究领域,nuScenes数据集因其丰富的传感器数据和精细的标注体系已成为行业基准测试的重要资源。但对于大多数研究者而言,获取这个总容量超过550GB的数据集却面临着网络不稳…...
CXPatcher:让Mac上的CrossOver性能飞升的终极指南
CXPatcher:让Mac上的CrossOver性能飞升的终极指南 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 你是否曾经在Mac上尝试运行Windows游戏时感到…...
2026全球AI公司终极排名:从字节跳登顶到Claude Code称霸,十大巨头全维对比
2026全球AI公司终极排名:从字节跳登顶到Claude Code称霸,十大巨头全维对比 从字节跳动登顶到SpaceX 600亿美元收购Cursor,2026年的AI牌桌已经彻底重洗。本文带你一次性搞清全球AI格局。 目录 2026全球AI公司权威排名十大AI公司深度介绍AI编程助手终极对比AI Agent…...
告别软件切换!用uTools的超级面板和插件,5分钟搞定你的日常效率工作流
告别软件切换!用uTools的超级面板和插件,5分钟搞定你的日常效率工作流 你是否经常在多个软件之间来回切换,只为完成一个简单的任务?复制一段文字需要翻译,得先打开浏览器;截图后想提取文字,又要…...
功能安全计划:从ISO 26262到IEC 61508的系统性工程实践
1. 项目概述:为什么我们需要一个“功能安全计划”?在汽车和工业领域,一个简单的软件Bug或硬件失效,其后果可能远超一次蓝屏或服务中断。想象一下,一辆高速行驶的汽车,其电子稳定程序(ESP&#x…...
Unity事件(Event)实战避坑:从金币系统到UI更新,我踩过的3个坑和解决方案
Unity事件系统实战避坑指南:从金币系统到UI更新的3个典型问题解析 在Unity开发中,事件系统是实现模块间解耦的利器,但新手往往会遇到各种"诡异"的问题。本文将聚焦一个金币收集与UI更新的实际案例,深入分析三个最常见的…...
终极HTML转Figma教程:3步将任何网站变为可编辑设计稿
终极HTML转Figma教程:3步将任何网站变为可编辑设计稿 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html 你是否曾为网站设计稿与最终实现不一致而烦恼?或者作…...
3分钟掌握MangaOCR:日语漫画文本识别的终极解决方案
3分钟掌握MangaOCR:日语漫画文本识别的终极解决方案 【免费下载链接】manga-ocr Optical character recognition for Japanese text, with the main focus being Japanese manga 项目地址: https://gitcode.com/gh_mirrors/ma/manga-ocr 你是否曾面对日文漫画…...
DayZ单机模组终极指南:打造专属末日世界的5个关键步骤
DayZ单机模组终极指南:打造专属末日世界的5个关键步骤 【免费下载链接】DayZCommunityOfflineMode A community made offline mod for DayZ Standalone 项目地址: https://gitcode.com/gh_mirrors/da/DayZCommunityOfflineMode 厌倦了DayZ在线服务器中的网络…...
Adobe-GenP 3.0终极指南:5分钟解锁Adobe CC全系列软件完整功能
Adobe-GenP 3.0终极指南:5分钟解锁Adobe CC全系列软件完整功能 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe-GenP 3.0是一款功能强大的Adobe Cr…...
