Gpu上传
功能介绍
模块位置:流程控制-Gpu上传
Gpu上传用于将图像从Cpu内存拷贝到Gpu内存,后续可直接进行GPU端图像处理;Gpu下载与Gpu上传通常一起使用,用于减少一系列GPU处理时的内存拷贝;
使用场景
Gpu上传 模块允许输入普通模块产生的Cpu内存中的图像数据,运行后输出一个Gpu内存中的图像数据GpuImage(不支持可视化),用于后续处理;避免图像处理时频繁进行Gpu上传操作;
示例说明
集合-每次拷贝中,去除飞点、填补、平滑、中值滤波设置图像类型均为Cpu图像,计算设备均为Gpu设备,并启用下载Gpu图像,意味着每个图像处理模块需要将数据从Cpu拷贝到Gpu,经过Gpu处理后,再从Gpu拷贝回Cpu;这样的好处是每个模块的处理结果都可以被查看(Cpu图像),但需花费额外时间;整个集合CT为330ms;
集合-一次拷贝中Gpu上传模块首先将数据拷贝到了Gpu,输出了Gpu图像,去除飞点、填补、平滑、中值滤波设置图像类型均为Gpu图像,计算设备均为Gpu设备,意味着每个图像处理模块可以直接使用前置模块输出的Gpu图像进行处理,并将输出的Gpu图像直接传递给后面的模块使用,最后一个模块-中值滤波通过启用下载Gpu图像,负责将数据从Gpu拷贝回Cpu,供其他模块使用;整个过程只需要一次GPU上传一次Gpu下载,降低了CT,整个集合ct为220ms;
实际使用场景可先按每次拷贝的逻辑调整处理效果,参数固定后调整参数为一次拷贝的逻辑,以降低整体CT;
注:测试电脑配置为 AMD Ryzen 7 5800H / RAM 16GB / NVIDIA GeForce RTX 3060 Laptop; 数据为2000万像素;
![]() | ![]() |
|---|---|
| 每个图像处理模块隐式执行Gpu上传和Gpu下载 | 一系列图像处理仅执行一次Gpu上传和Gpu下载 |
输入
图像
| 输入 | 类型 | 说明 |
|---|---|---|
| 图像源 | 图像 | 图像为内存在CPU上的图像,区分GPU图像为内存GPU上的图像 |
流
| 输入 | 类型 | 说明 |
|---|---|---|
| 用 | 布尔 | 勾选时可为当前GPU上传指定流 |
| Gpu流 | 流 | 由Gpu流模块输出 |
输出
| 输出 | 类型 | 默认启用 | 启用条件 | 说明 |
|---|---|---|---|---|
| 输出Gpu图像 | Gpu图像 | 是 | / | / |

