面向OPENCL的ALTERA SDK

使用面向开放计算语言 (OpenCL™) 的 Altera® SDK,用户可以抽象出传统的硬件 FPGA 开发流程,采用更快、更高层面的软件开发流程。在基于 x86 的主机上迅速完成 OpenCL 加速器代码仿真,获得详细的优化报告,包括专门的算法流水线相关信息,缩短编译时间,直至得到满意的内核代码结果。利用预先编写的最优 OpenCL 或者 RTL 功能,从主程序调用它们,或者直接从您的 OpenCL 内核调用它们。

什么是 OpenCL?

OpenCL 标准是第一个开放、免版税、统一的编程模型,能够在异构系统上加速算法实现。OpenCL 支持在不同的平台上使用基于 C 的编程语言来开发代码,例如,中央处理单元 (CPU)、图形处理单元 (GPU)、数字信号处理器 (DSP),以及现场可编程门阵列 (FPGA)。

对于软件工程师而言,OpenCL 是编程模型,对于系统规划人员而言则是一种方法。它基于标准 ANSI C (C99),扩展了并行功能。OpenCL还包括应用程序接口 (API),一般通过 PCI Express® 实现主机与硬件加速器的通信,或者一个内核与另一个没有主机控制的内核进行通信。除此之外,作为供应商扩展功能,Altera 还提供 I/O 通道 API,将数据从 10Gb 以太网等流 I/O 接口直接输入到内核中。OpenCL 的关键优势在于它是可移植、开放、免版税的标准,这也是它与专用编程模型的关键不同。

在 OpenCL 模型中,用户规划任务来控制队列,每个器件至少有一个队列。OpenCL 运行时功能会将数据并行任务分解成片,将其发送给器件中的处理单元。这是主机与任何硬件加速器进行通信的方法。由每一硬件加速器供应商抽象出供应商相关的内容。面向 OpenCL 的 Altera SDK 完成这一工作,并且符合 OpenCL 1.0 标准。

关于 OpenCL 1.0 标准的详细信息,请参考 Khronos 的OpenCL 规范。Khronos 集团的很多供应商都支持 OpenCL。如果需要了解其他信息,请访问http://www.khronos.org/opencl/

什么是面向 OpenCL 的 Altera SDK?

面向 OpenCL 的 Altera SDK 抽象出复杂的 FPGA 设计,支持软件编程人员采用基于 ANSI C 语言的 OpenCL C 来编写硬件加速内核函数,并支持其他的 OpenCL 结构,方便了在 FPGA 上实现应用程序。作为我们 SDK 的一部分,我们提供全套工具让软件编程人员更快速的完成开发流程,这包括:

  • 在 x86 上单步调试代码的仿真器,确保了正常工作。
  • 详细的优化报告,以理解负载和存储内部循环的相关性。
  • 显示内核内部性能的分析器,保证了正确的存储器合并以及无阻塞硬件流水线。
  • OpenCL 编译器,能够在一个步骤中对内核代码进行 300 次优化,产生整个 FPGA 镜像。

面向 OpenCL 的 Altera SDK 已经全面投产,使得 Altera 成为解决方案符合 OpenCL 规范的第一家 FPGA 公司。面向 OpenCL 的 Altera SDK 支持各种主 CPU,包括 SoC 器件中的嵌入式 ARM® Cortex®-A9 处理器内核、IBM Power 系列处理器以及标准 x86 CPU 等。面向 OpenCL 的 Altera SDK 在多个 FPGA 和多块电路板以及各种存储器目标上支持可扩展解决方案,例如,可进行顺序存储器访问的 DDR SDRAM,进行随机存储器访问的 QDR SRAM,或者支持低延时存储器访问的 FPGA 存储器。还支持半精度以及单精度和双精度浮点。

每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

