First Principles Design Automation Tool
US-2019362042-A1 · Nov 28, 2019 · US
US11249813B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11249813-B2 |
| Application number | US-201916693177-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 22, 2019 |
| Priority date | Sep 26, 2013 |
| Publication date | Feb 15, 2022 |
| Grant date | Feb 15, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Roughly described, a task control system for managing multi-scale simulations receives a case/task list which identifies cases to be evaluated, at least one task for each of the cases, and dependencies among the tasks. A module allocates available processor cores to at least some of the tasks, constrained by the dependencies, and initiates execution of the tasks on allocated cores. A module, in response to completion of a particular one of the tasks, determines whether or not the result of the task warrants stopping or pruning tasks, and if so, then terminates or prunes one or more of the uncompleted tasks in the case/task list. A module also re-allocates available processor cores to pending not-yet-executing tasks in accordance with time required to complete the tasks and constrained by the dependencies, and initiates execution of the tasks on allocated cores.
Opening claim text (preview).
The invention claimed is: 1. A task control system for managing multi-scale simulations of cases for use in semiconductor technology, comprising: a memory storing instructions; and a processor, coupled with the memory and configured to execute the instructions, the instructions when executed causing the processor to: receive a list for a multi-scale simulation of the cases in which one task at one simulation scale produces an output to be applied as an input to another task at a different simulation scale, the list identifying (i) a plurality of cases to be evaluated, (ii) at least one task for each of the identified cases, and (iii) dependencies among the identified tasks, wherein each of the identified cases (i) defines a material and a state of the material and (ii) differs from all of the other identified cases in at least one or more of the material and the material state, the material is for use in semiconductor technology, and the list further identifies, for a corresponding subject one of the cases, at least two tasks of different approaches of the multi-scale simulation including a first approach being an ab initio approach and a second approach being a non-ab initio approach, and wherein the list identifies at least one case instance in which a task of the second approach follows a task of the first approach; allocate available processor cores to at least some of the tasks, constrained by the dependencies, and initiate execution of the at least some of the tasks on the allocated processor cores; in response to completion of a particular one of the tasks of a particular one of the cases, in which the completion of the particular task generates a result, make a determination as to whether or not the result indicates that the particular case is not likely to have predetermined characteristics, and if the determination is that the result indicates that the particular case is not likely to have the predetermined characteristics, then perform at least one or more of terminating and pruning one or more of uncompleted tasks identified in the list for the particular case; and further, in response to the completion of the particular task, (i) re-allocate one or more available processor cores to at least one pending not-yet-executing tasks identified in the list in accordance with time required to complete the at least one of the pending not-yet-executing tasks and constrained by the dependencies, and (ii) initiate execution of the at least one of the pending not-yet-executing tasks on one or more allocated processor cores. 2. The task control system of claim 1 , wherein the list further identifies, for the corresponding subject one of the cases, a third task of a third approach of the multi-scale simulation. 3. The task control system of claim 2 , wherein the third approach includes at least one of two-dimensional Schrödinger calculations, Empirical Pseudo-potential calculations, and Empirical Tight Binding calculations. 4. The task control system of claim 1 , wherein the non-ab initio approach includes drift-diffusion calculations. 5. The task control system of claim 1 , wherein the non-ab initio approach includes Non-Equilibrium Green's Function calculations. 6. The task control system of claim 1 , wherein the non-ab initio approach includes Boltzmann Transport Equation calculations. 7. The task control system of claim 1 , wherein results of the multi-scale simulation comprise one or more electrical characteristics of a modeled semiconductor device. 8. The task control system of claim 1 , wherein the allocating of the available processor cores operates at least in part based on turnaround time of a particular task of the multi-scale simulation. 9. A method for optimizing turnaround time for a multi-scale simulation of cases for use in semiconductor technology, the method comprising: receiving a list for a multi-scale simulation of the cases in which one task at one simulation scale produces an output to be applied as an input to another task at a different simulation scale, the list identifying (i) a plurality of cases to be evaluated, (ii) at least one task for each of the identified cases, and (iii) dependencies among the identified tasks, wherein each of the identified cases (i) defines a material and a state of the material and (ii) differs from all of the other identified cases in at least one or more of the material and the material state, the material is for use in semiconductor technology, and the list further identifies, for a corresponding subject one of the cases, at least two tasks of different approaches of the multi-scale simulation including a first approach being an ab initio approach and a second approach being a non-ab initio approach, and wherein the list identifies at least one case instance in which a task of the second approach follows a task of the first approach; allocating available processor cores to at least some of the tasks, constrained by the dependencies, and initiating execution of the at least some of the tasks on the allocated processor cores; in response to completion of a particular one of the tasks of a particular one of the cases, in which the completion of the particular task generates a result, making a determination as to whether or not the result indicates that the particular case is not likely to have predetermined characteristics, and if the determination is that the result indicates that the particular case is not likely to have the predetermined characteristics, then performing at least one or more of terminating and pruning one or more of uncompleted tasks identified in the list for the particular case; and further, in response to the completion of the particular task, (i) re-allocating one or more available processor cores to at least one pending not-yet-executing tasks identified in the list in accordance with time required to complete the at least one of the pending not-yet-executing tasks and constrained by the dependencies, and (ii) initiating execution of the at least one of the pending not-yet-executing tasks on one or more allocated processor cores. 10. A non-transitory computer readable medium comprising stored instructions, which when executed by a processor, cause the processor to: allocate available processor cores to at least some tasks identified from a list for a multi-scale simulation of cases in which one task at one simulation scale produces an output to be applied as an input to another task at a different simulation scale, the list identifying (i) a plurality of cases to be evaluated, (ii) at least one task for each of the identified cases, and (iii) dependencies among the identified tasks, wherein each of the identified cases defining (i) defines a material and a state of the material and (ii) differs from all of the other identified cases in at least one or more of the material and the material state, the material is for use in semiconductor technology, and the list further identifies, for a corresponding subject one of the cases, at least two tasks of different approaches of the multi-scale simulation including a first approach being an ab initio approach and a second approach being a non-ab initio approach, and wherein the list identifies at least one case instance in which a task of the second approach follows a task of the first approach; initiate execution of the at least some of the tasks on allocated processor cores; in response to completion of a particular one of the tasks of a particular one of the cases, in which the completion of the particular task generates a result, make a determination as to whether or not the result indicates that the particular case is not likely to have predetermined characteristics, and if the determina
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title
Circuit design · CPC title
Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451) · CPC title
Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.