skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: System, methods and apparatus for program optimization for multi-threaded processor architectures

Patent ·
OSTI ID:1167014

Methods, apparatus and computer software product for source code optimization are provided. In an exemplary embodiment, a first custom computing apparatus is used to optimize the execution of source code on a second computing apparatus. In this embodiment, the first custom computing apparatus contains a memory, a storage medium and at least one processor with at least one multi-stage execution unit. The second computing apparatus contains at least two multi-stage execution units that allow for parallel execution of tasks. The first custom computing apparatus optimizes the code for parallelism, locality of operations and contiguity of memory accesses on the second computing apparatus. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.

Research Organization:
Reservoir Labs, Inc., New York, NY (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
FG02-08ER85149
Assignee:
Reservoir Labs, Inc. (New York, NY)
Patent Number(s):
8,930,926
Application Number:
12/762,281
OSTI ID:
1167014
Resource Relation:
Patent File Date: 2010 Apr 16
Country of Publication:
United States
Language:
English

References (130)

Cross-Product Refactoring Apparatus and Method patent-application June 2010
Synthesizing transformations for locality enhancement of imperfectly-nested loop nests conference January 2000
A Compiler Framework for Tiling Imperfectly-Nested Loops book January 2000
Normalised Givens rotations for recursive least squares processing conference January 1995
Flow-insensitive interprocedural alias analysis in the presence of pointers book June 2005
Counting Integer Points in Parametric Polytopes Using Barvinok's Rational Functions journal February 2007
Array-data flow analysis and its use in array privatization
  • Maydan, Dror E.; Amarasinghe, Saman P.; Lam, Monica S.
  • Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93 https://doi.org/10.1145/158511.158515
conference January 1993
A fast algorithm for finding dominators in a flowgraph journal January 1979
Method and system for reordering the instructions of a computer program to optimize its execution patent December 1999
Data transformations for streaming applications on multiprocessors patent-application March 2007
Maximizing parallelism and minimizing synchronization with affine transforms conference January 1997
Polyhedral Code Generation in the Real World book January 2006
Enabling Loop Fusion and Tiling for Cache Performance by Fixing Fusion-Preventing Data Dependences conference January 2005
Adaptively weighted, partitioned context edit distance string matching patent-application February 2002
Optimal weighted loop fusion for parallel programs conference January 1997
Register tiling in nonrectangular iteration spaces journal July 2002
Semi-Automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies journal June 2006
The Z-polyhedral model conference January 2007
Speculative Code Motion for Memory Latency Hiding patent-application February 2009
Real-time document collection search engine with phrase indexing patent July 1999
Variance Analysis for Translating Cuda code for Execution by a General Purpose Processor patent-application October 2009
Conversion of control dependence to data dependence
  • Allen, J. R.; Kennedy, Ken; Porterfield, Carrie
  • Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '83 https://doi.org/10.1145/567067.567085
conference January 1983
System and method for performing regular expression matching with high parallelism patent May 2007
Network surveillance using long-term and short-term statistical profiles to determine suspicious network activity patent September 2009
Efficient string matching: an aid to bibliographic search journal June 1975
Software pipelining: an effective scheduling technique for VLIW machines journal July 1988
Loop optimization with mapping code on an architecture patent August 2004
Manufacturing cheap, resilient, and stealthy opaque constructs
  • Collberg, Christian; Thomborson, Clark; Low, Douglas
  • Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98 https://doi.org/10.1145/268946.268962
conference January 1998
System and method for identifying matches of query patterns to document text in a document textbase patent October 2000
Pipelined Processor and Compiler/Scheduler for Variable Number Branch Delay Slots patent-application February 2010
Methods And Systems To Detect An Evasion Attack patent-application August 2007
Scanning polyhedra with DO loops journal July 1991
Method and apparatus for improving performance of a program using a loop interchange, loop distribution, loop interchange sequence patent March 2000
Static branch frequency and program profile analysis conference January 1994
The program dependence graph and its use in optimization journal July 1987
Automatic mapping of nested loops to FPGAS conference January 2007
Lattice-based memory allocation
  • Darte, Alain; Schreiber, Rob; Villard, Gilles
  • Proceedings of the international conference on Compilers, architectures and synthesis for embedded systems - CASES '03 https://doi.org/10.1145/951710.951749
conference January 2003
Some efficient solutions to the affine scheduling problem. I. One-dimensional time journal October 1992
Lattice-Based Memory Allocation journal October 2005
Parallel Sparse Supports for Array Intrinsic Functions of Fortran 90 journal March 2001
Tiling Imperfectly-nested Loop Nests conference January 2000
System and method for optimizing operations via dataflow analysis patent February 2007
System and Method for Domain Stretching for an Advanced Dual-Representation Polyhedral Loop Transformation Framework patent-application December 2009
An experimental evaluation of tiling and shackling for memory hierarchy management conference January 1999
A Library for Doing Polyhedral Operations journal December 2000
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints conference January 1977
Towards automatic generation of vulnerability-based signatures conference January 2006
Distributed Microarchitectural Protocols in the TRIPS Prototype Processor
  • Sankaralingam, Karthikeyan; Nagarajan, Ramadass; McDonald, Robert
  • 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06) https://doi.org/10.1109/MICRO.2006.19
