Skip to content

Commit

Permalink
docs: add additional intro to basic usage
Browse files Browse the repository at this point in the history
  • Loading branch information
hollandjg committed Jan 19, 2024
1 parent c46a74f commit 9d331e9
Showing 1 changed file with 27 additions and 1 deletion.
28 changes: 27 additions & 1 deletion docs/cli/basic-usage/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,33 @@
# Command Line Interface Overview
# Command Line Interface Basic Usage

The command line interface allows us to load and save `States` and run arbitrary functions on them.

You can use the command line interface if the following conditions are true:

1. Every part of `s` can be successfully [pickled](https://docs.python.org/3/library/pickle.html).
2. You can write each step of your experiment as a single importable function which operates on a state and returns
a state:
```python
from example.lib import initial_state, experimentalist, experiment_runner, theorist
s = initial_state()
for i in range(3):
s = experimentalist(s)
s = experiment_runner(s)
s = theorist(s)
```

Often, different parts of AutoRA experiments require very different computational resources. For instance:
- The theorist and experimentalist might require training or use of neural networks, and benefit from high
performance computing (HPC) resources for short bursts – minutes or hours.
- The experiment runner might post an experiment using a service like "Prolific" and poll every few minutes for
hours, days or week until the experimental data are gathered.

Running the experiment runner with the same resources as the theorist and experimentalist in this case would be
wasteful, and may be prohibitively expensive.

To solve this problem, AutoRA comes with a command line interface. This can be used with HPC schedulers like [SLURM]
(https://slurm.schedmd.com/) to run different steps in the cycle with different resources.

## Setup

To use the command line, we first define a package `example` containing the functions we want to run on the State:
Expand Down

0 comments on commit 9d331e9

Please sign in to comment.