0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用API定义一个向量呢

FPGA技术驿站 来源:TeacherGaoFPGAHub 作者:TeacherGaoFPGAHub 2022-03-30 14:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数据类型是我们使用C++编程时必须明确的一项内容。针对AI Engine,这一点尤为重要。因为不同的数据类型所支持的运算是不同的。对于标量类型,AI Engine支持标准的8位、16位和32位有符号/无符号整型数据类型,同时也支持32位单精度浮点类型(float)。对于向量类型,AI Engine支持特定的向量,所谓特定是指其长度(元素个数)和宽度(数据位宽)是固定的几种,这源于AI Engine自身的架构。 AI Engine所支持的向量类型如下表所示。不难看出,向量的总位宽无外乎128/256/512/1024-bit这四种。例如,对于int8,宽度为8,长度最小为16(对应总位宽为128),最大为128(对应总位宽为1024)。对于cint32(c是complex的首字母,表示复数),宽度为64,长度最小为2(对应总位宽为128),最大为16(对应总位宽1024)。

2cf4709a-ac9d-11ec-aa7f-dac502259ad0.png

为什么向量的总位宽只有这四种呢?这是因为AI Engine内部的向量寄存器位宽也只有这四种,如下图所示。从这个角度而言,尽管C++是高抽象度的编程语言,但针对AI Engine,在编程时仍要考虑AI Engine的架构,编程的过程有点像在C++里写汇编语言。由于向量寄存器的个数是有限的,故向量寄存器属于稀缺资源,如果设计中定义的向量个数超过了向量寄存器的个数,工具会将其映射到AI Engine内的存储器,这时读/写存储器就会有额外的Latency消耗。

2d1130f4-ac9d-11ec-aa7f-dac502259ad0.png

如何使用API定义一个向量呢?我们看一个简单的例子: aie::vector《int32, 16》 这里定义了一个宽度为32,长度为16的向量,如下图所示。共16个索引,每个索引对应一个int32整型数据。

AIE(14)—AI Engine API简介

AIE(13)—标量/向量处理单元

AIE(12)—AI Engine架构概览

AIE(11)—评估graph性能

AIE(10)—使用Trace View

AIE(9)—创建包含PL/PS/AIE的Vitis工程(2)

AIE(8)—创建包含PL/PS/AIE的Vitis工程(1)

AIE(7)—理解Runtime Ratio

AIE(6)—用Vitis Analyzer查看AIE编译结果

AIE(5)—针对AI Engine进行编译

AIE(4)—AIE编译器和X86模拟

AIE(3)—理解AIE编程中的Kernel

AIE(2)—理解AIE编程中的graph

AIE(1)—创建一个简单的AIE工程

揭秘AIE

Vivado ML到底哪些方面利用了机器学习

布线后的设计调试方法

Vivado下如何定制Strategy?

Vivado BDC 怎么用?

SystemVerilog仿真如何生成随机数

Verilog仿真如何生成随机数

为什么VitisHLS报告中Latency显示-?

利用综合技术缓解布线拥塞

Vivado下的管脚分配可以这么做

Vivado Block Design Container

Vivado跟路径相关的错误信息

使用带HBM芯片的注意事项

Vivado Intelligent Design Run(2)

Vivado Intelligent Design Run (1)

Abstract Shell流程分析(2)

Abstract Shell流程分析(1)

Vivado下封装IP基本知识

原文标题:AIE(15)—AI Engine中的数据类型(1)

文章出处:【微信公众号:TeacherGaoFPGAHub】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    39

    文章

    7714

    浏览量

    170827
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

    66211
  • 编程语言
    +关注

    关注

    10

    文章

    1959

    浏览量

    38896

