关于Haclon使用GPU加速的代码实例
关于Haclon使用GPU加速的代码实例
read_image(Image, 'T20170902014819_58_2_1.bmp')
*没有加加速并行处理
count_seconds(T1)
for i:= to by
rotate_image(Image, Image1, , 'constant')
endfor
count_seconds(T2)
Time1:=(T2-T1)*
stop() *以下两种加速只能选一种 *GPU加速,支持GPU加速的算子Halcon10只有56个
query_available_compute_devices(DeviceIdentifiers)
DeviceHandle:=
for i:= to |DeviceIdentifiers|- by
get_compute_device_info(DeviceIdentifiers[i], 'name', Nmae)
if(Nmae='Geoforce GTX 1070')//根据GPU名称打开GPU
open_compute_device(DeviceIdentifiers[i], DeviceHandle)
break
endif
endfor
if(DeviceHandle#)
set_compute_device_param (DeviceHandle, 'asynchronous_execution', 'false')
init_compute_device(DeviceHandle, 'rotate_image')
activate_compute_device(DeviceHandle)
endif
count_seconds(T3)
for i:= to by
rotate_image(Image, Image1, , 'constant')
endfor
count_seconds(T4)
Time2:=(T4-T3)*
if(DeviceHandle#)
deactivate_compute_device(DeviceHandle)
endif
stop() *自动加速并行处理
optimize_aop ('rotate_image', 'byte', 'no_file', ['file_mode','model','parameters'], ['nil','threshold','false'])
set_system ('parallelize_operators', 'true')//只需开一次
count_seconds(T5)
for i:= to by
rotate_image(Image, Image1, , 'constant')
endfor
count_seconds(T6)
Time3:=(T6-T5)*
set_system ('parallelize_operators', 'false')//只需最后关一次
stop() set_display_font (, , 'mono', 'true', 'false')
dev_clear_window()
Message:='CPU only Time1='+Time1+'ms, '
disp_message (, Message, 'window', , , 'red', 'false')
stop()
dev_clear_window()
Message:='GPU use Time2='+Time2+'ms, '
disp_message (, Message, 'window', , , 'red', 'false')
stop()
dev_clear_window()
Message:='optimize Time3='+Time3+'ms, '
disp_message (, Message, 'window', , , 'red', 'false')
关于Haclon使用GPU加速的代码实例的更多相关文章
- Javascript如何实现GPU加速?
一.什么是Javascript实现GPU加速? CPU与GPU设计目标不同,导致它们之间内部结构差异很大.CPU需要应对通用场景,内部结构非常复杂.而GPU往往面向数据类型统一,且相互无依赖的计算.所 ...
- 深度学习之卷积神经网络CNN及tensorflow代码实例
深度学习之卷积神经网络CNN及tensorflow代码实例 什么是卷积? 卷积的定义 从数学上讲,卷积就是一种运算,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分.级数,所以看起来觉得很复杂 ...
- GPU加速:宽深度推理
GPU加速:宽深度推理 Accelerating Wide & Deep Recommender Inference on GPUs 推荐系统推动了许多最流行的在线平台的参与.随着为这些系统提 ...
- AI解决方案:边缘计算和GPU加速平台
AI解决方案:边缘计算和GPU加速平台 一.适用于边缘 AI 的解决方案 AI 在边缘蓬勃发展.AI 和云原生应用程序.物联网及其数十亿的传感器以及 5G 网络现已使得在边缘大规模部署 AI 成为可能 ...
- GPU 加速NLP任务(Theano+CUDA)
之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:h ...
- 开启gpu加速的高性能移动端相框组件!
通过设置新的css3新属性translateX来代替传统的绝对定位改变left值的动画原理,新属性translateX会开启浏览器自带的gpu硬件加速动画性能,提高流畅度从而提高用户体验, 代码有很详 ...
- 如何加速MATLAB代码运行
学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长 ...
- Silverlight - GPU加速
1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" / ...
- 用cudamat做矩阵运算的GPU加速
1. cudamat简介 cudamat是一个python语言下,利用NVIDIA的cuda sdk 进行矩阵运算加速的库.对于不熟悉cuda编程的程序员来说,这是一个非常方便的GPU加速方案.很多工 ...
随机推荐
- python函数进阶(函数参数、返回值、递归函数)
函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形 ...
- 剑指Offer 45. 扑克牌顺子 (其他)
题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...
- SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关
开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_ ...
- HTML/overflow的认识
1.overflow的定义:overflow属性规定当内容溢出元素框时应该做的处理.2.overflow:scorll; 是提供一种滚动的机制.3.关于overflow的其他相关值设置:
- ImageLorderUtil
import android.content.Context;import android.graphics.Bitmap;import android.os.Environment; import ...
- java获取泛型类型
import com.alibaba.fastjson.TypeReference; return JSON.parseObject(str, new TypeReference<BaseRes ...
- java中int和String之间的转换
String 转为int int i = Integer.parseInt([String]); int i = Integer.valueOf(my_str).intValue(); int转为St ...
- hdu5000 Clone dp+大数
After eating food from Chernobyl, DRD got a super power: he could clone himself right now! He used t ...
- 《Netty in action》 读书笔记
声明:这篇文章是记录读书过程中的知识点,并加以归纳总结,成文.文中图片.代码出自<Netty in action>. 1. 为什么用Netty? 每个框架的流行,都一定有它出众的地方.Ne ...
- 深入学习Motan系列(五)—— 序列化与编码协议
一.序列化 1.什么是序列化和反序列化? 序列化:将对象变成有序的字节流,里面保存了对象的状态和相关描述信息. 反序列化:将有序的字节流恢复成对象. 一句话来说,就是对象的保存与恢复. 为什么需要这个 ...