[发明专利]OPENCL编译有效
申请号: | 201310335854.0 | 申请日: | 2013-06-21 |
公开(公告)号: | CN103593220B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | D·T·L·陈;D·辛格 | 申请(专利权)人: | 阿尔特拉公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京纪凯知识产权代理有限公司11245 | 代理人: | 赵蓉民 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | opencl 编译 | ||
技术领域
本公开总体涉及集成电路,比如现场可编程门阵列(FPGA)。更具体而言,本公开涉及集成电路(例如,FPGA)上的可编程逻辑的编译。
背景技术
本节旨在向读者介绍本技术领域的各个方面。相信这种讨论有助于向读者提供背景信息,以便有助于更好地理解本公开的各个方面。因此,应当明白,这些陈述应该在这个意义下进行解读,而不是作为对现有技术的承认。
集成电路(IC)采取各种形式。例如,现场可编程门阵列(FPGA)是意在作为相对通用器件的集成电路。FPGA可以包括逻辑,该逻辑可以在制造后进行编程(例如进行配置)以提供设计FPGA而支持的任何期望的功能。因此,FPGA包含可编程逻辑或逻辑块,其可以根据设计者的设计被配置为在FPGA上执行各种功能。此外,FPGA可以包括输入/输出(I/O)逻辑以及高速通信电路。例如,高速通信电路可以支持各种通信协议并可以包括高速收发器通道,通过该高速收发器通道,FPGA可以向FPGA外部电路发送串行数据和/或从FPGA外部电路接收串行数据。
在诸如FPGA的集成电路中,通常使用诸如VHDL或Verilog的低级/低层次(low level)编程语言配置可编程逻辑。不幸的是,这些低级编程语言可能提供低级抽象,并且因此可能对可编程逻辑设计者造成开发障碍。诸如Open CL的高级/高层次(high level)编程语言有助于使可编程逻辑设计更加容易。高级程序用于生成对应于低级编程语言的代码。不幸的是,从高级编程语言到低级编程语言的转换常利用大量时间和处理能力。实际上,这种转换的编译时间常常花费许多小时甚至几天来完成,导致设计者生产率下降。
发明内容
下面陈述了本文公开的某些实施例的概要。应当理解,呈现这些方面仅为了向读者提供这些特定实施例的简短概要,并且这些方面并不意在限制本公开的范围。实际上,本公开可以包括下面未提出的各个方面。
现有实施例涉及用于通过多个编译方法改善Open CL程序编译时间的系统、方法及装置。具体的,本实施例可以提供Open CL编译器,所述Open CL编译器提供完全初始编译及增量编译。初始编译生成包括用于IC的可编程逻辑的硬件描述的编程内核。有时,可编程逻辑设计者会实现设计改变。当发生这些设计改变时,通过增量编译,编译器可以对由编程内核所实现的指令进行改变,而无需修改硬件描述,因此使设计改变所用的时间远小于每次发生设计改变时需要生成硬件描述的编译方法。
上面提到的各种详细特征可以与本公开的各个方面有关。进一步的特征也可以加入到这些各个方面中。这些详细特征及附加特征可以单独地或以任何组合方式存在。例如,以下讨论的与一个或多个所示实施例相关的各种特征可以单独或以任何组合方式结合到本发明的任何上述方面。同样,以上呈现的简短概要只是意在使读者熟悉本公开的实施例的某些方面和内容,而不是限制到所要求的主题。
附图说明
在阅读以下详细说明并参考附图后,可以更好地理解本公开的各个方面,其中:
图1是根据本公开的各个方面的典型Open CL编译路径的示例框图,其说明了将高级编程语言写成的程序传播到IC的低级可编程逻辑的过程;
图2是说明Open CL编译器的时间密集型硬件生成周期的示例框图;
图3是根据实施例说明调用图2的硬件生成周期的初始编译过程的示例流程图;
图4是根据实施例说明从图3的初始编译得到的编程内核的示例的示例框图;
图5根据本公开实施例描绘了说明不调用图2的硬件生成周期的二次编译过程的示例流程图;
图6是根据实施例说明改变到调用二次编译(例如图5中的一个)的高级程序的示例框图;
图7是根据本公开实施例说明改变到需要新初始编译的高级程序的示例框图;
图8是根据本公开实施例说明改变到如下高级程序的示例框图,在其中二次编译可能是可行的,但是当通过该二次编译实现时,可能在效率边界外;
图9是根据实施例说明并行执行的多个OpenCL线程的示例框图;
图10是根据实施例说明在由初始编译定义的复杂和简单的硬件定义之间的比较的示例框图;
图11是说明在其执行流中使用多个内核的主机程序20的示例调用图;
图12是根据实施例说明用于提高关键路径效率的过程的示例流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿尔特拉公司,未经阿尔特拉公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310335854.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在客户端运行桌面虚拟系统的方法及客户端
- 下一篇:导管