APM

>Agent Skill

@cjprybol/hpc-context

skilltesting

SLURM and HPC guidance for Mycelia benchmarks and large-scale analysis

testing
apm::install
$apm install @cjprybol/hpc-context
apm::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