snap_workflow¶
snap_workflow is an intuitive, python-based command line tool for setting up, tracking, and organizing modular, systematic computational research on both local and HPC resources. It also includes a few python tools to provide seemless interfacing between the structure it establishes and the scripts and programs unique to each individual research project including non-python based scripts/programs.
Key Features¶
Modular Pipelines: Structure your pipeline into decoupled Stages (e.g., mesh prep, solver runs, post-processing) with auto-resolved upstream stage dependencies.
Automated Parameter Sweeps: Declare variables and generate multivariate parameter grids (SPoints) automatically.
Resource-Aware Execution: Pack simulation jobs concurrently on local workstations using hardware resource limits (CPUs, GPUs, RAM) or submit worker allocations to Slurm HPC clusters.
Unified Interfacing: Write stage scripts in Python or any other language, utilizing a simple status context manager for state synchronization.
Automated Data Collection: Cleanly query, gather, and compile outputs from sweep directories into structured data files.
Getting Started
Command Line Tools
Python Tools