[发明专利]自动管道组成有效
申请号: | 201380061907.2 | 申请日: | 2013-12-20 |
公开(公告)号: | CN104813282B | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | S.A.克里格;M.D.耶罗尼莫 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐予红;张懿 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动 管道 组成 | ||
本文提供用于自动管道的方法和设备。可将句法元素手动地插入到代码中,或者自动地注入到代码中。句法元素可规定对独立函数的暗示(例如,数据类型参数),其允许将函数自动地合并到单个循环中,提供优化的数据访问以便合并用于单个循环内的管道中的每个函数。运行时间系统使用句法元素来引导优化以产生用于目标处理器的优化的机器代码。此外,可执行管道。管道包括合并的函数和数据访问。
技术领域
本公开通常涉及成像操作。更具体地,本公开涉及自动地组成用于成像操作的管道。
背景技术
用于图像处理的管道通常由具有计算架构以及要处理的特定成像算法的知识的用户手动地拼凑在一起。这样的管道的构造是耗时的,同时是跨计算架构不可移植的。
附图说明
通过参考附图可更好地理解下文的详细描述,附图包含所公开的主题的许多对象和特征的具体示例。
图1A是根据实施例的在被合并到优化函数中之前的函数的框图;
图1B是根据实施例的在被合并到优化函数中之后的函数的框图;
图2是根据实施例的用于自动管道组成的过程流程图;
图3是根据实施例的Sobel算子的视觉管道的图示;
图4是根据实施例的可被使用的计算装置400的框图;以及
图5是根据实施例的示出存储用于自动管道组成的代码的有形的、非暂时性计算机可读媒体500的框图。
具体实施方式
如以上所论述的,手动构造的管道的生成是耗时的,同时是跨计算架构不可移植的。其结果是,成像管道变得成本过高。
本技术的实施例提供跨计算架构可移植的自动管道组成。在实施例中,管道包含合并到单个外部循环中的各个原函数的集合。此外,在实施例中,合并在外部循环中用于所有原函数的数据访问。以此方式,可使用跨计算架构可移植的算法描述来优化计算系统的存储器和计算资源。此外,可减少数据复制,这消除了数据传递,允许数据值存储在计算单元内的快速寄存器中,消除高速缓存未命中,减少整体存储器带宽,节约功率,并且提高性能。
此外,本文描述的技术提供用于合并到共享公共外部循环和数据读取写入访问的管道中的手动或自动函数。在手动技术中,程序员可将句法元素插入到代码中来标记函数数据类型和使本文描述的技术能用于将代码编译或翻译成合并和优化的管道的其它属性。合并的优化的管道共享公共外部循环和数据读取或写入优化。在自动技术中,编译器或翻译器可检查源代码并且自动地推断应被插入到代码中的句法元素以允许函数合并和公共外部循环以及共享数据读取或写入优化。在实施例中,对软件程序员明显的是句法元素被自动地插入到编译和翻译代码中。因此,本文描述的技术使句法元素能被手动地插入到代码中来引导合并到共享外部循环并且组合数据读取或写入的管道中,使用自动静态代码分析来将代码自动地翻译成更低级的优化代码,或将代码翻译成具有句法元素的其它代码(句法元素被自动插入来引导函数合并到共享外部循环和组合的数据读取和写入的管道中)。
在下文的描述和权利要求中,可使用术语“耦合”和“连接”以及它们的派生词。应该理解这些术语不旨在作为彼此的同义词。而是,在特定实施例中,“连接”可用于指示两个或者更多元素与彼此直接物理或电接触。“耦合”可意味着两个或者更多元素直接物理或电接触。然而,“耦合”还可意味着两个或者更多元素与彼此不直接接触,但仍然与彼此合作或交互。
一些实施例可实现在硬件、固件和软件的一个或组合中。一些实施例还可实现为存储在机器可读介质上的指令,指令可由计算平台读取并且执行来执行本文描述的操作。机器可读介质可包含用于以由机器(例如,计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质可包含只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光存储媒体、闪速存储器装置、等等。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380061907.2/2.html,转载请声明来源钻瓜专利网。