-
Notifications
You must be signed in to change notification settings - Fork 5
LASER Decision Dependencies
Christopher Lorton edited this page Feb 20, 2024
·
6 revisions
Knowns | Unknowns | |
---|---|---|
Known | - measles - 200M+ agents - 1K+ locations - age based mixing - SES properties - maternal antibodies - RI - SIAs - reactive interventions - seasonality - audience - scenarios |
- required features - implementation language - model building language - user language(s) - performance requirements - hardware requirements - cohort algorithms - community implementations - mathematical approaches - transmission algorithms - implementation algorithms - file formats - visualization choices - suitable 3rd party ABM tools |
Unknown | N/A | ? |
Goal: Reduce the number of Known Unknowns
(top right) by moving them into the Known Knowns
quadrant (top left).
TBD: How do we assess the size of the Unknown Unknowns
quadrant (bottom right)?
Q: Is the size of the Unknown Knowns
quadrant (bottom left) important?
---
title: "Decision Dependencies"
---
flowchart
A(((desired audiences)))
CA[[cohort algorithms]]
CI[[community</br>implementations]]
F[(req features)]
FF{{file formats}}
HW[hardware reqs]
IA[[implementation</br>algorithms]]
IL[\implementation</br>language choice/]
MA[[mathematical approaches]]
MDL[\model development</br>language choice/]
P{performance reqs}
S[(desired scenarios)]
TA[[transmission algorithms]]
UFL[\user-facing language</br>choices/]
VIS[\visualization</br>choices/]
A <--> HW
A --> IL
A --> MDL
A <--> S
A --> UFL
A --> VIS
F <--> P
F --> TA
HW --> IL
IL --> FF
MA --> IA
P --> CA
P --> CI
P --> HW
P --> IA
P --> MA
P --> TA
S --> F
S --> P
%% style examples
%% style FF fill:#f9f;
%% classDef bigFont font-size:16pt;
%% class HW bigFont;
%% create a styled class
classDef boldFont font-size:13pt,font-weight:bold;
%% apply boldFont class to A, S, and P nodes
class A,S,P boldFont;
- model users: users who configure/parameterize models built by model builders but do not, generally, modify code
- model builders: users/researchers who use LASER features to build specific disease models, e.g. measles, cholera, polio, etc.
- feature implementers: researchers/developers who extend LASER with new functionality
- Current investigations are using Python + NumPy + extension where extension may be Numba, C/C++, Rust, Julia, Taichi, or other
- Julia is under consideration.
- No other languages (Rust, MATLAB, R, et al.) are currently being considered.
- Default is Python pending technology decision investigations.
- Default is Python pending further consideration.
- Implementation and Development choices should consider their impact on using other languages, e.g. R or Juli, to drive LASER based models.
- TBD with the following considerations:
- Running a single, full-resolution model on commonly available laptop hardware in a reasonable amount of time (10-30 minutes?) should be conceivable in order to do local development and validation sniff-testing.
- Smaller scenarios (1/10th scale?) should run very quickly (<1 minute?) to facilitate iterative development.
- Implementation choices should support using Nvidia, Apple Silicon (and AMD?) GPU hardware for acceleration and possibly enable running smaller ensembles (100-1000 simulations) on laptop hardware in a reasonable amount of time (<60 minutes?).
- Implementation choices should support bringing "big iron" (e.g. 128+ cores, 512GB+ RAM) to the table for larger scenarios and ensembles of simulations (e.g., calibration).
- See "Performance Requirements" immediately above.