Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions
DC CAFCFirst Claim
1. A method for data processing in a reconfigurable computing system, the reconfigurable computing system comprising at least one reconfigurable processor, the reconfigurable processor comprising a plurality of functional units, said method comprising:
- transforming an algorithm into a data driven calculation that is implemented by said reconfigurable computing system at the at least one reconfigurable processor;
forming at least two of said functional units at the at least one reconfigurable processor to perform said calculation wherein only functional units needed to solve the calculation are formed and wherein each formed functional unit at the at least one reconfigurable processor interconnects with each other formed functional unit at the at least one reconfigurable processor based on reconfigurable routing resources within the at least one reconfigurable processor as established at formation, and wherein lines of code of said calculation are formed as clusters of functional units within the at least one reconfigurable processor;
utilizing a first of said formed functional units to operate upon a subsequent data dimension of said calculation forming a first computational loop; and
substantially concurrently utilizing a second of said formed functional units to operate upon a previous data dimension of said calculation generating a second computational loop wherein said implementation of said calculation enables said first computational loop and said second computational loop execute concurrently and pass computed data seamlessly between said computational loops.
8 Assignments
Litigations
3 Petitions
Accused Products
Abstract
Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions are disclosed which can be employed in a myriad of applications including multi-dimensional pipeline computations for seismic applications, search algorithms, information security, chemical and biological applications, filtering and the like as well as for systolic wavefront computations for fluid flow and structures analysis, bioinformatics etc. Some applications may also employ both the multi-dimensional pipeline and systolic wavefront methodologies disclosed.
-
Citations
52 Claims
-
1. A method for data processing in a reconfigurable computing system, the reconfigurable computing system comprising at least one reconfigurable processor, the reconfigurable processor comprising a plurality of functional units, said method comprising:
-
transforming an algorithm into a data driven calculation that is implemented by said reconfigurable computing system at the at least one reconfigurable processor; forming at least two of said functional units at the at least one reconfigurable processor to perform said calculation wherein only functional units needed to solve the calculation are formed and wherein each formed functional unit at the at least one reconfigurable processor interconnects with each other formed functional unit at the at least one reconfigurable processor based on reconfigurable routing resources within the at least one reconfigurable processor as established at formation, and wherein lines of code of said calculation are formed as clusters of functional units within the at least one reconfigurable processor; utilizing a first of said formed functional units to operate upon a subsequent data dimension of said calculation forming a first computational loop; and substantially concurrently utilizing a second of said formed functional units to operate upon a previous data dimension of said calculation generating a second computational loop wherein said implementation of said calculation enables said first computational loop and said second computational loop execute concurrently and pass computed data seamlessly between said computational loops. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for data processing in a reconfigurable computing system, the reconfigurable computing system comprising at least one reconfigurable processor comprising a plurality of functional units, said method comprising:
-
transforming an algorithm into a data driven calculation that is implemented by said reconfigurable computing system at the at least one reconfigurable processor wherein linked lines of code of said calculation are fashioned as walls of functional units within the at least one reconfigurable processor; defining a first wall comprising rows of cells forming a subset of said plurality of functional units; computing at the at least one reconfigurable processor a value at each of said cells in at least a first row of said first wall substantially concurrently; communicating said values between cells in said first row of said cells to produce updated values, wherein communicating said values is based on reconfigurable routing resources within the at least one reconfigurable processor; communicating said updated values substantially concurrently to a second row of said first wall, wherein communicating said updated values is based on reconfigurable routing resources within the at least one reconfigurable processor; and communicating said updated values substantially concurrently to a first row of a second wall of rows of cells in said subset of said plurality of functional units, wherein communicating said updated values is based on reconfigurable routing resources within the at least one reconfigurable processor and wherein said first wall of rows of cells and said second wall of rows of cells execute substantially concurrently and pass computed data seamlessly between said walls. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A method for data processing in a reconfigurable computing system, the reconfigurable computer system comprising at least one reconfigurable processor comprising a plurality of functional units, said method comprising:
-
transforming an algorithm into a calculation implemented by said reconfigurable computing system at the at least one reconfigurable processor and driven by data propagation wherein lines of code of said calculation are linked based on said data propagation and fashioned as subsets of said plurality of functional units within the at least one reconfigurable processor forming columns of said calculation; performing said calculation at the at least one reconfigurable processor by said subsets of said plurality of functional units to produce computed data; exchanging said computed data between a first column of said calculation and a next column in said calculation, wherein said exchanging is based on reconfigurable routing resources within the at least one reconfigurable processor and wherein execution of said subsets of said plurality of function units occurs concurrently and said computed data is seamlessly passed between said first column of said calculation and said second column of said calculation; evaluating a rate of change in at least one variable for each of said columns in said calculation; continuing said calculation when said variable does not change for a particular column of said calculation; and restarting said calculation at said column of said calculation where said variable does change. - View Dependent Claims (52)
-
Specification