conference December 2006
Full regular expression search of network traffic patent October 2005
Iterative modulo scheduling: an algorithm for software pipelining loops conference January 1994
On the Best Rank-1 and Rank-( R 1 , R 2 ,. . ., R N ) Approximation of Higher-Order Tensors journal January 2000
Method and system for memory management optimization patent-application February 2004
Whole program path profiling patent December 2001
Event Detection Method patent-application January 2008
Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL( journal November 2006
Intrusion detection signature analysis using regular expressions and logical operators patent September 2004
Revisiting the decomposition of Karp, Miller and Winograd conference January 1995
Bi-Directional Communication in a Parallel Processing Environment patent-application May 2009
Efficient data compression methods for multidimensional sparse array operations based on the ekmr scheme journal December 2003
Early Control of Register Pressure for Software Pipelined Loops book January 2003
Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time journal December 1992
Supernode partitioning conference January 1988
Effective partial redundancy elimination conference January 1994
Background memory allocation for multi-dimensional signal processing patent April 1998
Search apparatus and method using order pattern including repeating pattern patent June 2005
System and method for creating systolic solvers patent August 2006
Information management and retrieval patent January 2002
Generation of Efficient Nested Loops from Polyhedra journal October 2000
Compiler Apparatus and Method for Optimizing Loops in a Computer Program patent-application May 2003
Dataflow analysis of array and scalar references journal February 1991
Non-literal textual search using fuzzy finite-state linear non-deterministic automata patent January 2000
The mapping of linear recurrence equations on regular arrays
  • Quinton, Patrice; van Dongen, Vincent
  • Journal of VLSI signal processing systems for signal, image and video technology, Vol. 1, Issue 2, p. 95-113 https://doi.org/10.1007/BF02477176
journal October 1989
A Geometric Programming Framework for Optimal Multi-Level Tiling conference January 2004
Value dependence graphs: representation without taxation
  • Weise, Daniel; Crew, Roger F.; Ernst, Michael
  • Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '94 https://doi.org/10.1145/174675.177907
conference January 1994
Scalable Tensor Decompositions for Multi-aspect Data Mining conference December 2008
Parallel programming computing system to dynamically allocate program portions patent January 2012
Operator strength reduction journal September 2001
Loop allocation for optimizing compilers patent November 2003
Parallel processing of distributed arrays and optimum data distribution patent August 2012
A practical automatic polyhedral parallelizer and locality optimizer journal May 2008
Code generation for multiple mappings conference January 1994
Iterated register coalescing journal May 1996
Constant propagation with conditional branches journal April 1991
Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system patent April 2005
Solution and Optimization of Systems of Pseudo-Boolean Constraints journal October 2007
Blocking and array contraction across arbitrarily nested loops using affine partitioning journal July 2001
Efficient representation scheme for multidimensional array operations journal March 2002
Minimum-cost network hardening patent-application April 2006
Global code motion/global value numbering journal June 1995
Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging patent August 1995
Undecidability of static analysis journal December 1992
Memory manager for heterogeneous memory control patent-application February 2007
Selective code generation optimization for an advanced dual-representation polyhedral loop transformation framework patent December 2011
Adaptive transaction manager for complex transactions and business process patent-application April 2004
An Efficient Inclusion-Based Points-To Analysis for Strictly-Typed Languages book January 2002
Adaptive array beamforming with fixed-point arithmetic matrix inversion using Givens rotations conference November 2001
Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector patent August 2004
Modification of swing modulo scheduling to reduce register usage patent-application March 2006
On the (Im)possibility of Obfuscating Programs book January 2001
Symbolic array dataflow analysis for array privatization and program parallelization conference January 1995
Simultaneously searching for a plurality of patterns definable by complex expressions, and efficiently generating data for such searching patent August 2007
Collecting and analyzing graphical data flow web application results from multiple users patent November 2012
Partial dead code elimination journal June 1994
Configurable string matching hardware for speeding up intrusion detection journal March 2005
Memory optimization by counting points in integer transformations of parametric polytopes
  • Seghir, Rachid; Loechner, Vincent
  • Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems - CASES '06 https://doi.org/10.1145/1176760.1176771
conference January 2006
System and method for regular expression matching using index patent June 2004
Generating efficient parallel code using partitioning, coalescing, and degenerative loop and guard removal patent July 2010
Scanning polyhedra without Do-loops conference January 1998
A data locality optimizing algorithm journal June 1991
Locality manager having memory and independent code, bus interface logic, and synchronization components for a processing element for intercommunication in a latency tolerant multiple processor patent March 1997
Cache miss equations: a compiler framework for analyzing and tuning memory behavior journal July 1999
Scaling to the end of silicon with EDGE architectures journal July 2004
Automatic memory layout transformations to optimize spatial locality in parameterized loop nests journal March 2000
Deobfuscation: Reverse Engineering Obfuscated Code conference January 2005
Dynamic signature inspection-based network intrusion detection patent August 2001
Execution of hardware description language (HDL) programs patent July 2012
Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality patent December 2009
Integrated circuit apparatus and method for high throughput signature based network applications patent-application May 2005
Verifying safety properties of a class of infinite-state distributed algorithms book January 1995
An accurate cost model for guiding data locality transformations journal September 2005
A simple graph-based intermediate representation journal March 1995
Method of, system for, and computer program product for minimizing loop execution time by optimizing block/tile sizes patent September 1999
Searching for patterns in encrypted data patent August 1995
System and Method for Advanced Polyhedral Loop Transformations of Source Code in a Compiler patent-application March 2009
Ultra-fast aliasing analysis using CLA: a million lines of C code in a second journal May 2001
Media for performing parallel processing of distributed arrays patent August 2012
Impact of memory hierarchy on program partitioning and scheduling
  • Kaplow, W. K.; Maniatty, W. A.; Szymanski, B. K.
  • Twenty-Eighth Annual Hawaii International Conference on System Sciences, Proceedings of the Twenty-Eighth Hawaii International Conference on System Sciences https://doi.org/10.1109/HICSS.1995.375473
conference January 1995
Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition journal September 1978
Method and system for memory management optimization patent October 2005
Method and apparatus for a generic language interface to apply loop optimization transformations patent-application March 2006

Cited By (1)