Method and system for implementing parallel execution in a computing system and in a circuit simulator
First Claim
1. A computer program product comprising a memory having an iterative looping construct that, when executed by at least one computer, causes the at least one computer to performs a process of implementing the iterative looping construct, the process comprises:
- using the at least one computer that comprises at least one processor to perform a process, the process comprising;
beginning loop processing;
creating an independent processing environment of multiple independent processing environments for each of multiple iterates in the iterative looping construct;
implementing the iterative looping construct by performing independent parallel iterations of activities for the loop processing within each of the multiple independent processing environments for each of the multiple iterates to simulate or emulate one or more activities of an electronic circuit over a range of parameter values that is provided to a measurement for the electronic circuit during at least some of the independent parallel iterations in the loop processing, without using serial looping constructs, whereinthe measurement is associated with a dataset that is stored independently to maintain independence of measurements,the activities comprise one or more tasks identified in the loop processing, andeither an access to an index variable for the loop processing is removed, or the loop processing is performed without defining the index variable so the loop processing is performed without reference to the index variable during the loop processing;
resizing an N-dimensional array according to a total number of the multiple iterates in the iterative looping construct; and
knitting the dataset generated within the iterative looping construct, into a hierarchical collection of datasets to retain a hierarchical characteristic of a sub-measurement in a measurement.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and mechanism for implementing a general purpose scripting language that supports parallel execution is described. In one approach, parallel execution is provided in a seamless and high-level approach rather than requiring or expecting a user to have low-level programming expertise with parallel processing languages/functions. Also described is a system and method for performing circuit simulation. The present approach provides methods and systems that create reusable and independent measurements for use with circuit simulators. Also disclosed are parallelizable measurements having looping constructs that can be run without interference between parallel iterations. Reusability is enhanced by having parameterized measurements. Revisions and history of the operating parameters of circuit designs subject to simulation are tracked.
-
Citations
46 Claims
-
1. A computer program product comprising a memory having an iterative looping construct that, when executed by at least one computer, causes the at least one computer to performs a process of implementing the iterative looping construct, the process comprises:
-
using the at least one computer that comprises at least one processor to perform a process, the process comprising; beginning loop processing; creating an independent processing environment of multiple independent processing environments for each of multiple iterates in the iterative looping construct; implementing the iterative looping construct by performing independent parallel iterations of activities for the loop processing within each of the multiple independent processing environments for each of the multiple iterates to simulate or emulate one or more activities of an electronic circuit over a range of parameter values that is provided to a measurement for the electronic circuit during at least some of the independent parallel iterations in the loop processing, without using serial looping constructs, wherein the measurement is associated with a dataset that is stored independently to maintain independence of measurements, the activities comprise one or more tasks identified in the loop processing, and either an access to an index variable for the loop processing is removed, or the loop processing is performed without defining the index variable so the loop processing is performed without reference to the index variable during the loop processing; resizing an N-dimensional array according to a total number of the multiple iterates in the iterative looping construct; and knitting the dataset generated within the iterative looping construct, into a hierarchical collection of datasets to retain a hierarchical characteristic of a sub-measurement in a measurement. - 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, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer implemented method for implementing an iterative looping construct, the computer implemented method comprising:
-
using the at least one computer that comprises at least one processor to perform a process, the process comprising; beginning loop processing; creating an independent processing environment of multiple processing environments for each of multiple iterates in the iterative looping construct; implementing the iterative looping construct by performing independent parallel iterations of activities for the loop processing within each of the multiple independent processing environments for each of the multiple iterates to simulate or emulate one or more activities of an electronic circuit over a range of parameter values that is provided to a measurement for the electronic circuit during at least some of the independent parallel iterations in the loop processing without using serial looping constructs, wherein the measurement is associated with a dataset that is stored independently to maintain independence of measurements, the activities comprise one or more tasks identified in the loop processing, and either an access to an index variable for the loop processing is removed, or the loop processing is performed without defining the index variable so the loop processing is performed without reference to the index variable during the loop processing; resizing an N-dimensional array according to a total number of the multiple iterates in the iterative looping construct; and knitting the dataset generated within the iterative looping construct, into a hierarchical collection of datasets to retain a hierarchical characteristic of a sub-measurement in a measurement. - View Dependent Claims (43, 44)
-
-
42. A system for executing a list of tasks in parallel, the method comprising:
-
one or more processors that is to; begin loop processing; create an independent processing environment of multiple independent processing environments for each of multiple iterates in the iterative looping construct; implement the iterative looping construct by performing independent parallel iterations of activities for the loop processing within each of the multiple independent processing environments for each of the multiple iterates to simulate or emulate one or more activities of an electronic circuit over a range of parameter values that is provided to a measurement for the electronic circuit during at least some of the independent parallel iterations in the loop processing by using the iterative looping construct without using serial looping constructs, in which the measurement is associated with a dataset that is stored independently to maintain independence of measurements, the activities comprise one or more tasks identified in the loop processing, and either an access to an index variable for the loop processing is removed, or the loop processing is performed without defining the index variable so the loop processing is performed without reference to the index variable during the loop processing, resize an N-dimensional array according to a total number of the multiple iterates in the iterative looping construct; and knit the dataset generated within the iterative looping construct, into a hierarchical collection of datasets to retain a hierarchical characteristic of a sub-measurement in a measurement. - View Dependent Claims (45, 46)
-
Specification