بنقرة واحدة
fragmentation-aware-packing
// Choose placements that preserve useful residual capacity. Use for bin packing, GPU sharing, accelerator placement, and multi-resource scheduling where stranded capacity hurts future fit.
// Choose placements that preserve useful residual capacity. Use for bin packing, GPU sharing, accelerator placement, and multi-resource scheduling where stranded capacity hurts future fit.
| name | fragmentation-aware-packing |
| description | Choose placements that preserve useful residual capacity. Use for bin packing, GPU sharing, accelerator placement, and multi-resource scheduling where stranded capacity hurts future fit. |
Use this skill when several feasible placements exist and the choice affects future capacity.
A placement is not good just because it fits. Good placements preserve useful residual capacity. With fractional GPUs, this often means packing small compatible jobs together while preserving whole or scarce GPU slots. The same idea applies to any slots, bins, or resources with discrete capacities.
For each feasible placement, compute a local before/after estimate:
fragmentation_before.fragmentation_after.marginal_fragmentation = fragmentation_after - fragmentation_before.best = None
for placement in feasible_placements:
target_before = copy(target_state)
fragmentation_before = estimate_fragmentation(target_before, workload_types)
target_after = apply(placement, target_before)
fragmentation_after = estimate_fragmentation(target_after, workload_types)
marginal_fragmentation = fragmentation_after - fragmentation_before
score = weighted_action_score(
marginal_fragmentation=marginal_fragmentation,
other_component_deltas=estimate_other_deltas(placement)
)
best = lower_score(best, placement, score)
choose best
Respect hard feasibility first. Use marginal_fragmentation as an input to the weighted action score, not as the only decision rule.
When workload shape probabilities are available, such as workload_types from cluster_config.json, use them to estimate which free capacity is likely to be useful:
fragmentation = 0
for workload_type in workload_types_from_cluster_config:
if workload_type.gpu_type is incompatible with target.gpu_type:
continue
can_fit =
target.cpu_free >= workload_type.cpu_units
and target.memory_free >= workload_type.memory_units
and any(slot.free_gpu_units >= workload_type.gpu_units
for slot in target.gpu_slots)
compatible_free_gpu = sum(slot.free_gpu_units for slot in target.gpu_slots)
if not can_fit:
fragmentation += workload_type.probability * compatible_free_gpu
else:
small_fragments = sum(
slot.free_gpu_units
for slot in target.gpu_slots
if 0 < slot.free_gpu_units < workload_type.gpu_units
)
fragmentation += workload_type.probability * small_fragments
If two 50-unit GPU jobs can share one 100-unit GPU slot, placing both on the same slot leaves another full slot free. Placing them on two separate slots creates two 50-unit leftovers, which may be harder for future 75- or 100-unit jobs to use.
The same pattern appears outside GPUs: two small tasks may belong in one bin so another bin remains available for a large task. When scores are close, use stable tie-breaks such as urgency, priority, smaller harmless leftovers, and deterministic target order.
Fragmentation is one objective component. A placement with slightly worse fragmentation may still be better if it substantially improves another weighted component, such as waiting, lateness, resource activation, or unserved-work cost. Conversely, a placement with excellent fragmentation may be bad if it causes a large cost elsewhere.
Use the before/after fragmentation estimate as one delta in a general score:
weighted_marginal_score =
fragmentation_weight * marginal_fragmentation
+ other_weight_1 * delta_other_component_1
+ other_weight_2 * delta_other_component_2
+ deterministic_tie_break
Validate and repair proposed resource allocations by replaying them against temporary capacity. Use when actions consume several resource dimensions such as CPU, memory, GPUs, or accelerators.
Design deterministic online scheduling policies from current observations. Use when assigning arriving work to limited resources without seeing future requests.
Three.js scene-graph parsing and export workflows: mesh baking, InstancedMesh expansion, part partitioning, per-link OBJ export, and URDF articulation.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
SkillsBench task authoring — walk a contributor from idea to submission-ready task following CONTRIBUTING.md and the task-implementation rubric. Use when the user wants to create a new SkillsBench task, scaffold a task from an existing workflow (notebook, Excel workbook, document, dataset), convert a prompt or a benchmark item into a SkillsBench task, write skills for a task, or prepare a SkillsBench PR. Pairs with `task-review` (run that as a self-check before submitting).
SkillsBench task PR review — classifies the task track (standard / research / multimodal), runs static policy checks against the track-specific rubric, benchmarks the task across oracle plus Claude and Codex (with and without skills), audits trajectories for cheating and skill invocation, and produces a `pr-N-task-timestamp-run.txt` review report alongside a `prN.zip` bundle of trajectories. Use when reviewing a SkillsBench task PR (by number, branch, or local task path), when the user asks to review a task, run benchmarks on a PR, audit a submission, classify a task as research or multimodal track, or prepare a comment to post on a SkillsBench PR.