会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 2. 发明申请
    • AUTOMATIC LOOP VECTORIZATION USING HARDWARE TRANSACTIONAL MEMORY
    • 使用硬件交易记忆的自动环路测向
    • US20150268940A1
    • 2015-09-24
    • US14222040
    • 2014-03-21
    • Sara S. BaghsorkhiAlbert HartonoYoufeng WuNalini VasudevanCheng Wang
    • Sara S. BaghsorkhiAlbert HartonoYoufeng WuNalini VasudevanCheng Wang
    • G06F9/45
    • G06F8/452
    • Technologies for automatic loop vectorization include a computing device with an optimizing compiler. During an optimization pass, the compiler identifies a loop and generates a transactional code segment including a vectorized implementation of the loop body including one or more vector memory read instructions capable of generating an exception. The compiler also generates a non-transactional fallback code segment including a scalar implementation of the loop body that is executed in response to an exception generated within the transactional code segment. The compiler may detect whether the loop contains a memory read dependent on a condition that may be updated in a previous iteration or whether the loop contains a potential data dependence between two iterations. The compiler may generate a dynamic check for an actual data dependence and an explicit transactional abort instruction to be executed when an actual data dependence exists. Other embodiments are described and claimed.
    • 用于自动循环矢量化的技术包括具有优化编译器的计算设备。 在优化传递期间,编译器识别循环并生成包括循环体的向量化实现的事务代码段,其包括能够产生异常的一个或多个向量存储器读取指令。 编译器还生成非事务性回退代码段,其包括响应于在事务代码段内生成的异常被执行的循环体的标量实现。 编译器可以检测循环是否包含依赖于可以在先前迭代中更新的条件的存储器读取,或者循环是否包含两次迭代之间的潜在数据依赖性。 当实际数据依赖性存在时,编译器可以生成实际数据依赖性和要执行的显式事务中止指令的动态检查。 描述和要求保护其他实施例。
    • 5. 发明授权
    • Context-sensitive slicing for dynamically parallelizing binary programs
    • 用于动态并行化二进制程序的上下文相关切片
    • US08443343B2
    • 2013-05-14
    • US12607589
    • 2009-10-28
    • Joseph BlomstedtCheng WangYoufeng Wu
    • Joseph BlomstedtCheng WangYoufeng Wu
    • G06F9/45
    • G06F11/3604G06F8/433G06F8/456
    • In one embodiment of the invention a method comprising (1) receiving an unstructured binary code region that is single-threaded; (2) determining a slice criterion for the region; (3) determining a call edge, a return edge, and a fallthrough pseudo-edge for the region based on analysis of the region at a binary level; and (4) determining a context-sensitive slice based on the call edge, the return edge, the fallthrough pseudo-edge, and the slice criterion. Embodiments of the invention may include a program analysis technique that can be used to provide context-sensitive slicing of binary programs for slicing hot regions identified at runtime, with few underlying assumptions about the program from which the binary is derived. Also, in an embodiment a slicing method may include determining a context-insensitive slice, when a time limit is met, by determining the context-insensitive slice while treating call edges as a normal control flow edges.
    • 在本发明的一个实施例中,一种方法包括(1)接收单线程的非结构化二进制码区域; (2)确定该区域的切片标准; (3)基于二进制级别的区域的分析确定该区域的通话边缘,返回边缘和下降伪边缘; 和(4)基于呼叫边缘,返回边缘,下降伪边缘和切片标准来确定上下文敏感切片。 本发明的实施例可以包括程序分析技术,其可以用于提供二进制程序的上下文敏感切片,用于对在运行时识别的热区域进行切片,而关于从其导出二进制的程序的几个基本假设。 此外,在一个实施例中,切片方法可以包括当满足时间限制时,通过在将呼叫边缘视为正常控制流边缘的同时确定上下文不敏感切片来确定上下文不敏感切片。
    • 7. 发明授权
    • Efficient and consistent software transactional memory
    • 高效一致的软件事务内存
    • US08060482B2
    • 2011-11-15
    • US11648012
    • 2006-12-28
    • Cheng WangYoufeng WuWei-Yu ChenBratin SahaAli-Reza Adl-Tabatabai
    • Cheng WangYoufeng WuWei-Yu ChenBratin SahaAli-Reza Adl-Tabatabai
    • G06F7/00G06F17/00G06F17/30
    • G06F8/458G06F9/3004G06F9/30087G06F9/3834G06F9/3859G06F9/3863G06F9/467
    • A method and apparatus for efficient and consistent validation/conflict detection in a Software Transactional Memory (STM) system is herein described. A version check barrier is inserted after a load to compare versions of loaded values before and after the load. In addition, a global timestamp (GTS) is utilized to track a latest committed transaction. Each transaction is associated with a local timestamp (LTS) initialized to the GTS value at the start of a transaction. As a transaction commits it updates the GTS to a new value and sets versions of modified locations to the new value. Pending transactions compare versions determined in read barriers to their LTS. If the version is greater than their LTS indicating another transaction has committed after the pending transaction started and initialized the LTS, then the pending transaction validates its read set to maintain efficient and consistent transactional execution.
    • 这里描述了用于在软件事务存储器(STM)系统中有效且一致的验证/冲突检测的方法和装置。 在加载之后插入版本检查障碍,以便在加载之前和之后比较加载值的版本。 此外,使用全局时间戳(GTS)来跟踪最近提交的事务。 每个事务与在事务开始时初始化为GTS值的本地时间戳(LTS)相关联。 作为事务提交,将GTS更新为新值,并将修改的位置的版本设置为新值。 待处理的交易将比较其在LTS阅读障碍中确定的版本。 如果版本大于其LTS,指示在挂起事务启动并初始化LTS之后另一个事务已经提交,则挂起的事务会验证其读取集合以保持有效且一致的事务执行。