面向OPENCL的ALTERA SDK的更多相关文章

  1. SPIR-V*:面向 OpenCL™ 工作负载的英特尔® 显卡编译器默认接口

    英特尔® 显卡编译器最近从 SPIR* 转换到 SPIR-V*,作为面向 OpenCL™ 工作负载的中间表示.这看起来像编译器的内部变化,对用户来说不可见,但是这展示了我们支持 Khronos* 开放 ...

  2. 揭开Altera公司支持OpenCL的设计工具的神秘面纱

    将程序中处理负荷较大的工作分配给加速器LSI的“异构计算(Heterogeneous Computing)”将踏出崭新的一步.美国Altera公司将于2013年内开始面向普通用户提供可自动由按照异构计 ...

  3. 基于SoCkit的opencl实验1-基础例程

    基于SoCkit的opencl实验1-基础例程 准备软硬件 Arrow SoCkit Board 4GB or larger microSD Card Quartus II v14.1 SoCEDS ...

  4. OpenCL学习笔记(三):OpenCL安装,编程简介与helloworld

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. OpenCL安装 安装我不打算 ...

  5. 【并行计算-CUDA开发】FPGA 设计者应该学习 OpenCL及爱上OpenCL的十个理由

    为什么要学习OpenCL呢?就目前我所从事的医疗超声领域,超声前端的信号处理器一般是通过FPGA或FPGA+DSP来设计的,高端设备用的是FPGA+ GPU架构.传统的设计方法是通过HDL语言来进行设 ...

  6. [重要更新][Quartus II][14.1正式版]

    [Quartus II][14.1正式版] ----14.1版本最大的变化就是增加了2大系列的器件库: MAX 10和Arria 10.这2大系列据Altera中国区代理 骏龙科技的人说,就是为了和X ...

  7. SDAccel-FPGA将带来至多25倍单位功耗性能提升

    很久没有看FPGA了,本来想继续学习HLS,就上Xilinx的网站看了看.结果发现了SDx 开发环境,很新的一个东西.由于我对这方面了解不多,本篇博文仅仅只是资料的整合和介绍. 1.SDx开发环境 X ...

  8. Quartus II 14.0正式版 下载链接和破解器

    Windows版本 必装组件: Quartus II http://download.altera.com/akdlm/software/acdsinst/14.0/200/ib_installers ...

  9. 【Win10 应用开发】扫描和连接Wi-fi网络

    老周今天带大家去“扫雷”了,别当真,是扫描并连接指定无线网络,时尚一点叫Wi-fi. 所以,今天的任务要求你的设备至少有1张无线网卡,目前老周没看到过有N张无线网卡的设备.像笔记本.平板等设备都可以, ...

随机推荐

  1. MySQL用户无法登陆问题

    安装完MySQL后,我们通常添加拥有相应权限的普通用户用来访问数据库.在使用普通用户(假设为tom)本地登录数据库的时候,经常会出现无法登录的情况,但是从其他的mysql客户端却可以登录.在本地使用t ...

  2. 烂泥:学习ubuntu远程桌面(二):远程桌面会话管理

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 在上一篇文章中,我们讲解了如何给ubuntu安装远程桌面及其配置,这篇文章我们再来讲解下有关ubuntu远程桌面会话的问题. 一.问题描述 在我们使用ub ...

  3. C语言基本类型之long long int

    大家都知道int在linux系统下默认是占4个字节,数值表示范围是:-2147483648~2147483647.即使是无符号unsigned int类型表示范围:0-4294967295,大约42亿 ...

  4. Qt 怎么添加图片文件?

    1.新建一个.qrc的文件 2.起个.qrc的文件名 3.完成后,添加图片文件 4.如图 就好了.

  5. jquery 获取设置值、添加元素详解

    jQuery 获取内容和属性 jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力. jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易 ...

  6. Android 的提权 (Root) 原理是什么?

    作者:Kevin链接:https://www.zhihu.com/question/21074979/answer/18176410来源:知乎著作权归作者所有,转载请联系作者获得授权. Android ...

  7. LNMP环境搭建

    LNMP环境搭建 Linux + Nginx + MySQL + PHP PHP是一种脚本语言,当前中国乃至世界上使用PHP语言开发的网站非常普遍 Nginx是一个web服务软件,和apache是一类 ...

  8. [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView

    本文转自:http://www.cnblogs.com/powertoolsteam/p/MVC5_GridView_2.html 背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5 ...

  9. NOIP2012借教室[线段树|离线 差分 二分答案]

    题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...

  10. jmeter jdbc request使用详解

    1.在使用 jdbc request之前需要加载一个jar包 在test plan中将jar包引入到classpath中 2.创建一个JDBC Connection Configuration Var ...