dataflow和pipeline验证情况

1 没有dataflow没有pipeline,无法并行

  • Performance & Resource Estimates:

PS: '+' for module; 'o' for loop; '*' for dataflow

+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+

| Modules | Issue| | Latency | Latency | Iteration| | Trip | | | | | | |

| & Loops | Type | Slack| (cycles)| (ns) | Latency | Interval| Count| Pipelined| BRAM | DSP| FF | LUT | URAM|

+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+

|+ kernel_core | -| 0.57| 410| 1.367e+03| -| 411| -| no| -| -| 336 (~0%)| 467 (~0%)| -|

| + kernel_core_Pipeline_VITIS_LOOP_33_1 | -| 1.33| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 118 (~0%)| -|

| o VITIS_LOOP_33_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|

| + kernel_core_Pipeline_VITIS_LOOP_50_1 | -| 1.34| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 94 (~0%)| -|

| o VITIS_LOOP_50_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|

+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+

2 有dataflow没有pipeline,可以并行

  • Performance & Resource Estimates:

PS: '+' for module; 'o' for loop; '*' for dataflow

+----------------------+------+------+---------+---------+----------+---------+------+----------+------+----+-----------+-----------+-----+

| Modules | Issue| | Latency | Latency | Iteration| | Trip | | | | | | |

| & Loops | Type | Slack| (cycles)| (ns) | Latency | Interval| Count| Pipelined| BRAM | DSP| FF | LUT | URAM|

+----------------------+------+------+---------+---------+----------+---------+------+----------+------+----+-----------+-----------+-----+

|+ kernel_core* | -| 0.59| 205| 683.265| -| 206| -| dataflow| -| -| 339 (~0%)| 473 (~0%)| -|

| + Block_entry1_proc | -| 0.59| 205| 683.265| -| 205| -| no| -| -| 230 (~0%)| 305 (~0%)| -|

| + send_pkt1_data | -| 1.33| 203| 676.599| -| 203| -| no| -| -| 96 (~0%)| 126 (~0%)| -|

| o VITIS_LOOP_33_1 | -| 2.43| 201| 669.933| 3| 1| 200| yes| -| -| -| -| -|

| + send_pkt2_data | -| 1.34| 203| 676.599| -| 203| -| no| -| -| 96 (~0%)| 102 (~0%)| -|

| o VITIS_LOOP_50_1 | -| 2.43| 201| 669.933| 3| 1| 200| yes| -| -| -| -| -|

+----------------------+------+------+---------+---------+----------+---------+------+----------+------+----+-----------+-----------+-----+

3 有pipeline(在循环内部,作用域循环体)没有dateflow,不能并行

  • Performance & Resource Estimates:

PS: '+' for module; 'o' for loop; '*' for dataflow

+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+

| Modules | Issue| | Latency | Latency | Iteration| | Trip | | | | | | |

| & Loops | Type | Slack| (cycles)| (ns) | Latency | Interval| Count| Pipelined| BRAM | DSP| FF | LUT | URAM|

+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+

|+ kernel_core | -| 0.57| 410| 1.367e+03| -| 411| -| no| -| -| 336 (~0%)| 467 (~0%)| -|

| + kernel_core_Pipeline_VITIS_LOOP_33_1 | -| 1.33| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 118 (~0%)| -|

| o VITIS_LOOP_33_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|

| + kernel_core_Pipeline_VITIS_LOOP_50_1 | -| 1.34| 202| 673.266| -| 202| -| no| -| -| 93 (~0%)| 94 (~0%)| -|

| o VITIS_LOOP_50_1 | -| 2.43| 200| 666.600| 2| 1| 200| yes| -| -| -| -| -|

+-----------------------------------------+------+------+---------+-----------+----------+---------+------+----------+------+----+-----------+-----------+-----+

4 有pipeline(在循环外部,作用域整个函数)没有dataflow,可以并行

  • Performance & Resource Estimates:

PS: '+' for module; 'o' for loop; '*' for dataflow

+-------------------+------+------+---------+---------+----------+---------+------+----------+------+----+------------+------------+-----+

| Modules | Issue| | Latency | Latency | Iteration| | Trip | | | | | | |

| & Loops | Type | Slack| (cycles)| (ns) | Latency | Interval| Count| Pipelined| BRAM | DSP| FF | LUT | URAM|

+-------------------+------+------+---------+---------+----------+---------+------+----------+------+----+------------+------------+-----+

|+ kernel_core | -| 0.57| 203| 676.599| -| 204| -| no| -| -| 1774 (~0%)| 13261 (1%)| -|

| + send_pkt1_data | II| 1.45| 201| 669.933| -| 200| -| yes| -| -| 745 (~0%)| 8154 (~0%)| -|

| + send_pkt2_data | II| 2.43| 201| 669.933| -| 200| -| yes| -| -| 682 (~0%)| 3770 (~0%)| -|

+-------------------+------+------+---------+---------+----------+---------+------+----------+------+----+------------+------------+-----+

基于上述验证,使用dataflow可以做到并行;对需要并行的函数使用pipeline也可以做到并行;如果两个都有肯定可以并行;如果两个都没有肯定不行

相关推荐
养海绵宝宝的小蜗2 分钟前
Linux 例行性工作任务(定时任务)知识点总结
linux·运维·服务器
乌萨奇也要立志学C++20 分钟前
【Linux】基础IO(二)深入理解“一切皆文件” 与缓冲区机制:从原理到简易 libc 实现
linux·运维·服务器
这周也會开心23 分钟前
通过ssh连接GitHub远程仓库
运维·ssh·github
Ronin30526 分钟前
【Linux网络】封装Socket
linux·网络·socket·网络通信
不会写DN41 分钟前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
---学无止境---1 小时前
Linux中slab缓存初始化kmem_cache_init函数和定时回收函数的实现
linux
草莓熊Lotso1 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Cx330❀1 小时前
《Linux进阶指令实操指南》:文件查看、时间管理、搜索压缩全覆盖(附高频案例)
linux·运维·服务器
努力努力再努力wz2 小时前
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)
java·linux·开发语言·数据结构·数据库·c++·散列表
Small___ming2 小时前
【Linux基础学习】Linux Ubuntu 权限管理:从入门到精通
linux·学习·ubuntu