Adaptive parallelization for multi-scale simulation

US11249813B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11249813-B2
Application numberUS-201916693177-A
CountryUS
Kind codeB2
Filing dateNov 22, 2019
Priority dateSep 26, 2013
Publication dateFeb 15, 2022
Grant dateFeb 15, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

  • G06F9/5066Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11249813B2 cover?
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…
Who is the assignee on this patent?
Synopsys Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5066. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 15 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).