原文标题:AIE(15)—AI Engine中的数据类型(1)

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    系统调用和API有什么区别

    很棒的功能模块,恰好我也想使用这个模块,但我又懒的去看你的代码,我只想使用你的代码,不像去关心实现细节,你想了想把所有的功能封装在了几个函数上,这几个函数就是这个功能模块对外提供的API。 现在
    发表于 12-03 06:52

    教你如何使用API

    、了解API API(Application Programming Interface)即应用程序编程接口,是种使不同的应用程序能共享数据和功能的软件工具。
    的头像 发表于 11-09 17:48 1032次阅读

    API到底是什么?为什么我需要它?

    API (Application Programming Interface):应用程序编程接口。 类比理解:API它不是具体的东西,而是
    的头像 发表于 11-03 09:34 395次阅读

    Python调用API教程

    随着互联网技术的发展,API(Application Programming Interface)的应用越来越广泛。API是指系列预先定义好的接口,用于以标准化的形式、规范的方式、安
    的头像 发表于 11-03 09:15 320次阅读

    电商API是什么?常用的电商API有哪些?发挥着怎样的作用?

    角色。本文将逐步解析电商API定义、常见类型及其作用,帮助开发者、商家和技术爱好者深入理解这技术工具。 1. 什么是电商APIAPI
    的头像 发表于 10-28 16:35 413次阅读
    电商<b class='flag-5'>API</b>是什么?常用的电商<b class='flag-5'>API</b>有哪些?发挥着怎样的作用?

    请问什么是API?怎么使用它?

    什么是APIAPI(应用程序编程接口)是定义了不同软件组件之间如何通信的规则和协议。它允许不同的应用程序、服务、库和系统通过标准化的方式进行交互,从而实现数据交换和功能共享。
    的头像 发表于 10-24 11:37 492次阅读

    RESTful API设计原则: 构建易用、可扩展的API接口。

    、理解REST架构的核心约束 1.1 RESTful API的六大基本原则 Roy Fielding博士在其博士论文中定义了REST架构的六大核心约束: 统接口(Uniform
    的头像 发表于 10-24 10:45 268次阅读

    Vector向量指令集简介(

    RV32V将数据寄存器和长度与向量寄存器关联而不是指令操作码。程序在执行V指令之前会用数据类型和数据宽度来标记向量寄存器,因为每个V指令通常有8整数版本和三浮点版本。 这个编
    发表于 10-23 08:28

    按图搜索1688商品的API接口

    服务(如ImageSearch)实现类似功能。本技术帖将逐步介绍原理、实现步骤和代码示例,帮助你构建可用的API接口。 1. 图像搜索原理 按图搜索的核心是基于内容的图像检索(CBIR),它通过提取图像特征
    的头像 发表于 10-22 15:05 226次阅读
    按图搜索1688商品的<b class='flag-5'>API</b>接口

    RESTful API设计原则: 构建易用、可扩展的API接口

    基本原则 Roy Fielding博士在其博士论文中定义了REST架构的六大核心约束: 统接口(Uniform Interface):确保API使用标准化的交互
    的头像 发表于 10-20 13:45 329次阅读

    API接口使用全指南:从基础调用到实战技巧

    API接口的基本认知 API接口本质上是组预先定义的规则,规定了不同系统之间如何传递数据。常见的A
    的头像 发表于 10-08 09:25 384次阅读

    构建自定义电商数据分析API

      在电商业务中,数据是驱动决策的核心。随着数据量的增长,企业需要实时、灵活的分析工具来监控销售、用户行为和库存等指标。定义电商数据分析API(应用程序接口)可以自动化数据提取和
    的头像 发表于 07-17 14:44 397次阅读
    构建自<b class='flag-5'>定义</b>电商数据分析<b class='flag-5'>API</b>

    电商API入门问答:开发者必知的10基础问题

    至关重要,能帮助避免常见错误,提升开发效率。本文将围绕10基础问题展开,提供清晰解答和实用示例,助你快速上手。 1. 什么是电商API? 电商API是电商平台(如Shopify、Amazon或eBay)提供的
    的头像 发表于 07-14 14:54 524次阅读
    电商<b class='flag-5'>API</b>入门问答:开发者必知的10<b class='flag-5'>个</b>基础问题

    集成API设计+测试+文档管理,全新站式解决方案SmartBear API Hub功能介绍

    SmartBear全新推出API Hub,助力高效应对API开发挑战! API Hub专为API开发者、架构师、产品经理和QA团队打造,将设计、测试、治理和文档集成到
    的头像 发表于 04-08 17:52 632次阅读
    集成<b class='flag-5'>API</b>设计+测试+文档管理,全新<b class='flag-5'>一</b>站式解决方案SmartBear <b class='flag-5'>API</b> Hub功能介绍

    dlp3010如果不用gui, 只用api投射自己定义的投射码,要怎么操作?

    , 只用api 投射自己定义的投射码,要怎么操作? 要先烧录进去? 不烧录可以吗? 3:假如已经烧录有图片,该怎么去找到对应的内存中,打印指定的pattern
    发表于 02-20 07:46