-
公开(公告)号:US20120159458A1
公开(公告)日:2012-06-21
申请号:US12972198
申请日:2010-12-17
申请人: Yosseff Levanoni , Weirong Zhu , Lingli Zhang , John Lee Rapp , Andrew L. Bliss
发明人: Yosseff Levanoni , Weirong Zhu , Lingli Zhang , John Lee Rapp , Andrew L. Bliss
IPC分类号: G06F9/45
摘要: The present invention extends to methods, systems, and computer program products for reconstructing program control flow. Embodiments include implementing or morphing a control flow graph (“CFG”) into an arbitrary loop structure to reconstruct (preserve) control flow from original source code. Loop structures can be optimized and can adhere to target platform constraints. In some embodiments, C++ source code (a first higher level format) is translated into a CFG (a lower level format). The CFG is then translated into HLSL source code (a second different higher level format) for subsequent compilation into SLSL bytecode (that can then be executed at a Graphical Processing Unit (“GPU”)). The control flow from the C++ source code is preserved in the HLSL source code.
摘要翻译: 本发明扩展到用于重建程序控制流的方法,系统和计算机程序产品。 实施例包括将控制流程图(“CFG”)实现或变形为任意循环结构,以重构(保留)来自原始源代码的控制流程。 循环结构可以进行优化,并可以遵守目标平台约束。 在一些实施例中,将C ++源代码(第一较高级格式)转换成CFG(较低级格式)。 然后将CFG转换为HLSL源代码(第二种不同的较高级别格式),以便后续编译成SLSL字节码(然后可以在图形处理单元(“GPU”)中执行)。 来自C ++源代码的控制流将保留在HLSL源代码中。
-
公开(公告)号:US20110314230A1
公开(公告)日:2011-12-22
申请号:US12819494
申请日:2010-06-21
摘要: A software transactional memory system implements a lightweight key-based action framework. The framework includes a set of unified application programming interfaces (APIs) exposed by an STM library that allow clients to implement actions that can be registered, queried, and updated using specific keys by transactions or transaction nests in STM code. Each action includes a key, state information, and a set of one or more callbacks that can be hooked to the validation, commit, abort, and/or re-execution phases of transaction execution. The actions extend the built-in concurrency controls of the STM system with customized control logics, support transaction nesting semantics, and enable integration with garbage collection systems.
摘要翻译: 软件事务内存系统实现了一个轻量级的基于键盘的动作框架。 该框架包括由STM库公开的一组统一的应用程序编程接口(API),允许客户端通过STM代码中的事务处理或事务处理实现使用特定密钥进行注册,查询和更新的操作。 每个动作包括一个密钥,状态信息和一组可以挂接到事务执行的验证,提交,中止和/或重新执行阶段的回调。 该操作通过定制的控制逻辑扩展了STM系统的内置并发控制,支持事务嵌套语义,并实现了与垃圾收集系统的集成。
-
公开(公告)号:US20100083257A1
公开(公告)日:2010-04-01
申请号:US12243371
申请日:2008-10-01
申请人: Weirong Zhu , David L. Detlefs , Yosseff Levanoni , Lingli Zhang
发明人: Weirong Zhu , David L. Detlefs , Yosseff Levanoni , Lingli Zhang
CPC分类号: G06F12/1466 , G06F3/0622 , G06F3/0653 , G06F3/0673 , G06F9/467 , G06F9/526 , G06F2212/1052
摘要: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
摘要翻译: 提供了一种软件事务性内存系统,为每个由事务访问的数组对象创建一个事务锁数组。 该系统将数组对象划分为非重叠部分,并将每个部分与不同的事务锁相关联。 系统为访问数组对象的相应部分的事务获取事务锁。 通过这样做,可以通过不同的事务同时访问数组对象的不同部分。 系统可以使用共享的阴影或复制副本来访问数组对象。
-
公开(公告)号:US20120167062A1
公开(公告)日:2012-06-28
申请号:US12979094
申请日:2010-12-27
申请人: Yosseff Levanoni , Weirong Zhu , Lingli Zhang , John Lee Rapp , Andrew L. Bliss
发明人: Yosseff Levanoni , Weirong Zhu , Lingli Zhang , John Lee Rapp , Andrew L. Bliss
IPC分类号: G06F9/45
摘要: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.
摘要翻译: 本发明扩展到用于模拟指针的方法,系统和计算机程序产品。 可以通过用
对替换指针来替换指针,并使用标签上的开关替换每个解引用站点,以及在指针指向的相应变量上执行仿真指针访问的交换机主体。 可以使用数据流优化来减少交换机的数量和/或减少在每个仿真指针访问站点需要考虑的情况的数量。 -
公开(公告)号:US20120131552A1
公开(公告)日:2012-05-24
申请号:US12949908
申请日:2010-11-19
申请人: Yosseff Levanoni , Paul F. Ringseth , Weirong Zhu , Lingli Zhang
发明人: Yosseff Levanoni , Paul F. Ringseth , Weirong Zhu , Lingli Zhang
摘要: A high level programming language provides a read-only communication operator that prevents a computational space from being written. An indexable type with a rank and element type defines the computational space. For an input indexable type, the read-only communication operator produces an output indexable type with the same rank and element type as the input indexable type but ensures that the output indexable type may not be written. The read-only communication operator ensures that any attempt to write to the output indexable type will be detected as an error at compile time.
摘要翻译: 高级编程语言提供了一种只读通信操作符,防止写入计算空间。 具有等级和元素类型的可索引类型定义了计算空间。 对于输入可索引类型,只读通信运算符产生具有与输入可索引类型相同的排名和元素类型的输出可索引类型,但确保可能不写入输出可索引类型。 只读通信运算符确保在编译时检测到对输出可索引类型的任何尝试都将作为错误检测。
-
公开(公告)号:US20100211931A1
公开(公告)日:2010-08-19
申请号:US12370742
申请日:2009-02-13
申请人: Yosseff Levanoni , David L. Detlefs , Weirong Zhu , Timothy L. Harris , Michael M. Magruder , Mathew B. Tolton
发明人: Yosseff Levanoni , David L. Detlefs , Weirong Zhu , Timothy L. Harris , Michael M. Magruder , Mathew B. Tolton
IPC分类号: G06F9/44
CPC分类号: G06F9/466 , G06F11/141
摘要: A software transactional memory system is provided with overflow handling. The system includes a global version counter with an epoch number and a version number. The system accesses the global version counter prior to and subsequent to memory accesses of transactions to validate read accesses of the transaction. The system includes mechanisms to detect global version number overflow and may allow some or all transactions to execute to completion subsequent to the global version number overflowing. The system also provides publication, privatization, and granular safety properties.
摘要翻译: 软件事务内存系统提供溢出处理。 该系统包括具有时代号和版本号的全局版本计数器。 系统在事务的内存访问之前和之后访问全局版本计数器,以验证事务的读取访问。 该系统包括检测全局版本号溢出的机制,并且可允许一些或所有事务在全球版本号码溢出之后执行完成。 该系统还提供出版物,私有化和粒状安全属性。
-
公开(公告)号:US20100191930A1
公开(公告)日:2010-07-29
申请号:US12359492
申请日:2009-01-26
申请人: Dana Groff , Yosseff Levanoni , Stephen Toub , Michael McKenzie Magruder , Weirong Zhu , Timothy Lawrence Harris , Christopher William Dern , John Joseph Duffy , David Detlefs , Martin Abadi , Sukhdeep Singh Sodhi , Lingli Zhang , Alexander Dadiomov , Vinod Grover
发明人: Dana Groff , Yosseff Levanoni , Stephen Toub , Michael McKenzie Magruder , Weirong Zhu , Timothy Lawrence Harris , Christopher William Dern , John Joseph Duffy , David Detlefs , Martin Abadi , Sukhdeep Singh Sodhi , Lingli Zhang , Alexander Dadiomov , Vinod Grover
CPC分类号: G06F8/44
摘要: Transactional memory compatibility type attributes are associated with intermediate language code to specify, for example, that intermediate language code must be run within a transaction, or must not be run within a transaction, or may be run within a transaction. Attributes are automatically produced while generating intermediate language code from annotated source code. Default rules also generate attributes. Tools use attributes to statically or dynamically check for incompatibility between intermediate language code and a transactional memory implementation.
摘要翻译: 事务性内存兼容类型属性与中间语言代码相关联,以指定例如中间语言代码必须在事务中运行,或者不能在事务中运行,或者可以在事务中运行。 自动生成属性,同时从注释的源代码生成中间语言代码。 默认规则也生成属性。 工具使用属性来静态或动态地检查中间语言代码和事务内存实现之间的不兼容性。
-
公开(公告)号:US09411634B2
公开(公告)日:2016-08-09
申请号:US12819494
申请日:2010-06-21
摘要: A software transactional memory system implements a lightweight key-based action framework. The framework includes a set of unified application programming interfaces (APIs) exposed by an STM library that allow clients to implement actions that can be registered, queried, and updated using specific keys by transactions or transaction nests in STM code. Each action includes a key, state information, and a set of one or more callbacks that can be hooked to the validation, commit, abort, and/or re-execution phases of transaction execution. The actions extend the built-in concurrency controls of the STM system with customized control logics, support transaction nesting semantics, and enable integration with garbage collection systems.
摘要翻译: 软件事务内存系统实现了一个轻量级的基于键盘的动作框架。 该框架包括由STM库公开的一组统一的应用程序编程接口(API),允许客户端通过STM代码中的事务处理或事务处理实现使用特定密钥进行注册,查询和更新的操作。 每个动作包括一个密钥,状态信息和一组可以挂接到事务执行的验证,提交,中止和/或重新执行阶段的回调。 该操作通过定制的控制逻辑扩展了STM系统的内置并发控制,支持事务嵌套语义,并实现了与垃圾收集系统的集成。
-
公开(公告)号:US20120124564A1
公开(公告)日:2012-05-17
申请号:US12947989
申请日:2010-11-17
申请人: Paul F. Ringseth , Yosseff Levanoni , Weirong Zhu
发明人: Paul F. Ringseth , Yosseff Levanoni , Weirong Zhu
CPC分类号: G06F8/45
摘要: A high level programming language provides a map transformation that takes a data parallel algorithm and a set of one or more input indexable types as arguments. The map transformation applies the data parallel algorithm to the set of input indexable types to generate an output indexable type, and returns the output indexable type. The map transformation may be used to fuse one or more data parallel algorithms with another data parallel algorithm.
摘要翻译: 高级编程语言提供了将数据并行算法和一组一个或多个输入可索引类型作为参数的映射变换。 映射变换将数据并行算法应用于输入可索引类型的集合,以生成输出可索引类型,并返回输出可索引类型。 地图变换可以用于将一个或多个数据并行算法与另一数据并行算法融合。
-
公开(公告)号:US20110314244A1
公开(公告)日:2011-12-22
申请号:US12819499
申请日:2010-06-21
申请人: Sukhdeep S. Sodhi , Yosseff Levanoni , David L. Detlefs , Lingli Zhang , Weirong Zhu , Dana Groff , Michael M. Magruder , Charles David Callahan, II
发明人: Sukhdeep S. Sodhi , Yosseff Levanoni , David L. Detlefs , Lingli Zhang , Weirong Zhu , Dana Groff , Michael M. Magruder , Charles David Callahan, II
摘要: A software transactional memory (STM) system allows the composition of traditional lock based synchronization with transactions in STM code. The STM system acquires each traditional lock the first time that a corresponding traditional lock acquire is encountered inside a transaction and defers all traditional lock releases until a top level transaction in a transaction nest commits or aborts. The STM system maintains state information associated with traditional lock operations in transactions and uses the state information to eliminate deferred traditional lock operations that are redundant. The STM system integrates with systems that implement garbage collection.
摘要翻译: 软件事务存储器(STM)系统允许以STM代码的事务组合传统的基于锁的同步。 STM系统首次在交易中遇到相应的传统锁获取时,获取每个传统锁,并延迟所有传统的锁定版本,直到事务嵌套中的顶级事务提交或中止。 STM系统维护与事务中的传统锁定操作相关联的状态信息,并使用状态信息来消除冗余的延迟传统锁定操作。 STM系统与实施垃圾收集的系统集成。
-
-
-
-
-
-
-
-
-