Difference between revisions of "AI Surrogate Models LDRD"
m |
|||
Line 6: | Line 6: | ||
We propose to develop tools to automatically generate machine learning surrogate models from existing software so that they may utilize modern heterogeneous hardware. A hypothetical future high performance data facility would make extensive use of heterogeneous hardware such as GPUs and FPGAs, but many legacy codes will need to be heavily modified in order to take advantage of this hardware. Surrogate models replace a piece of code which is expensive to run with an approximate model; when the underlying model is a neural net, it runs efficiently on heterogeneous hardware. Thus, they are a promising technique for offloading computation to such hardware while minimizing the necessary changes to the original code. The tools developed during this project would make it substantially simpler to implement a surrogate model, enabling legacy code to access heterogeneous hardware, saving users' time and effort, and eliminating redundant work. Lowering these barriers should enable faster development iterations and make it easier to bring machine learning research code into production. This project includes a proof of principle of a new kind of code analysis tool which could be useful for an even broader variety of problems in high performance computing. Several of the milestones open up opportunities for future research into neural differential equations and automatic identification of functions to surrogate. | We propose to develop tools to automatically generate machine learning surrogate models from existing software so that they may utilize modern heterogeneous hardware. A hypothetical future high performance data facility would make extensive use of heterogeneous hardware such as GPUs and FPGAs, but many legacy codes will need to be heavily modified in order to take advantage of this hardware. Surrogate models replace a piece of code which is expensive to run with an approximate model; when the underlying model is a neural net, it runs efficiently on heterogeneous hardware. Thus, they are a promising technique for offloading computation to such hardware while minimizing the necessary changes to the original code. The tools developed during this project would make it substantially simpler to implement a surrogate model, enabling legacy code to access heterogeneous hardware, saving users' time and effort, and eliminating redundant work. Lowering these barriers should enable faster development iterations and make it easier to bring machine learning research code into production. This project includes a proof of principle of a new kind of code analysis tool which could be useful for an even broader variety of problems in high performance computing. Several of the milestones open up opportunities for future research into neural differential equations and automatic identification of functions to surrogate. | ||
+ | == Resources == | ||
− | + | * Source code lives here: https://github.com/nathanwbrei/surrogate_toolkit | |
+ | * [https://wiki.jlab.org/epsciwiki/index.php/SRGS_2022 SRGS 2022] | ||
− | |||
− | + | == Meetings == | |
− | + | TBA | |
− | |||
− | * | + | == Documents == |
+ | * [https://www.jlab.org/sites/default/files/ldrd/files/FY22%20funds/FY22%20proposals/LD2213_Brei_SurrogateModels_Proposal%20%20revised.docx LDRD proposal 2022] | ||
+ | * [https://jeffersonlab-my.sharepoint.com/:w:/r/personal/nbrei_jlab_org/_layouts/15/Doc.aspx?sourcedoc=%7BB2D68ABE-4812-4BEE-ADB5-90612F894349%7D&file=PHASM_FY23_proposal.docx&action=default&mobileredirect=true&DefaultItemOpen=1&login_hint=xmei%40jlab.org&ct=1658515937689&wdOrigin=OFFICECOM-WEB.START.OTHER&cid=db9f757f-7525-4a97-b03f-701905a4482a LDRD proposal 2022] | ||
− | |||
− | |||
Line 36: | Line 36: | ||
| SRGS 2022 | | SRGS 2022 | ||
| Nathan Brei, David Lawrence | | Nathan Brei, David Lawrence | ||
− | | [https://wiki.jlab.org/epsciwiki/images/e/ee/Phasm_Intro_Slides.pdf] | + | | [https://wiki.jlab.org/epsciwiki/images/e/ee/Phasm_Intro_Slides.pdf PDF] |
|} | |} | ||
Line 42: | Line 42: | ||
− | |||
− | * | + | == Actionables == |
+ | * [https://trello.com/b/iHKfTSKB/project-planning Trello project planning ] | ||
+ | |||
+ | * Surrogate toolkit: Implement array inputs and test on a 2D PDE such as diffusion. '''Nathan''' | ||
+ | |||
+ | * Vacuum tool: Automatically identify primitive inputs and outputs from the function signature. '''Nathan''' | ||
+ | |||
+ | * Tool for profiling the memory bounds on a GPU. '''David + Nathan''' | ||
+ | |||
+ | * Start thinking about a neural net model for a 2D PDE. '''Kishan + Nathan''' | ||
+ | |||
+ | * Improve the existing GlueX tracking models in preparation for Q3 and Q4 milestones '''Kishan''' |
Revision as of 19:00, 22 July 2022
Running Legacy Code on Heterogeneous Hardware via Surrogate Models
Project Description
We propose to develop tools to automatically generate machine learning surrogate models from existing software so that they may utilize modern heterogeneous hardware. A hypothetical future high performance data facility would make extensive use of heterogeneous hardware such as GPUs and FPGAs, but many legacy codes will need to be heavily modified in order to take advantage of this hardware. Surrogate models replace a piece of code which is expensive to run with an approximate model; when the underlying model is a neural net, it runs efficiently on heterogeneous hardware. Thus, they are a promising technique for offloading computation to such hardware while minimizing the necessary changes to the original code. The tools developed during this project would make it substantially simpler to implement a surrogate model, enabling legacy code to access heterogeneous hardware, saving users' time and effort, and eliminating redundant work. Lowering these barriers should enable faster development iterations and make it easier to bring machine learning research code into production. This project includes a proof of principle of a new kind of code analysis tool which could be useful for an even broader variety of problems in high performance computing. Several of the milestones open up opportunities for future research into neural differential equations and automatic identification of functions to surrogate.
Resources
- Source code lives here: https://github.com/nathanwbrei/surrogate_toolkit
- SRGS 2022
Meetings
TBA
Documents
Presentations/Papers
Date | Event | Presenter | Slides |
---|---|---|---|
2022-06-27 | SRGS 2022 | Nathan Brei, David Lawrence |
Actionables
- Surrogate toolkit: Implement array inputs and test on a 2D PDE such as diffusion. Nathan
- Vacuum tool: Automatically identify primitive inputs and outputs from the function signature. Nathan
- Tool for profiling the memory bounds on a GPU. David + Nathan
- Start thinking about a neural net model for a 2D PDE. Kishan + Nathan
- Improve the existing GlueX tracking models in preparation for Q3 and Q4 milestones Kishan