diff --git a/study.py b/study.py index aa27a5f..1d24f35 100644 --- a/study.py +++ b/study.py @@ -2,6 +2,7 @@ import time, sys, random, copy import importlib +import subprocess from joblib import Parallel, delayed from DAS import * @@ -63,6 +64,17 @@ def study(): now = datetime.now() execID = now.strftime("%Y-%m-%d_%H-%M-%S_")+str(random.randint(100,999)) + # save config and code state for reproducibility + if not os.path.exists("results"): + os.makedirs("results") + if not os.path.exists("results/"+execID): + os.makedirs("results/"+execID) + with open("results/"+execID+"/git.diff", 'w') as f: + subprocess.run(["git", "diff"], stdout=f) + with open("results/"+execID+"/git.describe", 'w') as f: + subprocess.run(["git", "describe", "--always"], stdout=f) + subprocess.run(["cp", sys.argv[1], "results/"+execID+"/"]) + logger.info("Starting simulations:", extra=format) start = time.time() results = Parallel(config.numJobs)(delayed(runOnce)(config, shape ,execID) for shape in config.nextShape())