[发明专利]一种基于向量处理器的在线编译方法无效

专利信息
申请号: 200810235436.3 申请日: 2008-12-02
公开(公告)号: CN101414265A 公开(公告)日: 2009-04-22
发明(设计)人: 吕琦;李文中;陆桑璐;陈道蓄 申请(专利权)人: 南京大学
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 南京苏高专利商标事务所 代理人: 柏尚春
地址: 210093*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于向量处理器的在线编译方法,首先运用Python代码的map、filter、zip和range函数,将问题以list comprehension的表达方式定义为一组数据和一组处理函数;将Python代码编译成code对象,获取函数体的func_code属性,该属性为PyCode对象,通过dis库中的dis函数,对这个属性进行解析,将Python字节码翻译成对应的操作符;获取到操作符之后,对其进行扫描,分别处理if分支结构和循环结构两种过程。本发明只需要利用Python语言描述问题,即可自动的转换成可以在各种SIMD实现上运行的SIMD代码,大大降低SIMD的应用难度。
搜索关键词: 一种 基于 向量 处理器 在线 编译 方法
【主权项】:
1、一种基于向量处理器的在线编译方法,其特征在于包括以下步骤:1)运用Python代码的map、filter、zip和range函数,将问题以list comprehension的表达方式定义为一组数据和一组处理函数;2)将Python代码编译成code对象,进行数据流分析,获取函数体的func_code属性,该属性为PyCode对象,通过dis库中的dis函数,对这个属性进行解析,将Python字节码翻译成对应的操作符;3)获取到操作符之后,对其进行扫描,分别处理以下两种过程:if分支结构以及循环结构:对于循环结构,将循环中对数列元素的单独操作,提炼成针对整个队列的操作,包括:通过map函数将一个操作映射到列表上的对应操作的向量模型;通过zip函数将若干个列表关联在一起进行操作的所对应的向量模型;再根据这些关系,产生相对应的SIMD指令,并给对应的SIMD实现编译,动态产生符合Python要求的动态链接库,由Python动态载入并执行;对于if分支结构,首先计算分支条件,然后计算左分支和右分支,最终根据分支条件的结果,将左右两个分支的结果合并。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200810235436.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top