跟Xilinx SAE 学HLS系列视频讲座笔记(1)(下)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 第一讲 工作机制第二讲 Vivado HLS设计流程相关的概念1. 传统的设计流程2. C的设计流程第三讲 如何处理任意精度的数据类型第四讲 数据类型的转换第五讲 了解HLS中的复合数据类型第六讲 Vivado HLS中的C++基本运算

5. 对两种不同大Data Pack Mode进行比较

我们可发现这两种方式的效果是差不多的,而且Data Pack可以可以减少延迟(latency)和初始间隔(interval),即提高吞吐量(throughput)。之所以可以提高,是因为把for循环做了一个展开。

6. 枚举类型(Enumerated Type)

所谓枚举类型,就是把一个数值定义为一个符号常量,需要用到关键词enum;对于枚举类型,其中的元素为被自动的分配一个整数,那么起始值为0,后续的会比前面的大1。

7. 总结

第六讲 Vivado HLS中的C++基本运算

1 . 算数运算

当我们操作数是定点数,我们需要注意数据位宽的处理,总体原则是大数据不溢出小数据不损失

2. 算数赋值运算

目的是书写的简洁

案例分析:添加一个常量

我们定义了一个无符号定点数,字长为10bit,整数部分为2bit。这个程序也比较简就是加一个常数0.25,再赋值。需要说明的是常数0.25参与在数据运算中,所以要进行数据类型的转换,明确告诉HLS它的数据类型,这是因为常数在HLS在参与到算数运算时,我们要明确告知数据类型,否则可能会把这个数判断成整数,单精度或者双精度的浮点数,从而导致一些错误。


3. 自增和自减关系运算符

4. 条件和关系运算

5. 逻辑运算和位运算

案例分析:欧几里得算法

在数学中,欧几里得算法或欧几里得算法是计算两个数的最大公约数(GCD)的有效方法

另一种实现方法,递归但是需要强调的是,HLS是不支持递归算法的

6. 总结

  • Vivado HLS是支持C++中所用的基本运算。
  • 我们在描述算法时,对算法的理解是非常的重要。
  • Vivado HLS是不支持递归算法的。
相关实践学习
1分钟部署经典小游戏
本场景介绍如何使用Serverless应用引擎SAE 1分钟快速部署经典小游戏。
SAE的功能与使用入门
欢迎来到《SAE的功能与使用入门》,本课程是“云原生Serverless Clouder认证“系列中的第三阶段。课程将向您介绍阿里云Serverless应用引擎(SAE)服务相关的概念、特性与使用方式。通过课程将带您逐步深入探索Serverless世界,借助SAE服务,即使没有丰富的云计算和IT经验,也能够让开发人员在实际业务场景中便捷的掌握如何构建和部署应用程序,快速拥抱Serverless架构,将精力聚焦在应用代码和业务逻辑的实现上。 学习完本课程后,您将能够: 掌握Serverless应用引擎(SAE)的基本概念与核心优势 了解Serverless应用引擎(SAE)的核心功能 掌握使用Serverless应用引擎(SAE)的开发和部署流程 了解Serverless应用引擎(SAE)的适用场景和最佳实践  
相关文章
跟Xilinx SAE 学HLS系列视频讲座笔记(6)—— 函数优化
1. 函数层面的优化 从函数这个角度来说代码风格,主要是看参数的数据类型,C++中的数据类型是以8为边界的,而实际硬件中我们可能会遇到任意精度的数据类型,因此我们一定在C++中定义为任意精度的数据类型;
111 0
跟Xilinx SAE 学HLS系列视频讲座笔记(6)—— 函数优化
跟Xilinx SAE 学HLS系列视频讲座笔记(5)—— 数组优化(下)
第一讲 数组分割 第二讲 数组映射与重组 第三讲 其他优化方法
105 0
跟Xilinx SAE 学HLS系列视频讲座笔记(5)—— 数组优化(下)
跟Xilinx SAE 学HLS系列视频讲座笔记(5)—— 数组优化(上)
第一讲 数组分割 第二讲 数组映射与重组 第三讲 其他优化方法
183 0
跟Xilinx SAE 学HLS系列视频讲座笔记(5)—— 数组优化(上)
跟Xilinx SAE 学HLS系列视频讲座笔记(4)——For循环优化(下)
目录 第一讲 For循环优化的性能指标 第二讲 for循环优化-循环合并 第三讲 for循环优化-数据流 第四讲 嵌套for循环优化 第五讲 for循环优化其他方法
127 0
跟Xilinx SAE 学HLS系列视频讲座笔记(4)——For循环优化(下)
|
存储 调度
跟Xilinx SAE 学HLS系列视频讲座笔记(4)——For循环优化(中)
目录 第一讲 For循环优化的性能指标 第二讲 for循环优化-循环合并 第三讲 for循环优化-数据流 第四讲 嵌套for循环优化 第五讲 for循环优化其他方法
222 0
跟Xilinx SAE 学HLS系列视频讲座笔记(4)——For循环优化(中)
|
异构计算
跟Xilinx SAE 学HLS系列视频讲座笔记(4)——For循环优化(上)
目录 第一讲 For循环优化的性能指标 第二讲 for循环优化-循环合并 第三讲 for循环优化-数据流 第四讲 嵌套for循环优化 第五讲 for循环优化其他方法
135 0
跟Xilinx SAE 学HLS系列视频讲座笔记(4)——For循环优化(上)
跟Xilinx SAE 学HLS系列视频讲座笔记(3)—— 接口综合(下)
目录 第一讲 接口综合的基本介绍 第二讲 接口综合—对数组的处理 第三讲 接口综合—其他案例演示
112 0
跟Xilinx SAE 学HLS系列视频讲座笔记(3)—— 接口综合(下)
|
6月前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用合集之关于OSS映射目录的大小限制,如何可以跳过
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
Serverless 应用引擎产品使用合集之关于OSS映射目录的大小限制,如何可以跳过
|
6月前
|
运维 Serverless API
Serverless 应用引擎产品使用合集之通过 API 调用 /tagger/v1/interrogate 时,出现unsupported protocol scheme "" 错误,如何处理
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
缓存 运维 监控
Serverless 应用引擎产品使用合集之在使用函数计算 FC 部署 stable-diffusion 应用时,选了 tagger 扩展插件却拿不到提示词,还报错“Error”,是什么原因
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章