Compilation of unified parallel C-language programs
    12.
    发明申请
    Compilation of unified parallel C-language programs 有权
    统一并行C语言程序的汇编

    公开(公告)号:US20050028141A1

    公开(公告)日:2005-02-03

    申请号:US10630023

    申请日:2003-07-30

    CPC classification number: G06F8/45 G06F8/51

    Abstract: Methods, compiler apparatus and a computer program product for compiling UPC source code are disclosed. UPC-unique constructs are converted into C-level form. The C-level constructs are inserted into the source code to form a combined code. The combined code is translated into an intermediate form, wherein any surviving UPC-unique components are discarded. All UPC-unique data or statements are converted to a form that can be handled by general compiler architectures, yet retain UPC properties. The resultant intermediate form is converted to compiled machine code. The generation of C-level constructs occurs at a compiler front end module, avoiding difficulties in intermediate code handling.

    Abstract translation: 公开了用于编译UPC源代码的方法,编译装置和计算机程序产品。 UPC唯一的构造转换为C级形式。 将C级结构插入到源代码中以形成组合代码。 组合的代码被转换成中间形式,其中任何幸存的UPC唯一组件被丢弃。 所有UPC唯一的数据或语句都将转换为可由一般编译器架构处理的表单,但保留UPC属性。 所得到的中间格式转换为编译的机器代码。 C级结构的生成发生在编译器前端模块,避免了中间代码处理的困难。

    Concurrent static single assignment for general barrier synchronized parallel programs
    13.
    发明授权
    Concurrent static single assignment for general barrier synchronized parallel programs 有权
    一般屏障同步并行程序的并行静态单次分配

    公开(公告)号:US08566801B2

    公开(公告)日:2013-10-22

    申请号:US12470577

    申请日:2009-05-22

    CPC classification number: G06F8/45

    Abstract: Techniques for generating concurrent static single assignment (CSSA) are provided. The techniques include generating a clocked control flow graph of a program, for each thread of the program created through async instruction, determining each part of the program that can execute concurrently with each thread to create a pair comprising a thread and a parallel program part, for each pair that can execute concurrently, using one or more flow equations to perform node-by-node matching, and using the node-by-node matching to generate CSSA form for the program.

    Abstract translation: 提供并发静态单一分配(CSSA)的技术。 这些技术包括为通过异步指令创建的程序的每个线程生成程序的时钟控制流程图,确定可以与每个线程同时执行的程序的每个部分以创建包括线程和并行程序部分的对, 对于可以并发执行的每一对,使用一个或多个流程方程来执行逐节点匹配,并使用逐节点匹配来生成程序的CSSA表单。

    AUTOMATIC PIPELINE PARALLELIZATION OF SEQUENTIAL CODE
    14.
    发明申请
    AUTOMATIC PIPELINE PARALLELIZATION OF SEQUENTIAL CODE 有权
    自动管道顺序代码的并行化

    公开(公告)号:US20130232476A1

    公开(公告)日:2013-09-05

    申请号:US13409536

    申请日:2012-03-01

    CPC classification number: G06F8/443 G06F8/45 G06F8/452

    Abstract: A system and associated method for automatically pipeline parallelizing a nested loop in sequential code over a predefined number of threads. Pursuant to task dependencies of the nested loop, each subloop of the nested loop are allocated to a respective thread. Combinations of stage partitions executing the nested loop are configured for parallel execution of a subloop where permitted. For each combination of stage partitions, a respective bottleneck is calculated and a combination with a minimum bottleneck is selected for parallelization.

    Abstract translation: 一种系统和相关联的方法,用于在预定义数量的线程上自动流水线化序列码中的嵌套循环。 根据嵌套循环的任务依赖关系,将嵌套循环的每个子循环分配给相应的线程。 执行嵌套循环的分段分组的组合被配置为在允许的情况下并行执行子循环。 对于级分段的每个组合,计算相应的瓶颈,并且选择具有最小瓶颈的组合用于并行化。

    Systems and methods for backward-compatible constant-time exception-protection memory
    15.
    发明授权
    Systems and methods for backward-compatible constant-time exception-protection memory 有权
    用于向后兼容的常时异常保护存储器的系统和方法

    公开(公告)号:US08156385B2

    公开(公告)日:2012-04-10

    申请号:US12607625

    申请日:2009-10-28

    CPC classification number: G06F11/366

    Abstract: Embodiments of the invention provide a table-free technique for detecting all temporal and spatial memory access errors in programs supporting general pointers. Embodiments of the invention provide such error checking using constant-time operations. Embodiments of the invention rely on fat pointers, whose size is contained within standard scalar sizes (up to two words) so that atomic hardware support for operations upon the pointers is obtained along with meaningful casts in-between pointers and other scalars. Optimized compilation of code becomes possible since the scalarized-for-free encoded pointers get register allocated and manipulated. Backward compatibility is enabled by the scalar pointer sizes, with automatic support provided for encoding and decoding of fat pointers in place for interaction with unprotected code.

    Abstract translation: 本发明的实施例提供了一种用于检测支持通用指针的程序中的所有时间和空间存储器访问错误的无桌面技术。 本发明的实施例提供使用恒定时间操作的这种错误检查。 本发明的实施例依赖于胖指针,其大小包含在标准标量大小(最多两个字)内,从而获得指针上的操作的原子硬件支持以及指针和其他标量之间的有意义的投射。 代码的优化编译成为可能,因为无标量化编码指针获得寄存器分配和操作。 向后兼容性由标量指针大小启用,自动支持为脂肪指针的编码和解码提供了与无保护代码交互的位置。

    Systems and methods for determining software package identity during a system build
    16.
    发明授权
    Systems and methods for determining software package identity during a system build 失效
    在系统构建期间确定软件包标识的系统和方法

    公开(公告)号:US07472377B2

    公开(公告)日:2008-12-30

    申请号:US11037686

    申请日:2005-01-18

    CPC classification number: G06F9/44 G06F8/71

    Abstract: The provision of methods and apparatus to determine package identity for an application build. The idea is based on providing a mapping of package with affiliated attributes such as paths used for include or linking, along with reverse mappings. This mapping could be provided through any number of conventional environments such as program development environments or operating system registries: Tools would access this information through a programmatic interface, and use that information to identify packages affiliated with some information. For example, a symbol in a program would be defined in some file. That file would be in a path, which maps to the package identity. Thus, the symbol definition can be conceptually affiliated with a package.

    Abstract translation: 提供用于确定应用程序构建的程序包身份的方法和设备。 这个想法是基于提供具有附属属性的包的映射,例如用于包含或链接的路径以及反向映射。 可以通过任何数量的常规环境(如程序开发环境或操作系统注册表)来提供此映射:工具将通过编程接口访问此信息,并使用该信息来识别与某些信息相关的软件包。 例如,程序中的符号将在某些文件中定义。 该文件将在路径中,映射到包标识。 因此,符号定义可以在概念上附属于一个包。

    Software migration
    17.
    发明申请
    Software migration 审中-公开
    软件迁移

    公开(公告)号:US20070011669A1

    公开(公告)日:2007-01-11

    申请号:US11175741

    申请日:2005-07-06

    CPC classification number: G06F8/51

    Abstract: A procedure for migrating large code-bases is described. An initial migration plan is generated for a given porting project between a source platform and a target platform, which have respective dialect settings. The migration plan specifies a set of migration stages between the source dialect settings and the target dialect settings via intermediate dialects settings. The relative order between migration stages is specified where necessary to account for dependencies between the intermediate dialects. Migration stages of the migration plan are executed in a sequence consistent with the partial ordering specified by the migration plan. Each migration stage is executed as a transition between preceding dialect settings and succeeding dialect settings, from the source platform to the target platform. Migration issues between the two dialect settings are identified, and the software code is modified accordingly to operate under the succeeding dialect settings rather than the preceding dialect settings. The modified software code is built according to the succeeding dialect settings. Migration stages are executed in turn, from the dialect settings of the source platform to the dialect settings of the target platform, at which stage migration is complete.

    Abstract translation: 描述了迁移大代码库的过程。 为源平台和目标平台之间的给定移植项目生成初始迁移计划,该平台具有相应的方言设置。 迁移计划通过中间方言设置指定源方言设置和目标方言设置之间的一组迁移阶段。 在必要时指定迁移阶段之间的相对顺序来解释中间方言之间的依赖关系。 迁移计划的迁移阶段按照与迁移计划指定的部分顺序一致的顺序执行。 每个迁移阶段都是作为从源平台到目标平台之间的方向设置和后续方言设置之间的转换来执行的。 识别两个方言设置之间的迁移问题,并相应地修改软件代码,以便在后续方言设置下操作,而不是以前的方言设置。 修改的软件代码是根据后续方言设置构建的。 从源平台的方言设置到目标平台的方言设置依次执行迁移阶段,在哪个阶段迁移完成。

    Systems and methods for managing error dependencies
    18.
    发明申请
    Systems and methods for managing error dependencies 有权
    用于管理错误依赖关系的系统和方法

    公开(公告)号:US20060161903A1

    公开(公告)日:2006-07-20

    申请号:US11037694

    申请日:2005-01-18

    Abstract: Methods and arrangements for managing error messages from a set of programming tools within a program development environment, such as compilers, linkers, library builders, etc. The error messages are arranged as a directed acyclic graph, with the nodes as error messages, and edges as dependency relationships. In accordance with at least one presently preferred embodiment of the present invention, there are broadly contemplated the following: allowing one or more programming tool to report errors to an error manager component; deducing dependencies amongst error messages, based on error dependency definition provided to the error manager; and delivering messages and dependencies to client components. Although framed within the context of program development tools, this solution could be applied to many other tools outside this domain, under suitable and specified requirements.

    Abstract translation: 用于在程序开发环境中的一组编程工具(例如编译器,链接器,库构建器等)管理错误消息的方法和布置。错误消息被排列为有向非循环图,其中节点作为错误消息和边缘 作为依赖关系。 根据本发明的至少一个目前优选的实施例,广泛考虑以下内容:允许一个或多个编程工具向错误管理器组件报告错误; 基于提供给错误管理器的错误依赖性定义,推导错误消息之间的依赖关系; 并向客户端组件传递消息和依赖关系。 虽然在程序开发工具的上下文中,该解决方案可以适用于该领域以外的许多其他工具,但在适当的和特定的要求下。

    Systems and methods for determining software package identity during a system build
    19.
    发明申请
    Systems and methods for determining software package identity during a system build 失效
    在系统构建期间确定软件包标识的系统和方法

    公开(公告)号:US20060161892A1

    公开(公告)日:2006-07-20

    申请号:US11037686

    申请日:2005-01-18

    CPC classification number: G06F9/44 G06F8/71

    Abstract: The provision of methods and apparatus to determine package identity for an application build. The idea is based on providing a mapping of package with affiliated attributes such as paths used for include or linking, along with reverse mappings. This mapping could be provided through any number of conventional environments such as program development environments or operating system registries: Tools would access this information through a programmatic interface, and use that information to identify packages affiliated with some information. For example, a symbol in a program would be defined in some file. That file would be in a path, which maps to the package identity. Thus, the symbol definition can be conceptually affiliated with a package.

    Abstract translation: 提供用于确定应用程序构建的程序包身份的方法和设备。 这个想法是基于提供具有附属属性的包的映射,例如用于包含或链接的路径以及反向映射。 可以通过任何数量的常规环境(如程序开发环境或操作系统注册表)来提供此映射:工具将通过编程接口访问此信息,并使用该信息来识别与某些信息相关的软件包。 例如,程序中的符号将在某些文件中定义。 该文件将在路径中,映射到包标识。 因此,符号定义可以在概念上附属于一个包。

    Race removal or reduction in latches and loops using phase skew
    20.
    发明授权
    Race removal or reduction in latches and loops using phase skew 有权
    使用相位偏移消除或减少锁存器和回路

    公开(公告)号:US06310500B1

    公开(公告)日:2001-10-30

    申请号:US09602206

    申请日:2000-06-23

    Applicant: Pradeep Varma

    Inventor: Pradeep Varma

    CPC classification number: G11C7/1087 G11C7/1078 H03K3/0375

    Abstract: A method for resolving race conflicts in a loop circuit having a forward path and a feedback path includes enabling and disabling the feedback path in accordance with a phase waveform. The phase waveform may be a system clock, in which case one of two approaches may be used to ensure that data from the feedback loop arrives later in time than data from an input signal line. During the first approach, only the rising edge of a clock signal used to control data flow in the feedback loop is delayed relative to the rising edge of a clock signal that controls data flow in the forward path. During the second approach, both the rising and falling edges of the clock signal are delayed. Through these approaches, the method of the present invention achieves improved performance in terms of power consumption, frequency response, area, and switching capacitance.

    Abstract translation: 一种用于解决具有正向路径和反馈路径的环路电路中的竞争冲突的方法包括根据相位波形启用和禁用反馈路径。 相位波形可以是系统时钟,在这种情况下,可以使用两种方法之一来确保来自反馈回路的数据在时间上比来自输入信号线的数据晚。 在第一种方法中,仅用于控制反馈环路中的数据流的时钟信号的上升沿相对于控制正向通路中的数据流的时钟信号的上升沿被延迟。 在第二种方法中,时钟信号的上升沿和下降沿都被延迟。 通过这些方法,本发明的方法在功耗,频率响应,面积和开关电容方面实现了改进的性能。

Patent Agency Ranking