tag 标签: opencl

相关博文
  • 热度 28
    2018-7-3 16:34
    1793 次阅读|
    0 个评论
    如何基于AM57x测试OpenCL的加速性能?
    1 实验说明 本例程测试功能:读取指定的图像数据,然后对图像进行灰度转换和Canny算法处理,计算处理过程所耗的时间,并将处理后的图像保存到当前目录下。 本例程主要是测试OpenCL是否对这两种算法有优化效果,分别从禁用OpenCL和使能OpenCL两种情况来计算处理图像数据所用的时间,将测试的结果与官方提供的测试结果进行对比和验证。 例程源码路径:光盘“Demo/OpenCL/OpenCL_performance_test/src” 可执行文件以及测试脚本路径:光盘“Demo/OpenCL/OpenCL_performance_test/bin” 测试使用的图片路径:光盘“Demo/OpenCL/OpenCL_performance_test/data” 测试平台:广州创龙TL5728-IDK开发板 开发板简介:  基于TI AM5728浮点双DSPC66x+双ARMCortex-A15工业控制及高性能音视频处理器;  强劲的视频编解码能力,支持1路1080P60或2路720P60或4路720P30视频硬件编解码,支持H.265视频软解码;  双核PRU-ICSS工业实时控制子系统,支持EtherCAT、EtherNet/IP、PROFIBUS等工业协议;  外设接口丰富,GPMC、USB 2.0、UART、SPI、QSPI、I2C、DCAN等工业控制总线和接口,支持高速接口PCle Gen2、USB 3.0、SATA 2.0;  应用于工业 PC&HMI、工业机器人、机器视觉、 医疗影像、电力自动化等领域。 2 例程编译 将光盘资料“Demo/OpenCL/OpenCL_performance_test/src”例程源码拷贝到Ubuntu任意目录,进入该源码目录执行以下命令对源码进行编译: Host# cd AM57xx/OpenCL_performance_test/src/ Host# make SDK_INSTALL_PATH=/home/tronlong/ti-processor-sdk-linux-am57xx-evm-03.01.00.06 编译完成之后会在当前目录下生成可执行文件canny,将其拷贝到开发板文件系统的“/home/root/”目录下。 将光盘资料“Demo/OpenCL/OpenCL_performance_test”下的bin文件夹以及data文件夹拷贝到开发板文件系统的“/home/root/”目录下。bin文件夹下包含opencl_off.sh和opencl_on.sh测试脚本,data文件夹下是两张大小和格式不同的图片文件TL5728_1080p.jpg和lena.png。 3 例程测试 以下分别从禁用OpenCL功能和使能OpenCL功能来进行对比测试,分别采用data文件夹下的图片TL5728_1080p.jpg和lena.png来测试。 3.1 禁用OpenCL 执行以下命令进行测试,先禁止运行OpenCL功能,然后清理缓存再进行测试,重复清理缓存和测试的步骤5次,如下图所示: Target# source bin/opencl_off.sh Target# /proc/sys/vm/drop_caches Target# ./canny data/TL5728_1080p.jpg 取以上5次测试结果的平均值:  BGR2GRAY tdiff=55.01ms  Canny tdiff=95.50ms 3.2 使能OpenCL 执行以下命令进行测试,先使能OpenCL功能,然后清理缓存再进行测试,重复清理缓存和测试的步骤6次,如下图所示: Target# source bin/opencl_on.sh Target# /proc/sys/vm/drop_caches Target# ./canny data/TL5728_1080p.jpg 如上一共测试了6次,每一次测试之前记得先将系统内核缓存清理干净,否则测试结果有误。因为第一次运行时,内核在AM57xx上编译,OpenCL使能时会有额外的延迟,延迟时间大约为几十秒,所以第一次测试结果不作为参考。官方解释如下: Please note that the first run, with OpenCL on, has additional delay of ~1min, due to kernel compilation on AM57xx. This is constrained to first run only, if "TI_OCL_CACHE_KERNELS" environemnt variable is set. 由以上6次的测试结果,取最后5次测试结果的平均值:  BGR2GRAY tdiff=185.38ms  Canny tdiff=17.71ms 3.3 测试结果对比 同理,按照如上操作步骤在分别禁用OpenCL和使能OpenCL的情况下,计算处理lena.png图片所用的时间,并对5次测试的数据取平均值。对比以上测试结果,如下表所示: 作用率=禁用OpenCL计算处理图像数据所用的时间/使能OpenCL计算处理图像数据所用的时间。 以下是官方的测试数据: BGR2GRAY作用率=0.345 Canny作用率=1.690 从测试结果可以看出来,本次测试与官方测试结论是一致的:OpenCL对BRG2GRAY算法不但没有性能上的提升反而存在着负面的效果;而对Canny算法则有着非常明显的提升效果,与官方的作用率进行对比,本次测试得出的作用率要大于官方提供的作用率数据,这与待测试的图像文件有一定的关系。 官方提供的其他OpenCL内核的测试数据: 链接:http:// processors.wiki.ti.com/index.php/OpenCV
  • 热度 22
    2014-11-25 23:29
    1746 次阅读|
    0 个评论
    为什么要学习OpenCL呢?就目前我所从事的医疗超声领域,超声前端的信号处理器一般是通过FPGA或FPGA+DSP来设计的,高端设备用的是FPGA+ GPU架构。传统的设计方法是通过HDL语言来进行设计FPGA,通过C或者跟C类似的语言来设计DSP/GPU,使得FPGA与DSP/GPU的算法无法相互移植。 OpenCL这个语言的好处就是跨硬件平台设计,Altera有专门的SDK大力支持OpenCL,而Xilinx的Vivado HLS也开始初步支持OpenCL,未来通过OpenCL设计FPGA的方法学必定会成熟起来,通过高层次语言设计FPGA的好处多多,在此不一一列举。通过OpenCL设计FPGA结构以及GPU算法,移植性大大增强,设计者可以把更多的精力投入到高层次的算法设计当中而不是拘泥于FPGA繁杂的设计验证。 目前FPGA的设计语言,常用的大概有VHDL,Verilog/SystemVerilog,System C,Matlab Simulink以及Vivado HLS支持的C/C++,Altera SDK for OpenCL等等,之前一直感觉System C可能会火起来,但是现在应用该语言的设计者相对还是太少,相关设计资料等资源也相对匮乏,无法构成良好的生态圈。而OpenCL有着跨硬件平台的优势,有着更多的用户群,有着更广的技术生态圈,相信未来对于FPGA的设计语言,低层次设计是SystemVerilog的天下,而高层次设计非OpenCL莫属了。 原创文章,转载请注明,本文链接地址:  http://www.elecbio.com/archives/204
  • 热度 28
    2013-8-16 14:29
    2668 次阅读|
    0 个评论
      软件对于半导体公司来讲是个新挑战,因为传统上他们多数只设计硬件,现在还要考虑软硬件的协同设计。当芯片的设计规模越来越大,芯片的设计成本越来越高,硬件仿真技术、系统设计、物理设计与验证,都需要着力提升效率,并降低成本和功耗。这不光是硬件公司和EDA公司需要面对的挑战,更需要整个产业的合作。目前看来,半导体公司都越来越重视软件的开发与应用,其开发平台、设计工具都在不断改进。   ADI超低功耗便携系统开发平台ADXL362开发板 ADXL362开发板是一款超低功耗的便携系统开发平台,可用于各种运动监测,也可作为客户最终低功耗产品系统解决方案的参考。开发板可以被配置成便携数据采集系统,将实时加速度数据记录在SD卡上以便于后期算法开发。ADXL362工作模式、测量范围、采样频率等参数均可由用户通过计算机软件来配置。开发板带有低功耗电纸书显示器,在用户完成算法开发后,可以利用其来实时显示,方便验证算法的性能。   Altium Designer使可编程领域的功能设计摆脱物理限制 利用一体化电子设计软件Altium Designer,可以在设计和建立下一代电子产品时获得非凡的能力。Altium Designer集原理图设计、板级物理设计和可编程设计及制造于一体。其单一设计数据库消除了数据转换和同步问题,可实现的设计任务包括:元器件创建和库管理;全层次化设计输入与设计复用、装配变量支持;混合信号仿真,兼容Spice 3f5;布线前及布线后信号完整性分析;高级交互式布线,包括差分对支持、长度调整、阻抗控制布线;自动布线;高级导航与高亮显示;具有实时3D冲突检查的3D电路板设计;以及同一PCB多人协同设计。 依托Altium Designer的数据管理功能,可以自动对所有设计文件及输出文件实行版本控制,提供完整的发布历史以供追溯,并在每次发布设计数据时创建完整、安全的整体设计快照。数据管理功能包括:版本控制系统支持、发布与生命周期管理以及通过Outjob文件管理重复文件输出。Altium Designer的软设计能力提供超强的灵活性,可轻松将可编程领域的功能设计脱离出电路板级的物理依赖限制,并提供真正独立于FPGA器件供应商的开发环境。优点包括:独立于器件厂商、无需HDL、支持VHDL/Verliog、使用OpenBus自上而下设计完整的嵌入式系统、基于C语言的FPGA设计能力、软件平台构建器,以及用于设计测试的各种虚拟仪器。   Altera版ARM Development Studio 5 (DS-5)工具包 基于ARM Development Studio 5,Altera版ARM DS-5工具包是Altera独家器件专用产品,无缝扩展了跨CPU-FPGA边界的嵌入式调试功能,消除了SoC器件的调试壁垒。Altera版ARM DS-5是Altera SoC嵌入式设计套装(EDS)的一部分,关键特性包括:支持电路板开发、驱动开发、操作系统移植、裸机和Linux应用程序开发;开发并调试以SMP和AMP模式运行的系统;ARM体系结构最先进的多核调试功能,为Altera SoC器件提供FPGA自适应调试功能;采用在FPGA架构中综合的ARM CoreSight跟踪宏单元,支持ARM Cortex-A9处理器以及任何定制内核进行同时调试,并提供跟踪连接;ARM流线性能分析器采用来自SoC和FPGA域的性能计数器,实现全系统级分析。   Altera面向Altera FPGA的OpenCL OpenCL标准是第一个开放、免版税、统一的编程模型,能够在异构系统上加速算法实现。OpenCL支持在不同的平台上使用基于C的语言来开发代码——从CPU、GPU、数字信号处理(DSP)器件,到FPGA。Khronos集团的很多供应商都支持OpenCL。 面向FPGA的OpenCL优点包括:与传统的FPGA设计流程相比,产品能够更迅速面市;使用OpenCL C(基于ANSI C)并行编程语言而不是传统的底层硬件描述语言(HDL)来描述您的算法;在更高层的设计抽象环境中迅速进行设计开发;针对目前和未来的FPGA重新定位OpenCL C代码,设计不会过时;跳过耗时的手动时序收敛以及FPGA、主机和外部存储器之间的通信接口设计工作,一个步骤就可以在FPGA上实现您的OpenCL C代码;把对性能要求较高的功能从主处理器中分流到FPGA上,提高了性能;通过观看采用OpenCL,分流到FPGA来加速算法性能的演示,了解详细信息;与其他硬件方案相比,显著降低功耗,提高性能。采用FPGA的精细线程架构,Altera面向OpenCL的SDK只生成您需要的逻辑,功耗只有硬件方案的1/5。 很多市场领域对通过并行软件编程来提高性能、加速产品面市的需求越来越高,包括计算机和存储、军事、医疗和广播等市场。   MathWorks 2012b版本MATLAB和Simulink MathWorks的Release 2012b版本具有MATLAB和Simulink的重大更新,可显著提升用户的使用与导航体验。新增的Simulink编辑器采用选项卡式窗口,并且支持信号线智能布控和仿真回退;MATLAB桌面则新添了一个工具条,以方便用户快速访问常用功能和MATLAB应用程序库。此外,R2012b版本中还含带了经过重新设计的帮助系统,改进了浏览、搜索、筛选和内容分类。 为了帮助新/老用户全面浏览MATLAB不断扩展的功能,MathWorks对MATLAB桌面加以更新,实现了两项重大改进:MATLAB工具条,其中汇集了有关MATLAB最常用功能(例如选择数据的最佳绘图类型)的图标;应用程序库,其中收纳了MATLAB产品系列的应用程序,使得用户无需编写代码即能执行常见任务。此外,还新增了其他一些功能,以便帮助用户将 MATLAB 应用程序打包并纳入应用程序库,借助导入工具来导入分隔符分隔的文本文件和固定宽度的文本文件中的数据,以及在命令行窗口中更正输错的函数及变量。 Simulink全新的用户界面以及新增的各项功能标志着基于模型的设计新时代的开端,由此得以更加快速、更有成效地实施动态系统和嵌入式系统的开发。Simulink编辑器可通过如下功能来简化建模过程:选项卡式模型窗口,改进了窗口管理;资源管理器栏,用于遍历模型的层次结构;信号线智能布控,用于确定信号线的最佳路径;调试功能,可回退仿真并设置信号条件断点。R2012b还引入了Simulink Projects来管理项目文件和连接源控制软件,并支持在Arduino、LEGO MINDSTORMS NXT、BeagleBoard和PandaBoard等目标硬件上运行模型。   赛灵思Vivado高层次综合工具 当今无线、医疗、军用产品和消费类产品应用中,使用的高级算法比以往更加复杂。加速smarter system开发需要自动化级别高于RTL级别的设计。作为全球全球首款增强型设计套件,赛灵思Vivado Design Suite面向未来10年All Programmable器件全新构建一个SoC增强型、以IP为中心的新一代开发环境,突破了系统级集成和实现的生产力瓶颈。 Vivado HLS(高层次综合工具)着重于加快系统级功能的集成速度,为用户提供了高度集成的设计环境(IDE)和全新一代“系统到IC(System to IC)”工具,其中包括高层次综合、具有业界最佳System Verilog支持的RTL综合、革命性创新的分析型布局布线,以及高级SDC时序引擎。这些解决方案支持在VHDL和Verilog中直接运用高级IP核规范,从而可将IP核验证速度提高100倍以上,同时将RTL创建速度提高4倍。 您可以单独使用这些高度集成的工具,也可以综合结果分析,在Vivado Design Suite中使用可重用的IP核。Vivado HLS大大提升了开发人员的设计生产力。 使用Vivado HLS,设计人员可将C、C++ 和 System C规范直接引入Xilinx All Programmable器件,无需手动创建RTL,从而加速了IP的创建,同时快速探索出复杂算法的实现架构。   泛华恒兴测试测量软件平台化解决方案 X-Designer是一个面向测试测量系统中数据采集分析,生产测试,数据管理和流程管理等关键环节设计的系统级平台化解决方案。凭借明确的横向组件分工和从硬件驱动到应用层软件纵向的无缝兼容,X-Designer平台体系全面解决了在测控系统设计中的复杂问题与众多难点,将系统流程管理中各个环节紧密的联系起来。面向复杂流程和多对象应用领域,凭借测试测量行业背景和多年积累,融合整个开发、生产和维护各个步骤的软件需求,以平台化的软件体系提供专业组件和开放接口,提供统一而完备的系统级解决方案。 使用X-Designer可以帮助您更富创造性地呈现想法并创建测控系统,以分布式系统作为强大载体,可以随时了解项目进展,通过同时共享数据信息的方式与其他终端高效互联,实现数据采集、实时分析、模型应用、算法验证、数据挖掘、序列部署等全局应用。   恩智浦JN516x无线微控制器和评估套件 JN516x评估套件专为使用恩智浦JN5161、JN5164或JN5168无线微控制器而设计。这些微控制器采用增强型32位RISC处理器,具有一流的存储器选择——高达256KB的嵌入式闪存、4KB片上EEPROM和32KB RAM。JN516x系列器件还包括IEEE802.15.4 2.4GHz收发器和广泛的模拟和数字外设。 JN516x评估套件提供系统开发所需的所有构件,包括一系列无线载板、插入式扩展板、USB连接器、一个遥控器、一个经过专门编程、运行增强型OpenWRT固件的互联网路由器以及完整的软件设计套件。该全面的开发套件可以轻松使用ZigBee、JenNet-IP或RF4CE设计物联网解决方案。 设计人员使用包含在套件内的各种演示,可快速生成概念验证系统,该系统中的软件随后可用于采用JN516x IC或模块的终端产品。演示包括:基于JenNet-IP、用路由器来支持WLAN或互联网连接的智能照明演示;让用户体验能源服务门户(通过USB连接器)、应急显示屏(使用显示扩展板)、独立的电力和天然气仪表或增程器的ZigBee Smart Energy演示;允许设计人员远程控制照明扩展板上彩色LED的ZigBee Light Link演示;让用户在Windows Media Player应用程序上选择、播放、前进、停止、暂停或更改音量的RF4CE演示。   明导FloTHRM XT电子散热仿真软件 FloTHERM XT是业内独特的热仿真解决方案,它被设计用于电子设计过程的全阶段——从概念设计阶段至生产,提高产品品质、可靠性和缩短上市时间。通过让EDA和MCAD设计流程更密切,FloTHERM XT使工程师能够用相同设计数据来贯穿设计流程,确保最新的和最稳定的数据总是在设计过程中心。 利用FloTHERM的电子散热DNA和FloEFD的CFD技术,FloTHERM XT具有仿真大型复杂电子系统的能力和性能,并给热学专家和结构工程师提供前所未有的仿真能力。相比传统的通用仿真产品,FloTHERM XT大量缩短流程时间,使得设计师和热学专家能快速、有效地获得最优化解决方案。 该产品特点和优势包括:独立的电子散热仿真软件工具,给用户提供了处理大型复杂电子系统的专业工具;基于CAD的用户界面,以及几何引擎和控制方式使可提高用户的使用效率并缩短软件的学习过程;几何和非几何SmartParts及库功能,使用户能够快速准确的建立全套最新型的元器件模型;集成了求解进度显示以及动态信息窗口的单窗口应用程序;支持直接与所有主要MCAD以及Expedition Enterprise EDA 软件进行轻松和准确的数据传输。   飞兆LED照明设计工具 - Power Supply WebDesigner Power Supply WebDesigner(PSW)设计工具允许设计人员选择设计所需的元件或使用设计工具推荐的设计值(在适用地方显示飞兆半导体的部件编号)。PSW可以自动推荐设计值,同时允许设计人员自己评估所选元件, 在不到一分钟内完成设计。使用工具时,设计人员可接受默认的推荐值,也可用一些时间去优化重要的细节部分,满足特定的设计需要。设计人员可对设计性能进行快速、准确的估算,并进一步优化设计选项。工具还允许设计人员进行细致的仿真分析,了解如何使设计与硬件原型能够令人更满意地工作。 完成设计后,PSW会创建一份BOM表, 可发送到采购部或直接在线采购元件,节省制作文档或从其他地方获取零部件的时间。设计人员可保存其设计作将来参考或分享给其他工程师。飞兆半导体最新的非隔离式PFC降压型LED驱动器可通过PSW进行设计,支持飞兆半导体的LED驱动器系列。业界首个经过专门设计的LED在线设计工具,能帮助设计EMI滤波器、预测功率因数(PF)和总谐波失真(THD)。PSW的功能进一步增强,满足低功率(≤20W)和中等功率(≤50W)LED应用驱动器特殊设计要求。   TI WEBENCH Schematic Export WEBENCH Schematic Export是德州仪器(TI)推出的一款最新在线工具,可从TI WEBENCH设计中心向Cadence Design Systems公司、Mentor Graphics以及Altium等业界领先计算机辅助设计(CAD)开发平台导出模拟设计。 自1999年National Semiconductor推出WEBENCH以来,全球工程师已采用TI获奖WEBENCH工具快速免费创建了200多万项设计。虽然这些工具显著简化了设计工作,加速了设计进程,但工程师将设计导出到其需要许可证的CAD开发平台却非常耗时。WEBENCH Schematic Export由TI在CAD开发平台制造商的协助下开发,现在可帮助工程师立即将这些动态创建的电源及LED照明设计导出至各种平台,如Cadence OrCAD Capture CIS、Mentor Graphics DxDesigner以及Altium(如Altium Designer等)等格式。   飞思卡尔 - Freedom开发平台 – FRDM-KL05Z 飞思卡尔Freedom开发平台是一个小型化、低功率、经济高效的评估和开发系统,是采用Kinetis MCU系列器件进行快速应用原型设计和制作演示的完美之选。该平台具有易于使用的大容量存储器件模式闪存编程器、一个虚拟串行端口和常规的编程功能以及运行控制功能。 FRDM-KL05Z是飞思卡尔Freedom开发平台的其中一款超低成本开发平台,由基于ARM Cortex-M0+处理器的Kinetis L系列KL0x MCU组成。特点包括易于访问MCU I/O、配备电池管理功能、低功率运行和标准外形规格(可搭配扩展板使用),内置的调试接口可进行闪存编程和运行控制。FRDM-KL05Z受到众多飞思卡尔和第三方开发软件的支持。 FRDM-KL05Z特性包括:超低成本;MKL05Z32VFM4 MCU——48MHz、32KB闪存、4KB SRAM、32QFN;电容滑动触摸感应板,MMA8451Q加速度传感器,三色LED;易于访问MCU I/O;成熟的OpenSDA调试接口;大容量存储设备闪存编程接口(默认)——无需安装任何工具即可评估演示app;PE Multilink接口具有运行控制调试功能并兼容IDE工具。   Mentor Graphics Tessent TestKompress with Cell-Aware Testing工具 绝大多数量产测试的方法都针对电路组件边界的故障而设计。可是根据近来工艺的趋势,有为数过半的缺陷是位于电路组件内部。为了要检测这些缺陷,先进的半导体公司会采用所谓的电路组件感知ATPG的方法。首先传统故障模型的期待行为会被抽象化,接着组件内部电路部局因缺陷所造成的影响会被分析而产生电路组件感知模型。 Tessent TestKompress工具软件利用所谓的CellModelGen,将此分析过程自动化,并进而生成客制化故障模型 (UDFM)。由于是针对潜在缺陷位置及透过电路组件实体特性分析而刻意产生出量产测试向量,电路组件感知的方法学可以确保极高的测试质量。多项学术研究与大量量产测试的结果都已证明电路组件感知测试可以大幅度提升缺陷覆盖率以及客户退货率。
  • 热度 15
    2012-11-7 11:05
    2555 次阅读|
    1 个评论
    观看OpenCL怎样为异构计算提供统一的平台。在这一演示中,我们将为GPU编写的NVIDIA代码重新定位到Stratix V FPGA上。    
