hpc-context
skillSLURM and HPC guidance for Mycelia benchmarks and large-scale analysis
apm::install
apm install @cjprybol/hpc-contextapm::skill.md
---
name: hpc-context
description: SLURM and HPC guidance for Mycelia benchmarks and large-scale analysis
---
# Mycelia HPC Context
Guidance for running Mycelia on HPC systems with SLURM.
## Benchmark Commands
Local small/medium/large benchmarks:
```bash
julia --project=. benchmarking/benchmark_runner.jl small
julia --project=. benchmarking/benchmark_runner.jl medium
julia --project=. benchmarking/benchmark_runner.jl large
```
SLURM submission (resource-intensive):
```bash
sbatch benchmarking/run_all_benchmarks.sh
```
## Key Directories
- `benchmarking/` - Heavy benchmark scripts
- `results/` - Generated artifacts
- `ci/hpc/` - HPC-specific CI configuration
## Resource Considerations
- Use memory estimation utilities from `utility-functions.jl` for large-scale analyses
- Keep external tool calls isolated in helpers under `src/`
- Avoid committing generated outputs or large files
- Note external tool or dataset requirements explicitly
## Portability
- Use `joinpath` for all file paths
- Test on multiple environments when possible
- Document any HPC-specific requirements
- Consider job scheduler compatibility (SLURM, PBS, etc.)
## Tutorial/Benchmark Guidelines
- Do NOT add generally useful functions in `tutorials/`, `test/`, or `benchmarking/`
- If a helper is broadly useful, add it under `src/` and call from tutorial
- Tutorials demonstrate core Mycelia functionality
- Avoid defining new helper functions except true one-offs
- Prefer Rhizomorph graph/assembly functionality over legacy base-graph APIs