Experiment Framework¶
The experiment framework will become our way of building, monitoring, and executing experiments.
Getting started¶
Activate the environment, which should be done with something like:
source ../../graph_benchmark_env/bin/activate
Create it at this location if you have to.
If not part of the environment already, install NetworkX:
pip install networkx
Change into the test directory:
cd tests
Run the current tests:
python test_experiment.py
Current Functionality¶
The experiment class tracks the common metadata across all types of experiments. It is capable of:
- Tracking all relevant metadata.
- Loading a graph from a file and generating summary metadata.
- Logging timing information.
- Profiling the operating system for Memory, CPU, Operating system, etc.
- Dynamically creating required output directories for experiments and dumping experiment metadata to .json.
Future Work¶
- Add Subclasses for CPU_Experiment and GPU_Experiment.
- Add an “experiment runner” class that, given a .JSON of all required experiments, executes them according to provided parameters.
Testing Policy¶
No new features without a failing test.
No merging to main without all tests passing.