相关资源
  • 所需E币: 0
    时间: 2022-7-27 09:52
    大小: 333.41KB
    上传者: ZHUANG
    Zynq异构FPGA平台的OpenCL框架研究
  • 所需E币: 3
    时间: 2022-1-3 21:58
    大小: 4.06MB
    上传者: czd886
    利用OpenCL设计并优化FPGA上的全连接神经网络
  • 所需E币: 0
    时间: 2020-12-25 21:06
    大小: 2.92MB
    上传者: czd886
    基于OpenCL与FPGA异构模式的Sobel算法研究
  • 所需E币: 5
    时间: 2019-12-24 21:37
    大小: 917.03KB
    上传者: 978461154_qq
    利用FPGA上的Khronos集团OpenCL™标准,与目前的CPU、图形处理单元(GPU)和数字信号处理(DSP)单元等硬件体系结构相比,能够大幅度提高性能,同时降低了功耗。此外,与使用Verilog或者VHDL等底层硬件描述语言(HDL)的传统FPGA开发方法相比,使用OpenCL标准、基于FPGA的混合系统(CPU+FPGA)具有明显的产品及时面市优势。采用OpenCL标准实现FPGA设计WP-01173-1.0白皮书利用FPGA上的Khronos集团OpenCL标准,与目前的CPU、图形处理单元(GPU)和数字信号处理(DSP)单元等硬件体系结构相比,能够大幅度提高性能,同时降低了功耗。此外,与使用Verilog或者VHDL等底层硬件描述语言(HDL)的传统FPGA开发方法相比,使用OpenCL标准、基于FPGA的混合系统(CPU+FPGA)具有明显的产品及时面市优势。引言在可编程技术发展的最初阶段,可编程能力出现了两个极端。如图1所示,一个极端的代表是单核CPU和数字信号处理(DSP)单元。这些器件使用含有一系列可执行指令的软件来进行编程。对于编程人员,以概念上连续的方式来开……