会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明申请
    • Method for improving processing of relatively aligned memory references for increased reuse opportunities
    • 用于改善相对一致的存储器引用的处理以增加再利用机会的方法
    • US20070226453A1
    • 2007-09-27
    • US11387218
    • 2006-03-23
    • Alexandre EichenbergerRohini NairKai-Ting WangPeng WuPeng Zhao
    • Alexandre EichenbergerRohini NairKai-Ting WangPeng WuPeng Zhao
    • G06F15/00
    • G06F9/3885G06F9/30036G06F9/345G06F9/383
    • Computer implemented method, system and computer program product for aligning vectors to be processed by SIMD code. A pair of vectors to be aligned at runtime and having a known relative alignment at compile time is identified. A modified second memory reference is generated by modifying an address of the second memory reference to be in a same congruence class as the first memory reference, wherein the congruence class is mod V and wherein V is SIMD byte width. A first SIMD load located at the modified second memory reference and a next adjacent SIMD load located at a third memory reference corresponding to the modified second memory reference address plus V are loaded, and the first SIMD load and the next adjacent SIMD load are concatenated to generate a resultant vector of length 2V. The resultant vector is left shifted by an amount corresponding to a difference between the addresses of the first memory reference and the second memory reference mod V, and the leftmost V bytes of the resultant vector are retained to align the first and second vectors.
    • 计算机实现的方法,系统和计算机程序产品,用于对齐由SIMD代码处理的向量。 识别在运行时对准并且在编译时具有已知的相对对准的一对向量。 通过将第二存储器引用的地址修改为与第一存储器引用相同的一致类来生成修改的第二存储器引用,其中,同余类是mod V,并且其中V是SIMD字节宽度。 位于修改的第二存储器基准的第一SIMD负载和位于与修改的第二存储器参考地址加V相对应的第三存储器引用的下一相邻SIMD负载被加载,并且第一SIMD负载和下一相邻SIMD负载被级联到 产生长度为2V的合成矢量。 将所得到的矢量移位一个与第一存储器参考和第二存储器参考模V的地址之间的差相对应的量,并且保留所得到的矢量的最左侧的V字节以对齐第一和第二矢量。
    • 2. 发明申请
    • Method to analyze and reduce number of data reordering operations in SIMD code
    • 在SIMD代码中分析和减少数据重排序操作的方法
    • US20070192762A1
    • 2007-08-16
    • US11340452
    • 2006-01-26
    • Alexandre EichenbergerKai-Ting WangPeng WuPeng Zhao
    • Alexandre EichenbergerKai-Ting WangPeng WuPeng Zhao
    • G06F9/45
    • G06F8/443
    • A method for analyzing data reordering operations in Single Issue Multiple Data source code and generating executable code therefrom is provided. Input is received. One or more data reordering operations in the input are identified and each data reordering operation in the input is abstracted into a corresponding virtual shuffle operation so that each virtual shuffle operation forms part of an expression tree. One or more virtual shuffle trees are collapsed by combining virtual shuffle operations within at least one of the one or more virtual shuffle trees to form one or more combined virtual shuffle operations, wherein each virtual shuffle tree is a subtree of the expression tree that only contains virtual shuffle operations. Then code is generated for the one or more combined virtual shuffle operations.
    • 提供了一种用于分析单发多数据源代码中的数据重排序操作并从中生成可执行代码的方法。 收到输入。 识别输入中的一个或多个数据重排序操作,并将输入中的每个数据重排序操作抽象为相应的虚拟随机播放操作,使得每个虚拟随机播放操作形成表达式树的一部分。 通过将所述一个或多个虚拟随机播放树中的至少一个中的虚拟随机播放操作组合以形成一个或多个组合的虚拟随机播放操作来折叠一个或多个虚拟洗牌树,其中每个虚拟随机播放树是仅包含表达式树的子树 虚拟随机操作。 然后为一个或多个组合的虚拟随机操作生成代码。
    • 3. 发明申请
    • Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support
    • 在存在多线程和其他虚假共享条件的情况下以及具有存储器保护支持的机器中有效地生成SIMD代码
    • US20070226723A1
    • 2007-09-27
    • US11358372
    • 2006-02-21
    • Alexandre EichenbergerKai-Ting WangPeng WuPeng Zhao
    • Alexandre EichenbergerKai-Ting WangPeng WuPeng Zhao
    • G06F9/45
    • G06F9/3851G06F8/44
    • A computer implemented method, system and computer program product for automatically generating SIMD code, particularly in the presence of multi-threading and other false sharing conditions, and in machines having a segmented/virtual page memory protection system. The method begins by analyzing data to be accessed by a targeted loop including at least one statement, where each statement has at least one memory reference, to determine if memory accesses are safe. If memory accesses are safe, the targeted loop is simdized. If not safe, it is determined if a scheme can be applied in which safety need not be guaranteed. If such a scheme can be applied, the scheme is applied and the targeted loop is simdized according to the scheme. If such a scheme cannot be applied, it is determined if padding is appropriate. If padding is appropriate, the data is padded and the targeted loop is simdized. If padding is not appropriate, non-simdized code is generated based on the targeted loop for handling boundary conditions, the targeted loop is simdized, and the simdized targeted loop is combined with the non-simdized code.
    • 一种用于自动生成SIMD代码的计算机实现的方法,系统和计算机程序产品,特别是在存在多线程和其他假共享条件的情况下,以及具有分段/虚拟页面存储器保护系统的机器中。 该方法开始于分析由目标循环访问的数据,包括至少一个语句,其中每个语句具有至少一个存储器引用,以确定存储器访问是否安全。 如果存储器访问是安全的,则对象循环被简化。 如果不安全,则确定是否可以应用不需要保证安全性的方案。 如果可以应用这种方案,则应用该方案,并且根据该方案对目标循环进行模拟。 如果不能应用这种方案,则确定填充是否合适。 如果填充是合适的,则填充数据并对目标循环进行模拟。 如果填充不合适,则基于用于处理边界条件的目标循环生成非模拟代码,目标循环被简化,并且模拟目标循环与非模拟代码组合。
    • 6. 发明授权
    • Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support
    • 在存在多线程和其他虚假共享条件的情况下以及具有存储器保护支持的机器中有效地生成SIMD代码
    • US07730463B2
    • 2010-06-01
    • US11358372
    • 2006-02-21
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng WuPeng Zhao
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng WuPeng Zhao
    • G06F9/45
    • G06F9/3851G06F8/44
    • A computer implemented method, system and computer program product for automatically generating SIMD code. The method begins by analyzing data to be accessed by a targeted loop including at least one statement, where each statement has at least one memory reference, to determine if memory accesses are safe. If memory accesses are safe, the targeted loop is simdized. If not safe, it is determined if a scheme can be applied in which safety need not be guaranteed. If such a scheme can be applied, the targeted loop is simdized according to the scheme. If such a scheme cannot be applied, it is determined if padding is appropriate. If padding is appropriate, the data is padded and the targeted loop is simdized. If padding is not appropriate, non-simdized code is generated based on the targeted loop for handling boundary conditions, the targeted loop is simdized and combined with the non-simdized code.
    • 一种用于自动生成SIMD代码的计算机实现的方法,系统和计算机程序产品。 该方法开始于分析要由目标循环访问的数据,包括至少一个语句,其中每个语句具有至少一个存储器引用,以确定存储器访问是否安全。 如果存储器访问是安全的,则对象循环被简化。 如果不安全,则确定是否可以应用不需要保证安全性的方案。 如果可以应用这种方案,则根据该方案对目标循环进行模拟。 如果不能应用这种方案,则确定填充是否合适。 如果填充是合适的,则填充数据并对目标循环进行模拟。 如果填充不合适,则基于用于处理边界条件的目标循环生成非模拟代码,目标循环被简化并与非模拟代码组合。
    • 8. 发明授权
    • Analyze and reduce number of data reordering operations in SIMD code
    • 分析和减少SIMD代码中数据重排序的数量
    • US08954943B2
    • 2015-02-10
    • US11340452
    • 2006-01-26
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng WuPeng Zhao
    • Alexandre E. EichenbergerKai-Ting Amy WangPeng WuPeng Zhao
    • G06F9/45G06F15/00G06F15/76
    • G06F8/443
    • A method for analyzing data reordering operations in Single Issue Multiple Data source code and generating executable code therefrom is provided. Input is received. One or more data reordering operations in the input are identified and each data reordering operation in the input is abstracted into a corresponding virtual shuffle operation so that each virtual shuffle operation forms part of an expression tree. One or more virtual shuffle trees are collapsed by combining virtual shuffle operations within at least one of the one or more virtual shuffle trees to form one or more combined virtual shuffle operations, wherein each virtual shuffle tree is a subtree of the expression tree that only contains virtual shuffle operations. Then code is generated for the one or more combined virtual shuffle operations.
    • 提供了一种用于分析单发多数据源代码中的数据重排序操作并从中生成可执行代码的方法。 收到输入。 识别输入中的一个或多个数据重排序操作,并将输入中的每个数据重排序操作抽象为相应的虚拟随机播放操作,使得每个虚拟随机播放操作形成表达式树的一部分。 通过将所述一个或多个虚拟随机播放树中的至少一个中的虚拟随机播放操作组合以形成一个或多个组合的虚拟随机播放操作来折叠一个或多个虚拟洗牌树,其中每个虚拟随机播放树是仅包含表达式树的子树 虚拟随机操作。 然后为一个或多个组合的虚拟随机操作生成代码。