The GPU compute and numerical computing stack on Apple Silicon. It covers the Metal Shading Language (MSL) language specification, compute dispatch encoding and unified memory optimization, matrix operations and neural network inference with MPS/MPSGraph, and MLX, the array framework from Apple's research team.
Directory Structure
skills/apple-silicon/
SKILL.md
references/
metal-compute/
README.md
compute-pass-encoding.md
threadgroup-sizing.md
compute-pipeline-configuration.md
indirect-command-buffers.md
indirect-compute-commands.md
gpu-counters.md
counter-sample-buffers.md
argument-buffers.md
unified-memory.md
msl/
README.md
data-types.md
address-spaces.md
function-qualifiers.md
argument-attributes.md
atomic-functions.md
simdgroup-functions.md
math-functions.md
numerical-compliance.md
mps/
README.md
mpskernel.md
mpsimage.md
image-filters.md
mpsmatrix.md
matrix-arithmetic.md
matrix-decomposition-solve.md
mpsndarray.md
mpsnngraph.md
cnn-kernels.md
mpsgraph.md
mpsgraph-tensor.md
mpsgraph-executable.md
mpsgraph-operations.md
ray-tracing.md
mlx/
README.md
array.md
lazy-evaluation.md
unified-memory-model.md
function-transforms.md
compilation.md
nn-module.md
optimizers.md
nn-layers.md
nn-losses-activations.md
indexing.md
saving-loading.md
random.md
linalg.md
devices-streams.md
memory-management.md
fast-custom-kernels.md
distributed.md
tree-utils.md
samples/
README.md
compute-kernel-dispatch.md
nonuniform-threadgroup-dispatch.md
shared-storage-mode-buffer.md
resource-group-argument-buffer.md
cpu-encoded-indirect-compute.md
blit-and-compute-single-pass.md
mpsgraph-matrix-multiplication.md
mpsgraph-training-loop.md
mps-image-filter.md
mlx-array-lazy-evaluation.md
mlx-unified-memory.md
mlx-mlp-training-loop.md
mlx-function-transforms.md
scripts/
README.md
toolchain-setup.md
metal-compile.md
metal-symbols.md
metal-binary-archives.md
metal-dynamic-libraries.md
metal-debug-env.md
metal-performance-hud.md
mlx-install.md
mlx-distributed.md
Exploration Procedure
Look up the category from the task, then identify the target page in the category's README.md:
- Find the category corresponding to the task in the mapping table below
- that category's
references/{category}/README.md(samples/scripts/(the README.md directly under it) to identify the target page - Read the
.mdof the corresponding page to check the details
Metal のRenderingpipeline (MTLRenderCommandEncoder / MTLRenderPipelineState)・Core Animation・
Core Graphics・Core Image・SpriteKit・SceneKit は apple-graphics See. This skill covers Metal'sCompute
(MTLComputeCommandEncoder and below), the MSL language specification, MPS/MPSGraph, and MLX.
For on-device inference of .mlmodel with Core ML / Create ML, Vision, Natural Language, and Speech, see apple-ml .
Note that MLX alone is not sourced from developer.apple.com, but from OSS documentation published by Apple's research team
(ml-explore.github.io).
Task → Category Mapping
| Task | Category | Reference README |
|---|---|---|
| I want to know compute pass encoding, threadgroup/grid size calculation, and compute pipeline configuration | metal-compute | references/metal-compute/README.md |
| I want to look up argument buffers, indirect command buffers, GPU counters, and unified memory (storage mode) | metal-compute | references/metal-compute/README.md |
| I want to look up MSL data types, address spaces, kernel function attributes, and argument binding attributes | msl | references/msl/README.md |
| I want to look up MSL atomic functions, SIMD-group/quad-group functions, math functions, and numerical precision (IEEE 754) compliance | msl | references/msl/README.md |
| I want to look up image filters, matrix operations, and decompositions with MPSKernel/MPSImage/MPSMatrix/MPSNDArray | mps | references/mps/README.md |
| I want to look up graph construction, execution, CNN inference, and ray tracing with MPSGraph/MPSNNGraph | mps | references/mps/README.md |
| I want to look up MLX arrays/dtypes, lazy evaluation, indexing, and saving/loading | mlx | references/mlx/README.md |
| I want to look up MLX function transformations such as grad/vmap, mx.compile, the unified memory model, and distributed | mlx | references/mlx/README.md |
| I want to look up mlx.nn layers/loss functions, mlx.optimizers, and tree utils | mlx | references/mlx/README.md |
| I want to know typical usage (compute kernel dispatch, argument buffer, MPSGraph training loop, MLX training loop, etc.) | samples | samples/README.md |
Metal Toolchain setup and.metal compilation/linking, debugging environment variables, and MLX installation |
scripts | scripts/README.md |