关于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加速的代码实例的更多相关文章

  1. Javascript如何实现GPU加速?

    一.什么是Javascript实现GPU加速? CPU与GPU设计目标不同,导致它们之间内部结构差异很大.CPU需要应对通用场景,内部结构非常复杂.而GPU往往面向数据类型统一,且相互无依赖的计算.所 ...

  2. 深度学习之卷积神经网络CNN及tensorflow代码实例

    深度学习之卷积神经网络CNN及tensorflow代码实例 什么是卷积? 卷积的定义 从数学上讲,卷积就是一种运算,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分.级数,所以看起来觉得很复杂 ...

  3. GPU加速:宽深度推理

    GPU加速:宽深度推理 Accelerating Wide & Deep Recommender Inference on GPUs 推荐系统推动了许多最流行的在线平台的参与.随着为这些系统提 ...

  4. AI解决方案:边缘计算和GPU加速平台

    AI解决方案:边缘计算和GPU加速平台 一.适用于边缘 AI 的解决方案 AI 在边缘蓬勃发展.AI 和云原生应用程序.物联网及其数十亿的传感器以及 5G 网络现已使得在边缘大规模部署 AI 成为可能 ...

  5. GPU 加速NLP任务(Theano+CUDA)

    之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:h ...

  6. 开启gpu加速的高性能移动端相框组件!

    通过设置新的css3新属性translateX来代替传统的绝对定位改变left值的动画原理,新属性translateX会开启浏览器自带的gpu硬件加速动画性能,提高流畅度从而提高用户体验, 代码有很详 ...

  7. 如何加速MATLAB代码运行

    学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长 ...

  8. Silverlight - GPU加速

    1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" / ...

  9. 用cudamat做矩阵运算的GPU加速

    1. cudamat简介 cudamat是一个python语言下,利用NVIDIA的cuda sdk 进行矩阵运算加速的库.对于不熟悉cuda编程的程序员来说,这是一个非常方便的GPU加速方案.很多工 ...

随机推荐

  1. java学习笔记38(sql注入攻击及解决方法)

    上一篇我们写了jdbc工具类:JDBCUtils ,在这里我们使用该工具类来连接数据库, 在之前我们使用 Statement接口下的executeQuery(sql)方法来执行搜索语句,但是这个接口并 ...

  2. acrgis导出成tiff图片,全是黑色

    任务:将北京道路矢量数据转成栅格然后导出成tiff格式图片. 1. 北京道路有很多种,矢量合并---用到了merge工具 arcgis位置:data management----general---- ...

  3. [转]C++11常用特性的使用经验总结

    转载出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++1 ...

  4. VS2008 快捷键大全

    转载自 https://www.cnblogs.com/likebeta/archive/2013/02/20/2919224.html Ctrl+E,D ----             格式化全部 ...

  5. Python全栈之路----函数----高阶函数

    变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一函数作为参数,这种函数就称之为高阶函数. 只需满足以下任意一个条件,即是高阶函数: 接收一个或多个函数作为输入 def func(x, ...

  6. jq 绑定事件和解绑事件

    <!DOCTYPE html><html><head> <script src="http://cdn.static.runoob.com/libs ...

  7. Linux装agent

    解压Linux.zip  Linux的负载机链接:https://pan.baidu.com/s/1yrmsT3PYfuL9Wlh4FEYxaA 密码:s72n unzip Linux.zip chm ...

  8. oracle-logminer

    LogMiner工具实际上是由两个新的PL/SQL内建包((DBMS_LOGMNR 和 DBMS_ LOGMNR_D)和四个V$动态性能视图(视图是在利用过程DBMS_LOGMNR.START_LOG ...

  9. js+css jQuery实现页面后退执行 & 遮罩弹框

    JS部分 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script> < ...

  10. linux scp传输文件命令

    scp  -r /opt/test root@192.168.2.105:/opt