Skip to content

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;
Loading

Audiences

  1. model users: users who configure/parameterize models built by model builders but do not, generally, modify code
  2. model builders: users/researchers who use LASER features to build specific disease models, e.g. measles, cholera, polio, etc.
  3. feature implementers: researchers/developers who extend LASER with new functionality

Scenarios

Implementation Language

  • 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.

Model Development Language

  • Default is Python pending technology decision investigations.

User-Facing Language(s)

  • 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.

Performance Requirements

  • 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).

Hardware Requirements

  • See "Performance Requirements" immediately above.

3rd Party ABM Tools

Clone this wiki locally