Build Information
Successful build of mlx-swift, reference main (62de22), with Swift 6.2 for macOS (SPM) on 10 Dec 2025 05:51:49 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ml-explore/mlx-swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ml-explore/mlx-swift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 62de22d add .arrays back to ScaledDotProductAttentionMaskMode (#314)
Submodule path 'Source/Cmlx/mlx': checked out '54f1cc6e3e398a1274fb3bcd73cb543eea643da2'
Submodule path 'Source/Cmlx/mlx-c': checked out '0fd809867528589daba11c6a0b9ec26426067be9'
Submodule 'submodules/mlx' (https://github.com/ml-explore/mlx) registered for path 'Source/Cmlx/mlx'
Submodule 'submodules/mlx-c' (https://github.com/ml-explore/mlx-c) registered for path 'Source/Cmlx/mlx-c'
Cloning into '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx-c'...
Cloned https://github.com/ml-explore/mlx-swift.git
Revision (git rev-parse @):
62de22dc0d706d4158f84b6e83e74958727dcc49
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift.git at main
Fetching https://github.com/apple/swift-numerics
[1/6384] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (1.44s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (2.02s)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "mlx-swift",
"name": "mlx-swift",
"url": "https://github.com/ml-explore/mlx-swift.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/mlx-swift",
"dependencies": [
{
"identity": "swift-numerics",
"name": "swift-numerics",
"url": "https://github.com/apple/swift-numerics",
"version": "1.1.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-numerics",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/ml-explore/mlx-swift.git
[1/12225] Fetching mlx-swift
Fetched https://github.com/ml-explore/mlx-swift.git from cache (1.60s)
Fetching https://github.com/apple/swift-numerics from cache
Fetched https://github.com/apple/swift-numerics from cache (0.46s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (0.51s)
Creating working copy for https://github.com/ml-explore/mlx-swift.git
Working copy of https://github.com/ml-explore/mlx-swift.git resolved at main (62de22d)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
warning: '.resolve-product-dependencies': dependency 'mlx-swift' is not used by any target
Found 1 product dependencies
- swift-numerics
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/ml-explore/mlx-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64
Building for debugging...
[0/198] Compiling version.cpp
[1/198] Write swift-version-49B95AFC49DCD68C.txt
[2/198] Compiling _NumericsShims _NumericsShims.c
[3/198] Write sources
[4/198] Write Tutorial-entitlement.plist
[5/198] Write sources
[8/209] Compiling RealModule RealFunctions.swift
[9/210] Compiling RealModule Float80+Real.swift
[10/210] Compiling RealModule Float16+Real.swift
[11/210] Compiling RealModule Real.swift
[12/210] Compiling RealModule ElementaryFunctions.swift
[13/210] Compiling RealModule Double+Real.swift
[14/210] Emitting module RealModule
[15/210] Compiling RealModule AlgebraicField.swift
[16/210] Compiling RealModule ApproximateEquality.swift
[17/210] Compiling RealModule AugmentedArithmetic.swift
[18/210] Compiling RealModule Float+Real.swift
[19/210] Compiling RealModule RelaxedArithmetic.swift
[19/210] Write sources
[27/210] Write Example1-entitlement.plist
[28/210] Write sources
[29/210] Write CustomFunctionExampleSimple-entitlement.plist
[30/210] Write sources
[31/210] Write CustomFunctionExample-entitlement.plist
[32/210] Write sources
[33/210] Compiling error.cpp
[34/210] Compiling utils.cpp
[36/221] Compiling ComplexModule Complex+Numeric.swift
[37/221] Compiling ComplexModule Polar.swift
[38/221] Compiling ComplexModule Complex+Hashable.swift
[39/221] Compiling ComplexModule Complex+IntegerLiteral.swift
[40/221] Compiling ComplexModule Complex.swift
[41/221] Compiling ComplexModule Complex+StringConvertible.swift
[41/222] Compiling scheduler.cpp
[43/222] Compiling ComplexModule Scale.swift
[44/222] Compiling ComplexModule Complex+ElementaryFunctions.swift
[45/222] Compiling ComplexModule Complex+Codable.swift
[46/222] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[47/222] Compiling ComplexModule Complex+AlgebraicField.swift
[48/222] Emitting module ComplexModule
[48/222] Compiling compile.cpp
[49/222] Compiling export.cpp
[50/222] Compiling fft.cpp
[51/224] Compiling fast.cpp
[53/224] Compiling Numerics Numerics.swift
[54/224] Emitting module Numerics
[54/224] Compiling eval.cpp
[55/224] Compiling no_gguf.cpp
[56/224] Compiling random.cpp
[57/224] Compiling transforms.cpp
[58/224] Compiling graph_utils.cpp
[59/224] Compiling linalg.cpp
[60/224] Compiling load.cpp
[61/224] Compiling fft.cpp
[62/224] Compiling dtype.cpp
[63/224] Compiling primitives.cpp
[64/224] Compiling dtype_utils.cpp
[65/224] Compiling no_ring.cpp
[66/224] Compiling safetensors.cpp
[67/224] Compiling device.cpp
[68/224] Compiling fast.cpp
[69/224] Compiling no_nccl.cpp
[70/224] Compiling no_mpi.cpp
[71/224] Compiling einsum.cpp
[72/224] Compiling primitives.cpp
[73/224] Compiling distributed.cpp
[74/224] Compiling ops.cpp
[76/224] Compiling utils.cpp
[77/224] Compiling unary.cpp
[78/224] Compiling ternary.cpp
[79/224] Compiling sort.cpp
[80/224] Compiling softmax.cpp
[81/224] Compiling compile.cpp
[82/224] Compiling slicing.cpp
[83/224] Compiling scan.cpp
[84/224] Compiling scaled_dot_product_attention.cpp
[85/224] Compiling resident.cpp
[86/224] Compiling rope.cpp
[87/224] Compiling reduce.cpp
[88/224] Compiling metal.cpp
[89/224] Compiling primitives.cpp
[90/224] Compiling normalization.cpp
[91/224] Compiling quantized.cpp
[92/224] Compiling matmul.cpp
[93/224] Compiling logsumexp.cpp
[94/224] Compiling fence.cpp
[95/224] Compiling indexing.cpp
[96/224] Compiling event.cpp
[97/224] Compiling jit_kernels.cpp
[98/224] Compiling distributed.cpp
[99/224] Compiling hadamard.cpp
[100/224] Compiling export.cpp
[101/224] Compiling slicing.cpp
[102/224] Compiling fft.cpp
[103/224] Compiling device.cpp
[104/224] Compiling primitives.cpp
[105/224] Compiling threefry.cpp
[106/224] Compiling allocator.cpp
[107/224] Compiling binary.cpp
[108/224] Compiling copy.cpp
[109/224] Compiling no_cuda.cpp
[110/224] Compiling compiled.cpp
[111/224] Compiling conv.cpp
[112/224] Compiling custom_kernel.cpp
[113/224] Compiling copy.cpp
[114/224] Compiling select.cpp
[115/224] Compiling softmax.cpp
[116/224] Compiling scan.cpp
[117/224] Compiling quantized.cpp
[118/224] Compiling primitives.cpp
[119/224] Compiling qrf.cpp
[120/224] Compiling svd.cpp
[121/224] Compiling sort.cpp
[122/224] Compiling jit_compiler.cpp
[123/224] Compiling unary.cpp
[124/224] Compiling matmul.cpp
[125/224] Compiling logsumexp.cpp
[126/224] Compiling hadamard.cpp
[127/224] Compiling masked_mm.cpp
[128/224] Compiling luf.cpp
[129/224] Compiling inverse.cpp
[130/224] Compiling cblas.cpp
[131/224] Compiling encoder.cpp
[132/224] Compiling eval.cpp
[133/224] Compiling bnns.cpp
[134/224] Compiling reduce.cpp
[135/224] Compiling available.cpp
[136/224] Compiling fft.cpp
[137/224] Compiling distributed.cpp
[138/224] Compiling indexing.cpp
[139/224] Compiling eigh.cpp
[140/224] Compiling eig.cpp
[141/224] Compiling slicing.cpp
[142/224] Compiling utils.cpp
[143/224] Compiling reduce.cpp
[144/224] Compiling arg_reduce.cpp
[145/224] Compiling cholesky.cpp
[146/224] Compiling utils.cpp
[147/224] Compiling unary_ops.cpp
[148/224] Compiling unary.cpp
[149/224] Compiling broadcasting.cpp
[150/224] Compiling ternary_ops.cpp
[151/224] Compiling ternary.cpp
[152/224] Compiling steel_gemm_splitk.cpp
[153/224] Compiling steel_gemm_segmented.cpp
[154/224] Compiling steel_gemm_masked.cpp
[155/224] Compiling steel_gemm_gather.cpp
[156/224] Compiling load.cpp
[157/224] Compiling allocator.cpp
[158/224] Compiling steel_gemm_fused.cpp
[159/224] Compiling steel_conv_general.cpp
[160/224] Compiling compiled.cpp
[161/224] Compiling steel_conv.cpp
[162/224] Compiling softmax.cpp
[162/224] Compiling sort.cpp
[164/224] Compiling scatter_axis.cpp
[165/224] Compiling reduce_utils.cpp
[166/224] Compiling scan.cpp
[166/224] Compiling scatter.cpp
[168/224] Compiling reduce.cpp
[169/224] Compiling quantized_utils.cpp
[170/224] Compiling logsumexp.cpp
[171/224] Compiling quantized.cpp
[172/224] Compiling masked_scatter.cpp
[173/224] Compiling gemv_masked.cpp
[174/224] Compiling hadamard.cpp
[175/224] Compiling gather_axis.cpp
[175/224] Compiling gemm.cpp
[177/224] Compiling gather_front.cpp
[178/224] Compiling common.cpp
[179/224] Compiling gather.cpp
[180/224] Compiling fp_quantized.cpp
[181/224] Compiling conv.cpp
[182/224] Compiling fft.cpp
[183/224] Compiling copy.cpp
[184/224] Compiling conv.cpp
[185/224] Compiling compiled_preamble.cpp
[186/224] Compiling binary_two.cpp
[187/224] Compiling binary_ops.cpp
[188/224] Compiling binary.cpp
[189/224] Compiling arange.cpp
[190/224] Compiling copy.cpp
[191/224] Compiling array.cpp
[192/224] Compiling version.cpp
[193/224] Compiling string.cpp
[194/224] Compiling stream.cpp
[195/224] Compiling transforms_impl.cpp
[196/224] Compiling transforms.cpp
[197/224] Compiling vector.cpp
[198/224] Compiling random.cpp
[199/224] Compiling compiled_conditional.cpp
[200/224] Compiling ops.cpp
[201/224] Compiling memory.cpp
[202/224] Compiling metal.cpp
[203/224] Compiling linalg.cpp
[204/224] Compiling io_types.cpp
[205/224] Compiling map.cpp
[206/224] Compiling io.cpp
[207/224] Compiling device.cpp
[208/224] Compiling format.cc
[209/224] Compiling closure.cpp
[210/224] Compiling array.cpp
[211/224] Compiling binary.cpp
[213/258] Emitting module MLX
[214/261] Compiling MLX Transforms+Internal.swift
[215/261] Compiling MLX Transforms+Vmap.swift
[216/261] Compiling MLX Transforms.swift
[217/261] Compiling MLX ArrayAt.swift
[218/261] Compiling MLX Cmlx+Util.swift
[219/261] Compiling MLX DType.swift
[220/261] Compiling MLX Device.swift
[221/261] Compiling MLX ErrorHandler.swift
[222/261] Compiling MLX Export.swift
[223/261] Compiling MLX FFT.swift
[224/261] Compiling MLX Factory.swift
[225/261] Compiling MLX MLXFastKernel.swift
[226/261] Compiling MLX Memory.swift
[227/261] Compiling MLX Nested.swift
[228/261] Compiling MLX Ops+Array.swift
[229/261] Compiling MLX MLXArray+Ops.swift
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/include/mlx/c/array.h:325:1: note: built-in type 'Complex' not supported
323 | * Array must be evaluated, otherwise returns NULL.
324 | */
325 | const float _Complex* mlx_array_data_complex64(const mlx_array arr);
| `- note: built-in type 'Complex' not supported
326 |
327 | #ifdef HAS_FLOAT16
[230/261] Compiling MLX MLXArray.swift
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/include/mlx/c/array.h:325:1: note: built-in type 'Complex' not supported
323 | * Array must be evaluated, otherwise returns NULL.
324 | */
325 | const float _Complex* mlx_array_data_complex64(const mlx_array arr);
| `- note: built-in type 'Complex' not supported
326 |
327 | #ifdef HAS_FLOAT16
[231/261] Compiling MLX MLXCustomFunction.swift
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/include/mlx/c/array.h:325:1: note: built-in type 'Complex' not supported
323 | * Array must be evaluated, otherwise returns NULL.
324 | */
325 | const float _Complex* mlx_array_data_complex64(const mlx_array arr);
| `- note: built-in type 'Complex' not supported
326 |
327 | #ifdef HAS_FLOAT16
[232/261] Compiling MLX MLXFast.swift
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/include/mlx/c/array.h:325:1: note: built-in type 'Complex' not supported
323 | * Array must be evaluated, otherwise returns NULL.
324 | */
325 | const float _Complex* mlx_array_data_complex64(const mlx_array arr);
| `- note: built-in type 'Complex' not supported
326 |
327 | #ifdef HAS_FLOAT16
[233/261] Compiling MLX Random.swift
[234/261] Compiling MLX State.swift
[235/261] Compiling MLX Stream.swift
[236/261] Compiling MLX Foundation+Util.swift
[237/261] Compiling MLX GPU+Metal.swift
[238/261] Compiling MLX IO.swift
[239/261] Compiling MLX Linalg.swift
[240/261] Compiling MLX Ops.swift
[241/261] Compiling MLX ParameterTypes.swift
[242/261] Compiling MLX Protocols.swift
[243/261] Compiling MLX Transforms+Compile.swift
[244/261] Compiling MLX Transforms+Eval.swift
[245/261] Compiling MLX Transforms+Grad.swift
[246/261] Compiling MLX MLXArray+Bytes.swift
[247/261] Compiling MLX MLXArray+Indexing.swift
[248/261] Compiling MLX MLXArray+Init.swift
[249/261] Compiling MLX MLXArray+Metal.swift
[250/278] Compiling MLXLinalg Linalg.swift
[251/278] Emitting module MLXFast
[252/278] Compiling MLXFast MLXFast.swift
[253/278] Compiling MLXFast MLXFastKernel.swift
[254/278] Emitting module MLXLinalg
[255/278] Compiling MLXFFT FFT.swift
[256/278] Emitting module MLXFFT
[257/278] Compiling CustomFunctionExampleSimple CustomFunctionExampleSimple.swift
[258/278] Emitting module CustomFunctionExampleSimple
[259/278] Compiling Example1 Example1.swift
[260/278] Emitting module Example1
[260/278] Write Objects.LinkFileList
[263/278] Compiling MLXRandom Random.swift
[264/278] Emitting module MLXRandom
[265/278] Compiling CustomFunctionExample CustomFunctionExample.swift
[266/278] Emitting module CustomFunctionExample
[266/278] Write Objects.LinkFileList
[268/278] Compiling Tutorial Tutorial.swift
[269/278] Emitting module Tutorial
[269/278] Write Objects.LinkFileList
[271/296] Compiling MLXNN Containers.swift
[272/296] Compiling MLXNN Convolution.swift
[273/296] Compiling MLXNN ConvolutionTransposed.swift
[274/296] Compiling MLXNN Dropout.swift
[275/297] Compiling MLXNN Upsample.swift
[276/297] Emitting module MLXNN
[277/297] Compiling MLXNN Activations.swift
[278/297] Compiling MLXNN Cache.swift
[279/297] Compiling MLXNN ValueAndGrad.swift
[280/297] Compiling MLXNN Recurrent.swift
[281/297] Compiling MLXNN Transformer.swift
[282/297] Compiling MLXNN PositionalEncoding.swift
[283/297] Compiling MLXNN Quantized.swift
[284/297] Compiling MLXNN Normalization.swift
[285/297] Compiling MLXNN Pooling.swift
[286/297] Compiling MLXNN Embedding.swift
[287/297] Compiling MLXNN Linear.swift
[288/297] Compiling MLXNN Losses.swift
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1377:34: warning: conditional downcast from 'T?' to 'T' does nothing
1375 | // note: this gives a warning but it does in fact do something
1376 | // in the case where this is e.g. ParameterInfo<MLXArray?>
1377 | if let value = value as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1378 | return value
1379 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1490:36: warning: conditional downcast from 'T?' to 'T' does nothing
1488 | // note: this gives a warning but it does in fact do something
1489 | // in the case where this is e.g. ModuleInfo<Linear?>
1490 | if let module = module as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1491 | return module
1492 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:288:13: warning: default will never be executed
286 | return isAllNone ? .none : .array(result)
287 |
288 | default:
| `- warning: default will never be executed
289 | fatalError("Unexpected leaf \(vk) = \(v)")
290 | }
[289/297] Compiling MLXNN Module.swift
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1377:34: warning: conditional downcast from 'T?' to 'T' does nothing
1375 | // note: this gives a warning but it does in fact do something
1376 | // in the case where this is e.g. ParameterInfo<MLXArray?>
1377 | if let value = value as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1378 | return value
1379 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1490:36: warning: conditional downcast from 'T?' to 'T' does nothing
1488 | // note: this gives a warning but it does in fact do something
1489 | // in the case where this is e.g. ModuleInfo<Linear?>
1490 | if let module = module as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1491 | return module
1492 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:288:13: warning: default will never be executed
286 | return isAllNone ? .none : .array(result)
287 |
288 | default:
| `- warning: default will never be executed
289 | fatalError("Unexpected leaf \(vk) = \(v)")
290 | }
[290/299] Compiling MLXOptimizers Optimizers.swift
[291/299] Emitting module MLXOptimizers
[291/299] Linking CustomFunctionExample
[292/299] Linking Example1
[293/299] Linking Tutorial
[294/299] Linking CustomFunctionExampleSimple
[295/299] Applying Example1
[296/299] Applying CustomFunctionExample
[297/299] Applying Tutorial
[298/299] Applying CustomFunctionExampleSimple
Build complete! (33.63s)
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Example1.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Tutorial.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Source/Examples/Tutorial.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExample.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Example1.swift
warning: 'spi-builder-workspace': found 3 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Example1.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Tutorial.swift
Build complete.
{
"cxx_language_standard" : "gnu++17",
"dependencies" : [
{
"identity" : "swift-numerics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-numerics"
}
],
"manifest_display_name" : "mlx-swift",
"name" : "mlx-swift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "tvos",
"version" : "17.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "MLX",
"targets" : [
"MLX"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXRandom",
"targets" : [
"MLXRandom"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXNN",
"targets" : [
"MLXNN"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXOptimizers",
"targets" : [
"MLXOptimizers"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXFFT",
"targets" : [
"MLXFFT"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXLinalg",
"targets" : [
"MLXLinalg"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXFast",
"targets" : [
"MLXFast"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Tutorial",
"targets" : [
"Tutorial"
],
"type" : {
"executable" : null
}
},
{
"name" : "Example1",
"targets" : [
"Example1"
],
"type" : {
"executable" : null
}
},
{
"name" : "CustomFunctionExampleSimple",
"targets" : [
"CustomFunctionExampleSimple"
],
"type" : {
"executable" : null
}
},
{
"name" : "CustomFunctionExample",
"targets" : [
"CustomFunctionExample"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "Tutorial",
"module_type" : "SwiftTarget",
"name" : "Tutorial",
"path" : "Source/Examples",
"product_memberships" : [
"Tutorial"
],
"sources" : [
"Tutorial.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "executable"
},
{
"c99name" : "MLXTests",
"module_type" : "SwiftTarget",
"name" : "MLXTests",
"path" : "Tests/MLXTests",
"sources" : [
"ArrayAtTests.swift",
"DTypeTests.swift",
"ErrorTests.swift",
"ExportTests.swift",
"IntegrationTests.swift",
"LinalgTests.swift",
"LossTests.swift",
"MLXArray+IndexingTests.swift",
"MLXArray+InitTests.swift",
"MLXArray+OpsTests.swift",
"MLXArrayTests.swift",
"MLXFastKernelTests.swift",
"MLXRandomTests.swift",
"MemoryTests.swift",
"ModuleTests.swift",
"NestedTests.swift",
"OpsTests.swift",
"OptimizerTests.swift",
"PoolingTests.swift",
"QuantizationTests.swift",
"SaveTests.swift",
"StreamTests.swift",
"SubclassTests.swift",
"TransformTests.swift",
"UpsampleTests.swift",
"Utils.swift"
],
"target_dependencies" : [
"MLX",
"MLXRandom",
"MLXNN",
"MLXOptimizers",
"MLXFFT",
"MLXLinalg",
"MLXFast"
],
"type" : "test"
},
{
"c99name" : "MLXRandom",
"module_type" : "SwiftTarget",
"name" : "MLXRandom",
"path" : "Source/MLXRandom",
"product_memberships" : [
"MLXRandom",
"MLXNN",
"MLXOptimizers"
],
"sources" : [
"Random.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXOptimizers",
"module_type" : "SwiftTarget",
"name" : "MLXOptimizers",
"path" : "Source/MLXOptimizers",
"product_memberships" : [
"MLXOptimizers"
],
"sources" : [
"Optimizers.swift"
],
"target_dependencies" : [
"MLX",
"MLXNN"
],
"type" : "library"
},
{
"c99name" : "MLXNN",
"module_type" : "SwiftTarget",
"name" : "MLXNN",
"path" : "Source/MLXNN",
"product_memberships" : [
"MLXNN",
"MLXOptimizers"
],
"sources" : [
"Activations.swift",
"Cache.swift",
"Containers.swift",
"Convolution.swift",
"ConvolutionTransposed.swift",
"Dropout.swift",
"Embedding.swift",
"Linear.swift",
"Losses.swift",
"Module.swift",
"Normalization.swift",
"Pooling.swift",
"PositionalEncoding.swift",
"Quantized.swift",
"Recurrent.swift",
"Transformer.swift",
"Upsample.swift",
"ValueAndGrad.swift"
],
"target_dependencies" : [
"MLX",
"MLXRandom",
"MLXFast"
],
"type" : "library"
},
{
"c99name" : "MLXLinalg",
"module_type" : "SwiftTarget",
"name" : "MLXLinalg",
"path" : "Source/MLXLinalg",
"product_memberships" : [
"MLXLinalg"
],
"sources" : [
"Linalg.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXFast",
"module_type" : "SwiftTarget",
"name" : "MLXFast",
"path" : "Source/MLXFast",
"product_memberships" : [
"MLXNN",
"MLXOptimizers",
"MLXFast"
],
"sources" : [
"MLXFast.swift",
"MLXFastKernel.swift"
],
"target_dependencies" : [
"MLX",
"Cmlx"
],
"type" : "library"
},
{
"c99name" : "MLXFFT",
"module_type" : "SwiftTarget",
"name" : "MLXFFT",
"path" : "Source/MLXFFT",
"product_memberships" : [
"MLXFFT"
],
"sources" : [
"FFT.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLX",
"module_type" : "SwiftTarget",
"name" : "MLX",
"path" : "Source/MLX",
"product_dependencies" : [
"Numerics"
],
"product_memberships" : [
"MLX",
"MLXRandom",
"MLXNN",
"MLXOptimizers",
"MLXFFT",
"MLXLinalg",
"MLXFast",
"Tutorial",
"Example1",
"CustomFunctionExampleSimple",
"CustomFunctionExample"
],
"sources" : [
"ArrayAt.swift",
"Cmlx+Util.swift",
"DType.swift",
"Device.swift",
"ErrorHandler.swift",
"Export.swift",
"FFT.swift",
"Factory.swift",
"Foundation+Util.swift",
"GPU+Metal.swift",
"IO.swift",
"Linalg.swift",
"MLXArray+Bytes.swift",
"MLXArray+Indexing.swift",
"MLXArray+Init.swift",
"MLXArray+Metal.swift",
"MLXArray+Ops.swift",
"MLXArray.swift",
"MLXCustomFunction.swift",
"MLXFast.swift",
"MLXFastKernel.swift",
"Memory.swift",
"Nested.swift",
"Ops+Array.swift",
"Ops.swift",
"ParameterTypes.swift",
"Protocols.swift",
"Random.swift",
"State.swift",
"Stream.swift",
"Transforms+Compile.swift",
"Transforms+Eval.swift",
"Transforms+Grad.swift",
"Transforms+Internal.swift",
"Transforms+Vmap.swift",
"Transforms.swift"
],
"target_dependencies" : [
"Cmlx"
],
"type" : "library"
},
{
"c99name" : "Example1",
"module_type" : "SwiftTarget",
"name" : "Example1",
"path" : "Source/Examples",
"product_memberships" : [
"Example1"
],
"sources" : [
"Example1.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "executable"
},
{
"c99name" : "CustomFunctionExampleSimple",
"module_type" : "SwiftTarget",
"name" : "CustomFunctionExampleSimple",
"path" : "Source/Examples",
"product_memberships" : [
"CustomFunctionExampleSimple"
],
"sources" : [
"CustomFunctionExampleSimple.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "executable"
},
{
"c99name" : "CustomFunctionExample",
"module_type" : "SwiftTarget",
"name" : "CustomFunctionExample",
"path" : "Source/Examples",
"product_memberships" : [
"CustomFunctionExample"
],
"sources" : [
"CustomFunctionExample.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "executable"
},
{
"c99name" : "CmlxTests",
"module_type" : "SwiftTarget",
"name" : "CmlxTests",
"path" : "Tests/CmlxTests",
"sources" : [
"CmlxTests.swift"
],
"target_dependencies" : [
"Cmlx"
],
"type" : "test"
},
{
"c99name" : "Cmlx",
"module_type" : "ClangTarget",
"name" : "Cmlx",
"path" : "Source/Cmlx",
"product_memberships" : [
"MLX",
"MLXRandom",
"MLXNN",
"MLXOptimizers",
"MLXFFT",
"MLXLinalg",
"MLXFast",
"Tutorial",
"Example1",
"CustomFunctionExampleSimple",
"CustomFunctionExample"
],
"sources" : [
"fmt/src/format.cc",
"mlx-c/mlx/c/array.cpp",
"mlx-c/mlx/c/closure.cpp",
"mlx-c/mlx/c/compile.cpp",
"mlx-c/mlx/c/device.cpp",
"mlx-c/mlx/c/error.cpp",
"mlx-c/mlx/c/export.cpp",
"mlx-c/mlx/c/fast.cpp",
"mlx-c/mlx/c/fft.cpp",
"mlx-c/mlx/c/io.cpp",
"mlx-c/mlx/c/io_types.cpp",
"mlx-c/mlx/c/linalg.cpp",
"mlx-c/mlx/c/map.cpp",
"mlx-c/mlx/c/memory.cpp",
"mlx-c/mlx/c/metal.cpp",
"mlx-c/mlx/c/ops.cpp",
"mlx-c/mlx/c/random.cpp",
"mlx-c/mlx/c/stream.cpp",
"mlx-c/mlx/c/string.cpp",
"mlx-c/mlx/c/transforms.cpp",
"mlx-c/mlx/c/transforms_impl.cpp",
"mlx-c/mlx/c/vector.cpp",
"mlx-c/mlx/c/version.cpp",
"mlx-conditional/compiled_conditional.cpp",
"mlx-generated/arange.cpp",
"mlx-generated/binary.cpp",
"mlx-generated/binary_ops.cpp",
"mlx-generated/binary_two.cpp",
"mlx-generated/compiled_preamble.cpp",
"mlx-generated/conv.cpp",
"mlx-generated/copy.cpp",
"mlx-generated/fft.cpp",
"mlx-generated/fp_quantized.cpp",
"mlx-generated/gather.cpp",
"mlx-generated/gather_axis.cpp",
"mlx-generated/gather_front.cpp",
"mlx-generated/gemm.cpp",
"mlx-generated/gemv_masked.cpp",
"mlx-generated/hadamard.cpp",
"mlx-generated/logsumexp.cpp",
"mlx-generated/masked_scatter.cpp",
"mlx-generated/quantized.cpp",
"mlx-generated/quantized_utils.cpp",
"mlx-generated/reduce.cpp",
"mlx-generated/reduce_utils.cpp",
"mlx-generated/scan.cpp",
"mlx-generated/scatter.cpp",
"mlx-generated/scatter_axis.cpp",
"mlx-generated/softmax.cpp",
"mlx-generated/sort.cpp",
"mlx-generated/steel_conv.cpp",
"mlx-generated/steel_conv_general.cpp",
"mlx-generated/steel_gemm_fused.cpp",
"mlx-generated/steel_gemm_gather.cpp",
"mlx-generated/steel_gemm_masked.cpp",
"mlx-generated/steel_gemm_segmented.cpp",
"mlx-generated/steel_gemm_splitk.cpp",
"mlx-generated/ternary.cpp",
"mlx-generated/ternary_ops.cpp",
"mlx-generated/unary.cpp",
"mlx-generated/unary_ops.cpp",
"mlx-generated/utils.cpp",
"mlx/mlx/allocator.cpp",
"mlx/mlx/array.cpp",
"mlx/mlx/backend/common/broadcasting.cpp",
"mlx/mlx/backend/common/common.cpp",
"mlx/mlx/backend/common/compiled.cpp",
"mlx/mlx/backend/common/load.cpp",
"mlx/mlx/backend/common/reduce.cpp",
"mlx/mlx/backend/common/slicing.cpp",
"mlx/mlx/backend/common/utils.cpp",
"mlx/mlx/backend/cpu/arg_reduce.cpp",
"mlx/mlx/backend/cpu/available.cpp",
"mlx/mlx/backend/cpu/binary.cpp",
"mlx/mlx/backend/cpu/cholesky.cpp",
"mlx/mlx/backend/cpu/conv.cpp",
"mlx/mlx/backend/cpu/copy.cpp",
"mlx/mlx/backend/cpu/distributed.cpp",
"mlx/mlx/backend/cpu/eig.cpp",
"mlx/mlx/backend/cpu/eigh.cpp",
"mlx/mlx/backend/cpu/encoder.cpp",
"mlx/mlx/backend/cpu/eval.cpp",
"mlx/mlx/backend/cpu/fft.cpp",
"mlx/mlx/backend/cpu/gemms/bnns.cpp",
"mlx/mlx/backend/cpu/gemms/cblas.cpp",
"mlx/mlx/backend/cpu/hadamard.cpp",
"mlx/mlx/backend/cpu/indexing.cpp",
"mlx/mlx/backend/cpu/inverse.cpp",
"mlx/mlx/backend/cpu/jit_compiler.cpp",
"mlx/mlx/backend/cpu/logsumexp.cpp",
"mlx/mlx/backend/cpu/luf.cpp",
"mlx/mlx/backend/cpu/masked_mm.cpp",
"mlx/mlx/backend/cpu/matmul.cpp",
"mlx/mlx/backend/cpu/primitives.cpp",
"mlx/mlx/backend/cpu/qrf.cpp",
"mlx/mlx/backend/cpu/quantized.cpp",
"mlx/mlx/backend/cpu/reduce.cpp",
"mlx/mlx/backend/cpu/scan.cpp",
"mlx/mlx/backend/cpu/select.cpp",
"mlx/mlx/backend/cpu/softmax.cpp",
"mlx/mlx/backend/cpu/sort.cpp",
"mlx/mlx/backend/cpu/svd.cpp",
"mlx/mlx/backend/cpu/threefry.cpp",
"mlx/mlx/backend/cpu/unary.cpp",
"mlx/mlx/backend/cuda/no_cuda.cpp",
"mlx/mlx/backend/gpu/copy.cpp",
"mlx/mlx/backend/gpu/primitives.cpp",
"mlx/mlx/backend/gpu/slicing.cpp",
"mlx/mlx/backend/metal/allocator.cpp",
"mlx/mlx/backend/metal/binary.cpp",
"mlx/mlx/backend/metal/compiled.cpp",
"mlx/mlx/backend/metal/conv.cpp",
"mlx/mlx/backend/metal/copy.cpp",
"mlx/mlx/backend/metal/custom_kernel.cpp",
"mlx/mlx/backend/metal/device.cpp",
"mlx/mlx/backend/metal/distributed.cpp",
"mlx/mlx/backend/metal/eval.cpp",
"mlx/mlx/backend/metal/event.cpp",
"mlx/mlx/backend/metal/fence.cpp",
"mlx/mlx/backend/metal/fft.cpp",
"mlx/mlx/backend/metal/hadamard.cpp",
"mlx/mlx/backend/metal/indexing.cpp",
"mlx/mlx/backend/metal/jit_kernels.cpp",
"mlx/mlx/backend/metal/logsumexp.cpp",
"mlx/mlx/backend/metal/matmul.cpp",
"mlx/mlx/backend/metal/metal.cpp",
"mlx/mlx/backend/metal/normalization.cpp",
"mlx/mlx/backend/metal/primitives.cpp",
"mlx/mlx/backend/metal/quantized.cpp",
"mlx/mlx/backend/metal/reduce.cpp",
"mlx/mlx/backend/metal/resident.cpp",
"mlx/mlx/backend/metal/rope.cpp",
"mlx/mlx/backend/metal/scaled_dot_product_attention.cpp",
"mlx/mlx/backend/metal/scan.cpp",
"mlx/mlx/backend/metal/slicing.cpp",
"mlx/mlx/backend/metal/softmax.cpp",
"mlx/mlx/backend/metal/sort.cpp",
"mlx/mlx/backend/metal/ternary.cpp",
"mlx/mlx/backend/metal/unary.cpp",
"mlx/mlx/backend/metal/utils.cpp",
"mlx/mlx/compile.cpp",
"mlx/mlx/device.cpp",
"mlx/mlx/distributed/distributed.cpp",
"mlx/mlx/distributed/mpi/no_mpi.cpp",
"mlx/mlx/distributed/nccl/no_nccl.cpp",
"mlx/mlx/distributed/ops.cpp",
"mlx/mlx/distributed/primitives.cpp",
"mlx/mlx/distributed/ring/no_ring.cpp",
"mlx/mlx/dtype.cpp",
"mlx/mlx/dtype_utils.cpp",
"mlx/mlx/einsum.cpp",
"mlx/mlx/export.cpp",
"mlx/mlx/fast.cpp",
"mlx/mlx/fft.cpp",
"mlx/mlx/graph_utils.cpp",
"mlx/mlx/io/load.cpp",
"mlx/mlx/io/no_gguf.cpp",
"mlx/mlx/io/safetensors.cpp",
"mlx/mlx/linalg.cpp",
"mlx/mlx/ops.cpp",
"mlx/mlx/primitives.cpp",
"mlx/mlx/random.cpp",
"mlx/mlx/scheduler.cpp",
"mlx/mlx/transforms.cpp",
"mlx/mlx/utils.cpp",
"mlx/mlx/version.cpp"
],
"type" : "library"
}
],
"tools_version" : "5.12"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/ml-explore/mlx-swift/main
Repository: ml-explore/mlx-swift
Swift version used: 6.2
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.3.0")
Target: MLX
Extracting symbol information for 'MLX'...
Finished extracting symbol information for 'MLX'. (2.64s)
Building documentation for 'MLX'...
warning: 'Double.ulpOfOne' doesn't exist at '/MLX/DType/FInfo/eps'
--> ../DType.swift:127:37-127:52
125 | /// The difference between 1.0 and the next smallest representable float larger than 1.0
126 | ///
127 + /// In Swift this is e.g. ``Double.ulpOfOne``
128 | public var eps: Double {
129 | switch dtype {
warning: 'dequantized(_:scales:biases:groupSize:bits:mode:stream:)' doesn't exist at '/MLX/MLX'
--> Articles/converting-python.md:176:22-176:78
174 | `cumprod` | ``MLX/cumprod(_:axis:reverse:inclusive:stream:)``
175 | `cumsum` | ``MLX/cumsum(_:axis:reverse:inclusive:stream:)``
176 + `dequantize` | ``MLX/dequantized(_:scales:biases:groupSize:bits:mode:stream:)``
177 | `divide` | ``MLX/divide(_:_:stream:)``
178 | `equal` | ``MLX/equal(_:_:stream:)``
warning: 'vmap(_:inAxes:outAxes:)' is ambiguous at '/MLX'
--> Articles/vmap.md:3:32-3:55
1 | # Vectorization
2 |
3 + Automatic vectorization with ``vmap(_:inAxes:outAxes:)``.
| ├─suggestion: Insert '->(MLXArray)->MLXArray' for 'func vmap(_ f: @escaping (MLXArray) -> MLXArray, inAxes: Int? = 0, outAxes: Int? = 0) -> (MLXArray) -> MLXArray'
| ├─suggestion: Insert '->(MLXArray,MLXArray)->MLXArray' for 'func vmap(_ f: @escaping (MLXArray, MLXArray) -> MLXArray, inAxes: (Int?, Int?) = (0, 0), outAxes: Int? = 0) -> (MLXArray, MLXArray) -> MLXArray'
| ╰─suggestion: Insert '->([MLXArray])->[MLXArray]' for 'func vmap(_ f: @escaping ([MLXArray]) -> [MLXArray], inAxes: [Int?] = [0], outAxes: [Int?] = [0]) -> ([MLXArray]) -> [MLXArray]'
4 |
5 | `vmap` transforms a function so that it operates independently over a batch
warning: 'vmap(_:inAxes:outAxes:)' is ambiguous at '/MLX'
--> Articles/vmap.md:44:25-44:48
42 | ## Nested Mapping
43 |
44 + You can nest calls to ``vmap(_:inAxes:outAxes:)`` to map over multiple axes.
| ├─suggestion: Insert '->(MLXArray)->MLXArray' for 'func vmap(_ f: @escaping (MLXArray) -> MLXArray, inAxes: Int? = 0, outAxes: Int? = 0) -> (MLXArray) -> MLXArray'
| ├─suggestion: Insert '->(MLXArray,MLXArray)->MLXArray' for 'func vmap(_ f: @escaping (MLXArray, MLXArray) -> MLXArray, inAxes: (Int?, Int?) = (0, 0), outAxes: Int? = 0) -> (MLXArray, MLXArray) -> MLXArray'
| ╰─suggestion: Insert '->([MLXArray])->[MLXArray]' for 'func vmap(_ f: @escaping ([MLXArray]) -> [MLXArray], inAxes: [Int?] = [0], outAxes: [Int?] = [0]) -> ([MLXArray]) -> [MLXArray]'
45 | Each nested `vmap` introduces another batch dimension in the result.
46 |
warning: 'vmap(_:inAxes:outAxes:)' is ambiguous at '/MLX'
--> Articles/vmap.md:51:5-51:28
49 | ### Functions
50 |
51 + - ``vmap(_:inAxes:outAxes:)``
| ├─suggestion: Insert '->(MLXArray)->MLXArray' for 'func vmap(_ f: @escaping (MLXArray) -> MLXArray, inAxes: Int? = 0, outAxes: Int? = 0) -> (MLXArray) -> MLXArray'
| ├─suggestion: Insert '->(MLXArray,MLXArray)->MLXArray' for 'func vmap(_ f: @escaping (MLXArray, MLXArray) -> MLXArray, inAxes: (Int?, Int?) = (0, 0), outAxes: Int? = 0) -> (MLXArray, MLXArray) -> MLXArray'
| ╰─suggestion: Insert '->([MLXArray])->[MLXArray]' for 'func vmap(_ f: @escaping ([MLXArray]) -> [MLXArray], inAxes: [Int?] = [0], outAxes: [Int?] = [0]) -> ([MLXArray]) -> [MLXArray]'
warning: 'convTransposed1d(_:_:stride:padding:dilation:groups:stream:)' doesn't exist at '/MLX/convolution'
--> Organization/convolution.md:16:5-16:65
14 | - ``convGeneral(_:_:strides:padding:kernelDilation:inputDilation:groups:flip:stream:)-9t1sj``
15 | - ``convGeneral(_:_:strides:padding:kernelDilation:inputDilation:groups:flip:stream:)-6j1nr``
16 + - ``convTransposed1d(_:_:stride:padding:dilation:groups:stream:)``
17 | - ``convTransposed2d(_:_:stride:padding:dilation:groups:stream:)``
18 | - ``convTransposed3d(_:_:stride:padding:dilation:groups:stream:)``
warning: 'convTransposed2d(_:_:stride:padding:dilation:groups:stream:)' doesn't exist at '/MLX/convolution'
--> Organization/convolution.md:17:5-17:65
15 | - ``convGeneral(_:_:strides:padding:kernelDilation:inputDilation:groups:flip:stream:)-6j1nr``
16 | - ``convTransposed1d(_:_:stride:padding:dilation:groups:stream:)``
17 + - ``convTransposed2d(_:_:stride:padding:dilation:groups:stream:)``
18 | - ``convTransposed3d(_:_:stride:padding:dilation:groups:stream:)``
19 | - ``convolve(_:_:mode:stream:)``
warning: 'convTransposed3d(_:_:stride:padding:dilation:groups:stream:)' doesn't exist at '/MLX/convolution'
--> Organization/convolution.md:18:5-18:65
16 | - ``convTransposed1d(_:_:stride:padding:dilation:groups:stream:)``
17 | - ``convTransposed2d(_:_:stride:padding:dilation:groups:stream:)``
18 + - ``convTransposed3d(_:_:stride:padding:dilation:groups:stream:)``
19 | - ``convolve(_:_:mode:stream:)``
warning: 'dequantized(_:scales:biases:groupSize:bits:mode:stream:)' doesn't exist at '/MLX/free-functions'
--> free-functions.md:200:5-200:61
198 | - ``quantized(_:groupSize:bits:mode:stream:)``
199 | - ``quantizedMatmul(_:_:scales:biases:transpose:groupSize:bits:mode:stream:)``
200 + - ``dequantized(_:scales:biases:groupSize:bits:mode:stream:)``
201 |
202 | ### Evaluation and Transformation
warning: Parameter 'dtor' is missing documentation
--> ../ErrorHandler.swift:7:102-7:102
5 | /// - Parameters:
6 | /// - handler: An error handler. Pass nil to reset to the default error handler. Pass
7 + /// ``fatalErrorHandler`` to make the error handler call `fatalError` for improved Xcode debugging.
| ╰─suggestion: Document 'dtor' parameter
8 | @available(*, deprecated, message: "please use withErrorHandler() or withError()")
9 | public func setErrorHandler(
warning: Parameter 'data' is missing documentation
--> ../ErrorHandler.swift:7:102-7:102
5 | /// - Parameters:
6 | /// - handler: An error handler. Pass nil to reset to the default error handler. Pass
7 + /// ``fatalErrorHandler`` to make the error handler call `fatalError` for improved Xcode debugging.
| ╰─suggestion: Document 'data' parameter
8 | @available(*, deprecated, message: "please use withErrorHandler() or withError()")
9 | public func setErrorHandler(
warning: 'peakMemory' doesn't exist at '/MLX/GPU/Snapshot'
--> ../GPU+Metal.swift:198:24-198:34
196 | /// Reset the peak memory to zero.
197 | ///
198 + /// See ``Snapshot/peakMemory``.
199 | public static func resetPeakMemory() {
200 | mlx_reset_peak_memory()
warning: '8zljj' isn't a disambiguation for 'norm(_:ord:axes:keepDims:stream:)' at '/MLX'
--> ../Linalg.swift:509:42-509:48
507 | ///
508 | /// ### See Also
509 + /// - ``norm(_:ord:axes:keepDims:stream:)-8zljj``
| ╰─suggestion: Remove '-8zljj' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
510 | public func norm(
511 | _ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axis: Int, keepDims: Bool = false,
warning: '8zljj' isn't a disambiguation for 'norm(_:ord:axes:keepDims:stream:)' at '/MLX'
--> ../Linalg.swift:529:44-529:50
527 | /// Matrix or vector norm.
528 | ///
529 + /// See ``norm(_:ord:axes:keepDims:stream:)-8zljj``
| ╰─suggestion: Remove '-8zljj' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
530 | public func norm(
531 | _ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axis: IntOrArray? = nil,
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:1804:9-1804:9
1802 | /// - start: first dimension to flatten
1803 | /// - end: last dimension to flatten
1804 + ///
| ╰─suggestion: Document 'stream' parameter
1805 | /// ### See Also
1806 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2504:9-2504:9
2502 | /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
2503 | /// - axis: axis to split along
2504 + ///
| ╰─suggestion: Document 'stream' parameter
2505 | /// ### See Also
2506 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2529:9-2529:9
2527 | /// - Parameters:
2528 | /// - axis: axis to split along
2529 + ///
| ╰─suggestion: Document 'stream' parameter
2530 | /// ### See Also
2531 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2548:9-2548:9
2546 | /// - indices: the indices of the start of each subarray along the given axis
2547 | /// - axis: axis to split along
2548 + ///
| ╰─suggestion: Document 'stream' parameter
2549 | /// ### See Also
2550 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2588:9-2588:9
2586 | /// - Parameters:
2587 | /// - axes: axes to remove
2588 + ///
| ╰─suggestion: Document 'stream' parameter
2589 | /// ### See Also
2590 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2604:9-2604:9
2602 | /// - Parameters:
2603 | /// - axis: axis to remove
2604 + ///
| ╰─suggestion: Document 'stream' parameter
2605 | /// ### See Also
2606 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2760:9-2760:9
2758 | /// - Parameters:
2759 | /// - axes: Specifies the source axis for each axis in the new array
2760 + ///
| ╰─suggestion: Document 'stream' parameter
2761 | /// ### See Also
2762 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2821:9-2821:9
2819 | /// - keepDims: if `true` keep the reduces axes as singleton dimensions
2820 | /// - ddof: the divisor to compute the variance is `N - ddof`
2821 + ///
| ╰─suggestion: Document 'stream' parameter
2822 | /// ### See Also
2823 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2841:9-2841:9
2839 | /// - keepDims: if `true` keep the reduces axis as singleton dimensions
2840 | /// - ddof: the divisor to compute the variance is `N - ddof`
2841 + ///
| ╰─suggestion: Document 'stream' parameter
2842 | /// ### See Also
2843 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2861:9-2861:9
2859 | /// - ddof: the divisor to compute the variance is `N - ddof`
2860 | ///
2861 + ///
| ╰─suggestion: Document 'stream' parameter
2862 | /// ### See Also
2863 | /// - <doc:reduction>
warning: 'subscript(indices:stream:)' doesn't exist at '/MLX/MLXArray/at'
--> ../MLXArray.swift:604:13-604:39
602 | ///
603 | /// ### See Also
604 + /// - ``subscript(indices:stream:)``
605 | /// - ``ArrayAtIndices``
606 | public var at: ArrayAt { ArrayAt(array: self) }
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1492:5-1492:5
1490 | /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
1491 | /// - axis: axis to split along
1492 + ///
| ╰─suggestion: Document 'stream' parameter
1493 | /// ### See Also
1494 | /// - <doc:shapes>
warning: Parameter 'parts' not found in function declaration
--> ../Ops+Array.swift:1519:9-1519:115
1517 | /// - Parameters:
1518 | /// - array: input array
1519 + /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
| ╰─suggestion: Remove 'parts' parameter documentation
1520 | /// - axis: axis to split along
1521 | ///
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1521:5-1521:5
1519 | /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
1520 | /// - axis: axis to split along
1521 + ///
| ╰─suggestion: Document 'stream' parameter
1522 | /// ### See Also
1523 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1543:5-1543:5
1541 | /// - indices: the indices of the start of each subarray along the given axis
1542 | /// - axis: axis to split along
1543 + ///
| ╰─suggestion: Document 'stream' parameter
1544 | /// ### See Also
1545 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1584:5-1584:5
1582 | /// - array: input array
1583 | /// - axes: axes to remove
1584 + ///
| ╰─suggestion: Document 'stream' parameter
1585 | /// ### See Also
1586 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1602:5-1602:5
1600 | /// - array: input array
1601 | /// - axis: axis to remove
1602 + ///
| ╰─suggestion: Document 'stream' parameter
1603 | /// ### See Also
1604 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1767:5-1767:5
1765 | /// - array: input array
1766 | /// - axes: Specifies the source axis for each axis in the new array
1767 + ///
| ╰─suggestion: Document 'stream' parameter
1768 | /// ### See Also
1769 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1834:5-1834:5
1832 | /// - keepDims: if `true` keep the reduces axes as singleton dimensions
1833 | /// - ddof: the divisor to compute the variance is `N - ddof`
1834 + ///
| ╰─suggestion: Document 'stream' parameter
1835 | /// ### See Also
1836 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1856:5-1856:5
1854 | /// - keepDims: if `true` keep the reduces axis as singleton dimensions
1855 | /// - ddof: the divisor to compute the variance is `N - ddof`
1856 + ///
| ╰─suggestion: Document 'stream' parameter
1857 | /// ### See Also
1858 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1877:5-1877:5
1875 | /// - keepDims: if `true` keep the reduces axes as singleton dimensions
1876 | /// - ddof: the divisor to compute the variance is `N - ddof`
1877 + ///
| ╰─suggestion: Document 'stream' parameter
1878 | /// ### See Also
1879 | /// - <doc:reduction>
warning: Parameter 'array' is missing documentation
--> ../Ops+Array.swift:1903:5-1903:5
1901 | /// - dtype: type to change to
| ╰─suggestion: Document 'array' parameter
1902 | /// - stream: stream or device to evaluate on
1903 + ///
1904 | /// ### See Also
1905 | ///- ``MLXArray/view(dtype:stream:)``
warning: Parameter 'strides' is missing documentation
--> ../Ops.swift:358:5-358:5
356 | /// - shape: shape of the resulting array. If not specified it will keep the same shape
357 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'strides' parameter
358 + ///
359 | /// ### See Also
360 | /// - <doc:shapes>
warning: Parameter 'offset' is missing documentation
--> ../Ops.swift:358:5-358:5
356 | /// - shape: shape of the resulting array. If not specified it will keep the same shape
357 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'offset' parameter
358 + ///
359 | /// ### See Also
360 | /// - <doc:shapes>
warning: 'dequantized(_:scales:biases:groupSize:bits:mode:stream:)' doesn't exist at '/MLX/QuantizationMode/affine'
--> ../Ops.swift:1019:13-1019:69
1017 | ///
1018 | /// ### See Also
1019 + /// - ``dequantized(_:scales:biases:groupSize:bits:mode:stream:)``
1020 | /// - ``quantized(_:groupSize:bits:mode:stream:)``
1021 | /// - ``quantizedMatmul(_:_:scales:biases:transpose:groupSize:bits:mode:stream:)``
warning: 'dequantized(_:scales:biases:groupSize:bits:mode:stream:)' doesn't exist at '/MLX/QuantizationMode/mxfp4'
--> ../Ops.swift:1033:13-1033:69
1031 | ///
1032 | /// ### See Also
1033 + /// - ``dequantized(_:scales:biases:groupSize:bits:mode:stream:)``
1034 | /// - ``quantized(_:groupSize:bits:mode:stream:)``
1035 | /// - ``quantizedMatmul(_:_:scales:biases:transpose:groupSize:bits:mode:stream:)``
warning: Parameter 'dtype' is missing documentation
--> ../Ops.swift:1053:5-1053:5
1051 | /// - mode: The quantization mode used. Either `.affine` for standard affine quantization or `.mxfp4` for MXFP4 format. Default is `.affine`
1052 | /// - stream: Stream or device to evaluate on
| ╰─suggestion: Document 'dtype' parameter
1053 + ///
1054 | /// ### See Also
1055 | /// - ``quantized(_:groupSize:bits:mode:stream:)``
warning: Parameter 'stream' is missing documentation
--> ../Ops.swift:1271:5-1271:5
1269 | /// - array: input array
1270 | /// - stream: stream or device to evaluate on
1271 + ///
| ╰─suggestion: Document 'stream' parameter
1272 | /// ### See Also
1273 | /// - <doc:arithmetic>
warning: 'dequantized(_:scales:biases:groupSize:bits:mode:stream:)' doesn't exist at '/MLX/quantized(_:groupSize:bits:mode:stream:)'
--> ../Ops.swift:2185:9-2185:65
2183 | ///
2184 | /// ### See Also
2185 + /// - ``dequantized(_:scales:biases:groupSize:bits:mode:stream:)``
2186 | /// - ``quantizedMatmul(_:_:scales:biases:transpose:groupSize:bits:mode:stream:)``
2187 | public func quantized(
warning: 'dequantized(_:scales:biases:groupSize:bits:mode:stream:)' doesn't exist at '/MLX/quantizedMatmul(_:_:scales:biases:transpose:groupSize:bits:mode:stream:)'
--> ../Ops.swift:2224:9-2224:65
2222 | ///
2223 | /// ### See Also
2224 + /// - ``dequantized(_:scales:biases:groupSize:bits:mode:stream:)``
2225 | /// - ``quantized(_:groupSize:bits:mode:stream:)``
2226 | public func quantizedMatmul(
warning: Parameter 'precise' is missing documentation
--> ../Ops.swift:2404:5-2404:5
2402 | /// - array: input array
2403 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'precise' parameter
2404 + ///
2405 | /// ### See Also
2406 | /// - <doc:arithmetic>
warning: Parameter 'axes' is missing documentation
--> ../Ops.swift:2404:5-2404:5
2402 | /// - array: input array
2403 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'axes' parameter
2404 + ///
2405 | /// ### See Also
2406 | /// - <doc:arithmetic>
warning: Parameter 'axis' is missing documentation
--> ../Ops.swift:2436:5-2436:5
2434 | /// - array: input array
2435 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'axis' parameter
2436 + ///
2437 | /// ### See Also
2438 | /// - <doc:arithmetic>
warning: Parameter 'precise' is missing documentation
--> ../Ops.swift:2436:5-2436:5
2434 | /// - array: input array
2435 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'precise' parameter
2436 + ///
2437 | /// ### See Also
2438 | /// - <doc:arithmetic>
warning: Parameter 'precise' is missing documentation
--> ../Ops.swift:2468:5-2468:5
2466 | /// - array: input array
2467 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'precise' parameter
2468 + ///
2469 | /// ### See Also
2470 | /// - ``softmax(_:axes:precise:stream:)``
warning: Parameter 'start_axis' not found in function declaration
--> ../Ops.swift:2969:11-2969:21
2967 | /// - Parameters:
2968 | /// - a: input array
2969 + /// - start_axis: first dim to flatten
| ╰─suggestion: Replace 'start_axis' with 'startAxis'
2970 | /// - end_axis: last dim to flatten
2971 | /// - stream: stream or device to evaluate on
warning: Parameter 'end_axis' not found in function declaration
--> ../Ops.swift:2970:11-2970:19
2968 | /// - a: input array
2969 | /// - start_axis: first dim to flatten
2970 + /// - end_axis: last dim to flatten
| ╰─suggestion: Replace 'end_axis' with 'endAxis'
2971 | /// - stream: stream or device to evaluate on
2972 | public func flatten(
warning: Parameter 'startAxis' is missing documentation
--> ../Ops.swift:2971:50-2971:50
2969 | /// - start_axis: first dim to flatten
2970 | /// - end_axis: last dim to flatten
2971 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'startAxis' parameter
2972 | public func flatten(
2973 | _ a: MLXArray, startAxis: Int, endAxis: Int = -1, stream: StreamOrDevice = .default
warning: Parameter 'endAxis' is missing documentation
--> ../Ops.swift:2971:50-2971:50
2969 | /// - start_axis: first dim to flatten
2970 | /// - end_axis: last dim to flatten
2971 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'endAxis' parameter
2972 | public func flatten(
2973 | _ a: MLXArray, startAxis: Int, endAxis: Int = -1, stream: StreamOrDevice = .default
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:272:26-272:26
270 | /// - loc: mean of the distribution
271 | /// - scale: standard deviation of the distribution
272 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
273 | public static func normal<T>(
274 | _ shape: [Int] = [], type: T.Type = Float.self, loc: Float = 0, scale: Float = 1,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:307:26-307:26
305 | /// - loc: mean of the distribution
306 | /// - scale: standard deviation of the distribution
307 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
308 | public static func normal(
309 | _ shape: [Int] = [], dtype: DType = .float32, loc: Float = 0, scale: Float = 1,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:337:26-337:26
335 | /// shapes of `mean` and `covariance`.
336 | /// - dtype: DType of the result
337 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
338 | public static func multivariateNormal(
339 | mean: MLXArray, covariance: MLXArray, shape: [Int] = [], dtype: DType = .float32,
warning: Parameter 'key' is missing documentation
--> ../Random.swift:690:70-690:70
688 | ///
689 | /// - Parameters:
690 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'key' parameter
691 | public static func categorical(
692 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'shape' is missing documentation
--> ../Random.swift:690:70-690:70
688 | ///
689 | /// - Parameters:
690 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'shape' parameter
691 | public static func categorical(
692 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:690:70-690:70
688 | ///
689 | /// - Parameters:
690 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'stream' parameter
691 | public static func categorical(
692 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'axis' is missing documentation
--> ../Random.swift:690:70-690:70
688 | ///
689 | /// - Parameters:
690 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'axis' parameter
691 | public static func categorical(
692 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'axis' is missing documentation
--> ../Random.swift:726:70-726:70
724 | ///
725 | /// - Parameters:
726 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'axis' parameter
727 | public static func categorical(
728 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'key' is missing documentation
--> ../Random.swift:726:70-726:70
724 | ///
725 | /// - Parameters:
726 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'key' parameter
727 | public static func categorical(
728 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:726:70-726:70
724 | ///
725 | /// - Parameters:
726 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'stream' parameter
727 | public static func categorical(
728 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'count' is missing documentation
--> ../Random.swift:726:70-726:70
724 | ///
725 | /// - Parameters:
726 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'count' parameter
727 | public static func categorical(
728 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:746:49-746:49
744 | /// - dtype: type of the output
745 | /// - loc: mean of the distribution
746 + /// - scale: scale "b" of the distribution
| ╰─suggestion: Document 'stream' parameter
747 | public static func laplace(
748 | _ shape: [Int] = [], dtype: DType = .float32, loc: Float = 0, scale: Float = 1,
warning: Parameter 'key' is missing documentation
--> ../Random.swift:746:49-746:49
744 | /// - dtype: type of the output
745 | /// - loc: mean of the distribution
746 + /// - scale: scale "b" of the distribution
| ╰─suggestion: Document 'key' parameter
747 | public static func laplace(
748 | _ shape: [Int] = [], dtype: DType = .float32, loc: Float = 0, scale: Float = 1,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:895:22-895:22
893 | /// - loc: mean of the distribution
894 | /// - scale: standard deviation of the distribution
895 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
896 | public func normal<T>(
897 | _ shape: [Int] = [], type: T.Type = Float.self, loc: Float = 0, scale: Float = 1,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:924:22-924:22
922 | /// - loc: mean of the distribution
923 | /// - scale: standard deviation of the distribution
924 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
925 | public func normal(
926 | _ shape: [Int] = [], dtype: DType = .float32, loc: Float = 0, scale: Float = 1,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:948:22-948:22
946 | /// shapes of `mean` and `covariance`.
947 | /// - dtype: DType of the result
948 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
949 | public func multivariateNormal(
950 | mean: MLXArray, covariance: MLXArray, shape: [Int] = [], dtype: DType = .float32,
warning: Parameter 'key' is missing documentation
--> ../Random.swift:1209:66-1209:66
1207 | ///
1208 | /// - Parameters:
1209 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'key' parameter
1210 | public func categorical(
1211 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:1209:66-1209:66
1207 | ///
1208 | /// - Parameters:
1209 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'stream' parameter
1210 | public func categorical(
1211 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'axis' is missing documentation
--> ../Random.swift:1209:66-1209:66
1207 | ///
1208 | /// - Parameters:
1209 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'axis' parameter
1210 | public func categorical(
1211 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'shape' is missing documentation
--> ../Random.swift:1209:66-1209:66
1207 | ///
1208 | /// - Parameters:
1209 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'shape' parameter
1210 | public func categorical(
1211 | _ logits: MLXArray, axis: Int = -1, shape: [Int]? = nil, key: RandomStateOrKey? = nil,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:1232:66-1232:66
1230 | ///
1231 | /// - Parameters:
1232 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'stream' parameter
1233 | public func categorical(
1234 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'count' is missing documentation
--> ../Random.swift:1232:66-1232:66
1230 | ///
1231 | /// - Parameters:
1232 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'count' parameter
1233 | public func categorical(
1234 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'key' is missing documentation
--> ../Random.swift:1232:66-1232:66
1230 | ///
1231 | /// - Parameters:
1232 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'key' parameter
1233 | public func categorical(
1234 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'axis' is missing documentation
--> ../Random.swift:1232:66-1232:66
1230 | ///
1231 | /// - Parameters:
1232 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'axis' parameter
1233 | public func categorical(
1234 | _ logits: MLXArray, axis: Int = -1, count: Int, key: RandomStateOrKey? = nil,
warning: Parameter 'stream' is missing documentation
--> ../Random.swift:1246:45-1246:45
1244 | /// - dtype: type of the output
1245 | /// - loc: mean of the distribution
1246 + /// - scale: scale "b" of the distribution
| ╰─suggestion: Document 'stream' parameter
1247 | public func laplace(
1248 | _ shape: [Int] = [], dtype: DType = .float32, loc: Float = 0, scale: Float = 1,
warning: Parameter 'key' is missing documentation
--> ../Random.swift:1246:45-1246:45
1244 | /// - dtype: type of the output
1245 | /// - loc: mean of the distribution
1246 + /// - scale: scale "b" of the distribution
| ╰─suggestion: Document 'key' parameter
1247 | public func laplace(
1248 | _ shape: [Int] = [], dtype: DType = .float32, loc: Float = 0, scale: Float = 1,
warning: 'withNewDefaultStream(device:_:)' is ambiguous at '/MLX/Stream'
--> ../Stream.swift:128:20-128:51
126 | /// New stream on the given device.
127 | ///
128 + /// See also ``withNewDefaultStream(device:_:)``
| ├─suggestion: Insert '-5bwc3' for 'static func withNewDefaultStream<R>(device: Device? = nil, _ body: () async throws -> R) async rethrows -> R'
| ╰─suggestion: Insert '-7pvrv' for 'static func withNewDefaultStream<R>(device: Device? = nil, _ body: () throws -> R) rethrows -> R'
129 | public init(_ device: Device) {
130 | self.ctx = evalLock.withLock {
Finished building documentation for 'MLX' (0.90s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Fetching https://github.com/apple/swift-docc-plugin
Updating https://github.com/apple/swift-numerics
Updated https://github.com/apple/swift-numerics (0.55s)
[1/2158] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.21s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.65s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (2.09s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3594] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.26s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.92s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.5
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/7] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-49B95AFC49DCD68C.txt
[6/53] Compiling SymbolKit SourceRange.swift
[7/53] Compiling SymbolKit Metadata.swift
[8/53] Compiling SymbolKit Module.swift
[9/53] Compiling SymbolKit OperatingSystem.swift
[10/53] Compiling SymbolKit Platform.swift
[11/57] Compiling SymbolKit Mixin+Equals.swift
[12/57] Compiling SymbolKit Mixin+Hash.swift
[13/57] Compiling SymbolKit Mixin.swift
[14/57] Compiling SymbolKit LineList.swift
[15/57] Compiling SymbolKit Position.swift
[16/57] Compiling SymbolKit SemanticVersion.swift
[17/57] Compiling SymbolKit AccessControl.swift
[18/57] Compiling SymbolKit Availability.swift
[19/57] Compiling SymbolKit AvailabilityItem.swift
[20/57] Compiling SymbolKit Domain.swift
[21/57] Compiling SymbolKit Identifier.swift
[22/57] Compiling SymbolKit KindIdentifier.swift
[23/57] Compiling SymbolKit Location.swift
[24/57] Compiling SymbolKit Mutability.swift
[25/57] Compiling Snippets Snippet.swift
[26/57] Emitting module Snippets
[27/57] Compiling Snippets SnippetParser.swift
[28/57] Emitting module SymbolKit
[29/57] Compiling SymbolKit Symbol.swift
[30/57] Compiling SymbolKit SymbolKind.swift
[31/57] Compiling SymbolKit SymbolGraph.swift
[32/57] Compiling SymbolKit GraphCollector.swift
[33/57] Compiling SymbolKit Names.swift
[34/57] Compiling SymbolKit SPI.swift
[35/57] Compiling SymbolKit Snippet.swift
[36/57] Compiling SymbolKit Extension.swift
[37/57] Compiling SymbolKit Relationship.swift
[38/57] Compiling SymbolKit RelationshipKind.swift
[39/57] Compiling SymbolKit SourceOrigin.swift
[40/57] Compiling SymbolKit GenericConstraints.swift
[41/57] Compiling SymbolKit Swift.swift
[42/57] Compiling SymbolKit GenericConstraint.swift
[43/57] Compiling SymbolKit GenericParameter.swift
[44/57] Compiling SymbolKit Generics.swift
[45/57] Compiling SymbolKit Namespace.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Emitting module snippet_extract
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.94s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLX' complete! (0.63s)
Target: MLXRandom
Extracting symbol information for 'MLXRandom'...
Finished extracting symbol information for 'MLXRandom'. (0.70s)
Building documentation for 'MLXRandom'...
warning: Parameter 'stream' is missing documentation
--> Source/MLXRandom/Random.swift:160:22-160:22
158 | /// - loc: mean of the distribution
159 | /// - scale: standard deviation of the distribution
160 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
161 | @available(*, deprecated, message: "normal is now available in the main MLX module")
162 | @_disfavoredOverload
warning: Parameter 'stream' is missing documentation
--> Source/MLXRandom/Random.swift:191:22-191:22
189 | /// - loc: mean of the distribution
190 | /// - scale: standard deviation of the distribution
191 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
192 | @available(*, deprecated, message: "normal is now available in the main MLX module")
193 | @_disfavoredOverload
warning: Parameter 'stream' is missing documentation
--> Source/MLXRandom/Random.swift:217:22-217:22
215 | /// shapes of `mean` and `covariance`.
216 | /// - dtype: DType of the result
217 + /// - key: PRNG key
| ╰─suggestion: Document 'stream' parameter
218 | @available(*, deprecated, message: "multivariateNormal is now available in the main MLX module")
219 | @_disfavoredOverload
warning: Parameter 'key' is missing documentation
--> Source/MLXRandom/Random.swift:498:66-498:66
496 | ///
497 | /// - Parameters:
498 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'key' parameter
499 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
500 | @_disfavoredOverload
warning: Parameter 'shape' is missing documentation
--> Source/MLXRandom/Random.swift:498:66-498:66
496 | ///
497 | /// - Parameters:
498 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'shape' parameter
499 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
500 | @_disfavoredOverload
warning: Parameter 'stream' is missing documentation
--> Source/MLXRandom/Random.swift:498:66-498:66
496 | ///
497 | /// - Parameters:
498 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'stream' parameter
499 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
500 | @_disfavoredOverload
warning: Parameter 'axis' is missing documentation
--> Source/MLXRandom/Random.swift:498:66-498:66
496 | ///
497 | /// - Parameters:
498 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'axis' parameter
499 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
500 | @_disfavoredOverload
warning: Parameter 'axis' is missing documentation
--> Source/MLXRandom/Random.swift:523:66-523:66
521 | ///
522 | /// - Parameters:
523 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'axis' parameter
524 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
525 | @_disfavoredOverload
warning: Parameter 'key' is missing documentation
--> Source/MLXRandom/Random.swift:523:66-523:66
521 | ///
522 | /// - Parameters:
523 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'key' parameter
524 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
525 | @_disfavoredOverload
warning: Parameter 'count' is missing documentation
--> Source/MLXRandom/Random.swift:523:66-523:66
521 | ///
522 | /// - Parameters:
523 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'count' parameter
524 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
525 | @_disfavoredOverload
warning: Parameter 'stream' is missing documentation
--> Source/MLXRandom/Random.swift:523:66-523:66
521 | ///
522 | /// - Parameters:
523 + /// - logits: The *unnormalized* categorical distribution(s).
| ╰─suggestion: Document 'stream' parameter
524 | @available(*, deprecated, message: "categorical is now available in the main MLX module")
525 | @_disfavoredOverload
warning: Parameter 'stream' is missing documentation
--> Source/MLXRandom/Random.swift:539:45-539:45
537 | /// - dtype: type of the output
538 | /// - loc: mean of the distribution
539 + /// - scale: scale "b" of the distribution
| ╰─suggestion: Document 'stream' parameter
540 | @available(*, deprecated, message: "laplace is now available in the main MLX module")
541 | @_disfavoredOverload
warning: Parameter 'key' is missing documentation
--> Source/MLXRandom/Random.swift:539:45-539:45
537 | /// - dtype: type of the output
538 | /// - loc: mean of the distribution
539 + /// - scale: scale "b" of the distribution
| ╰─suggestion: Document 'key' parameter
540 | @available(*, deprecated, message: "laplace is now available in the main MLX module")
541 | @_disfavoredOverload
Finished building documentation for 'MLXRandom' (0.07s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.52s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXRandom' complete! (0.61s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/linkable-paths.json
Target: MLXNN
Extracting symbol information for 'MLXNN'...
Finished extracting symbol information for 'MLXNN'. (0.74s)
Building documentation for 'MLXNN'...
warning: 'update(parameters:verify:)' doesn't exist at '/MLXNN/Module'
--> Module.md:13:12-13:38
11 | - ``Module/trainableParameters()``
12 | - ``Module/update(parameters:)``
13 + - ``Module/update(parameters:verify:)``
| ├─suggestion: Replace 'update(parameters:verify:)' with 'update(parameters:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(parameters:verify:)' with 'update(parameters:)'
14 |
15 | ### Layers (sub-modules)
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> Module.md:23:12-23:35
21 | - ``Module/namedModules()``
22 | - ``Module/update(modules:)``
23 + - ``Module/update(modules:verify:)``
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
24 | - ``Module/visit(modules:)``
25 |
warning: 'update(parameters:verify:)' doesn't exist at '/MLXNN/Module'
--> custom-layers.md:89:23-89:49
87 | MLX modules allow accessing and updating individual parameters. However, most
88 | times we need to update large subsets of a module's parameters. This action is
89 + performed by ``Module/update(parameters:verify:)``.
| ├─suggestion: Replace 'update(parameters:verify:)' with 'update(parameters:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(parameters:verify:)' with 'update(parameters:)'
90 |
91 | See also <doc:training>.
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> custom-layers.md:143:38-143:61
141 |
142 | - both property wrappers allow replacement keys to be specified
143 + - the ``ModuleInfo`` allows ``Module/update(modules:verify:)`` to replace the module
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
144 |
145 | Replacement keys are important because many times models and weights are defined
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> custom-layers.md:199:71-199:94
197 | ```
198 |
199 + The `ModuleInfo` provides a hook for ``QuantizedLinear`` and ``Module/update(modules:verify:)`` to
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
200 | replace the contents of `w1`, etc. with a new compatible `Model` after it is created.
201 |
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> ../Linear.swift:34:77-34:100
32 | /// ## Using In A Module
33 | ///
34 + /// > Use `@ModuleInfo` with all your `Linear` module uses so that ``Module/update(modules:verify:)`` can
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
35 | /// replace the modules, e.g. via ``QuantizedLinear/quantize(model:groupSize:bits:predicate:)``.
36 | ///
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> ../Module.swift:82:39-82:62
80 | /// > Please read <doc:custom-layers> for more information about implementing custom layers
81 | /// including how to override the module and parameter keys and allowing dynamic updates of the
82 + /// module structure to occur via ``update(modules:verify:)``.
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
83 | ///
84 | /// ### Training
warning: 'update(parameters:verify:)' doesn't exist at '/MLXNN/Module/VerifyUpdate'
--> ../Module.swift:377:33-377:59
375 | }
376 |
377 + /// Options for verifying ``update(parameters:verify:)`` and ``update(modules:verify:)``.
| ╰─suggestion: Replace 'update(parameters:verify:)' with 'update(with:)'
378 | public struct VerifyUpdate: OptionSet, Sendable {
379 | public init(rawValue: Int) {
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module/VerifyUpdate'
--> ../Module.swift:377:68-377:91
375 | }
376 |
377 + /// Options for verifying ``update(parameters:verify:)`` and ``update(modules:verify:)``.
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(with:)'
378 | public struct VerifyUpdate: OptionSet, Sendable {
379 | public init(rawValue: Int) {
warning: 'update(parameters:verify:)' doesn't exist at '/MLXNN/Module/update(parameters:)'
--> ../Module.swift:396:37-396:63
394 | }
395 |
396 + /// A non-throwing version of ``update(parameters:verify:)``.
397 | ///
398 | /// This passes `verify: .none`. Note that there may still be `fatalErrors()` if
warning: Parameter 'modulePath' is missing documentation
--> ../Module.swift:428:9-428:9
426 | /// or ``mapParameters(map:isLeaf:)`` provides
427 | /// - verify: options for verifying parameters
428 + ///
| ╰─suggestion: Document 'modulePath' parameter
429 | /// ### See Also
430 | /// - <doc:custom-layers>
warning: Parameter 'path' is missing documentation
--> ../Module.swift:428:9-428:9
426 | /// or ``mapParameters(map:isLeaf:)`` provides
427 | /// - verify: options for verifying parameters
428 + ///
| ╰─suggestion: Document 'path' parameter
429 | /// ### See Also
430 | /// - <doc:custom-layers>
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module/update(parameters:verify:path:modulePath:)'
--> ../Module.swift:435:13-435:36
433 | /// - ``parameters()``
434 | /// - ``mapParameters(map:isLeaf:)``
435 + /// - ``update(modules:verify:)``
436 | @discardableResult
437 | open func update(
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module/update(modules:)'
--> ../Module.swift:564:37-564:60
562 | }
563 |
564 + /// A non-throwing version of ``update(modules:verify:)``.
565 | ///
566 | /// This passes `verify: .none`. Note that there may still be `fatalErrors()` if
warning: Parameter 'modulePath' is missing documentation
--> ../Module.swift:607:9-607:9
605 | /// - modules: replacement modules in the same format as ``children()`` or ``leafModules()``
606 | /// - verify: options for verifying parameters
607 + ///
| ╰─suggestion: Document 'modulePath' parameter
608 | /// ### See Also
609 | /// - <doc:custom-layers>
warning: Parameter 'path' is missing documentation
--> ../Module.swift:607:9-607:9
605 | /// - modules: replacement modules in the same format as ``children()`` or ``leafModules()``
606 | /// - verify: options for verifying parameters
607 + ///
| ╰─suggestion: Document 'path' parameter
608 | /// ### See Also
609 | /// - <doc:custom-layers>
warning: 'update(parameters:verify:)' doesn't exist at '/MLXNN/Module/update(modules:verify:path:modulePath:)'
--> ../Module.swift:611:13-611:39
609 | /// - <doc:custom-layers>
610 | /// - ``update(modules:)``
611 + /// - ``update(parameters:verify:)``
612 | /// - ``children()``
613 | /// - ``leafModules()``
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> ../Module.swift:1427:31-1427:54
1425 |
1426 | /// ModuleInfo can provde information about child modules and act as an
1427 + /// update point for ``Module/update(modules:verify:)``.
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
1428 | ///
1429 | /// The keys for modules and parameters are usually named after their instance variables,
warning: 'update(modules:verify:)' doesn't exist at '/MLXNN/Module'
--> ../Module.swift:1476:75-1476:98
1474 | /// ```
1475 | ///
1476 + /// The `ModuleInfo` provides a hook for ``QuantizedLinear`` and ``Module/update(modules:verify:)`` /// to
| ├─suggestion: Replace 'update(modules:verify:)' with 'update(modules:verify:path:modulePath:)'
| ╰─suggestion: Replace 'update(modules:verify:)' with 'update(modules:)'
1477 | /// replace the contents of `w1`, etc. with a new compatible `Model` after it is created.
1478 | ///
warning: Parameter 'mode' is missing documentation
--> ../Quantized.swift:53:125-53:125
51 | /// - bits: bits per parameter
52 | /// - filter: filter receiving path and module -- return `false` to skip a layer
| ╰─suggestion: Document 'mode' parameter
53 + /// - apply: function to attempt the quantization -- the default implementation will quantize ``Linear`` and ``Embedding``
54 | /// ### See Also
55 | /// - ``quantize(model:filter:apply:)``
warning: 'quantize(model:filter:apply:)' is ambiguous at '/MLXNN'
--> ../Quantized.swift:55:9-55:38
53 | /// - apply: function to attempt the quantization -- the default implementation will quantize ``Linear`` and ``Embedding``
54 | /// ### See Also
55 + /// - ``quantize(model:filter:apply:)``
| ├─suggestion: Insert '-(_,_,(Module,Int,Int)->Module?)' for 'func quantize(model: Module, filter: (String, Module) -> (groupSize: Int, bits: Int)?, apply: (Module, Int, Int) -> Module? = { quantizeSingle(layer: $0, groupSize: $1, bits: $2, mode: .affine) })'
| ╰─suggestion: Insert '-(_,_,(Module,Int,Int,QuantizationMode)->Module?)' for 'func quantize(model: Module, filter: (String, Module) -> (groupSize: Int, bits: Int, mode: QuantizationMode)?, apply: (Module, Int, Int, QuantizationMode) -> Module? = quantizeSingle( layer:groupSize:bits:mode:))'
56 | public func quantize(
57 | model: Module,
warning: 'init(weight:bias:groupSize:bits:)' doesn't exist at '/MLXNN/QuantizedLinear'
--> ../Quantized.swift:236:9-236:42
234 | ///
235 | /// ### See Also
236 + /// - ``init(weight:bias:groupSize:bits:)``
| ├─suggestion: Replace 'init(weight:bias:groupSize:bits:)' with 'init(weight:bias:groupSize:bits:mode:)'
| ╰─suggestion: Replace 'init(weight:bias:groupSize:bits:)' with 'init(weight:bias:scales:biases:groupSize:bits:mode:)'
237 | open class QuantizedLinear: Linear, Quantized {
238 |
warning: Parameter 'mode' is missing documentation
--> ../Quantized.swift:260:64-260:64
258 | /// - bias: if `true` this layer will apply a bias
259 | /// - groupSize: The group size to use for the quantized weight
260 + /// - bits: The bit width to use for the quantized weight
| ╰─suggestion: Document 'mode' parameter
261 | public convenience init(
262 | _ inputDimensions: Int, _ outputDimensions: Int,
warning: Parameter 'mode' is missing documentation
--> ../Quantized.swift:280:64-280:64
278 | /// - other: a `Linear` layer
279 | /// - groupSize: The group size to use for the quantized weight
280 + /// - bits: The bit width to use for the quantized weight
| ╰─suggestion: Document 'mode' parameter
281 | public convenience init(
282 | _ other: Linear, groupSize: Int = 64, bits: Int = 4,
Finished building documentation for 'MLXNN' (0.40s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.51s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXNN' complete! (0.62s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/linkable-paths.json
Target: MLXOptimizers
Extracting symbol information for 'MLXOptimizers'...
Finished extracting symbol information for 'MLXOptimizers'. (0.67s)
Building documentation for 'MLXOptimizers'...
Finished building documentation for 'MLXOptimizers' (0.09s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.51s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXOptimizers' complete! (0.59s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/linkable-paths.json
Target: MLXFFT
Extracting symbol information for 'MLXFFT'...
Finished extracting symbol information for 'MLXFFT'. (0.69s)
Building documentation for 'MLXFFT'...
warning: Parameter 'n' not found in function declaration
--> Source/MLXFFT/FFT.swift:207:7-208:83
205 | /// - Parameters:
206 | /// - array: input array
207 + /// - n: size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to
| ╰─suggestion: Remove 'n' parameter documentation
208 + /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
209 | /// - axis: axis along which to perform the FFT
210 | /// - stream: stream or device to evaluate on
warning: Parameter 'axis' not found in function declaration
--> Source/MLXFFT/FFT.swift:209:7-209:50
207 | /// - n: size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to
208 | /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
209 + /// - axis: axis along which to perform the FFT
| ╰─suggestion: Remove 'axis' parameter documentation
210 | /// - stream: stream or device to evaluate on
211 | /// - Returns: inverse of ``rfft2(_:s:axes:stream:)``
warning: Parameter 'axes' is missing documentation
--> Source/MLXFFT/FFT.swift:210:48-210:48
208 | /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
209 | /// - axis: axis along which to perform the FFT
210 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'axes' parameter
211 | /// - Returns: inverse of ``rfft2(_:s:axes:stream:)``
212 | ///
warning: Parameter 's' is missing documentation
--> Source/MLXFFT/FFT.swift:210:48-210:48
208 | /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
209 | /// - axis: axis along which to perform the FFT
210 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 's' parameter
211 | /// - Returns: inverse of ``rfft2(_:s:axes:stream:)``
212 | ///
warning: Parameter 'n' not found in function declaration
--> Source/MLXFFT/FFT.swift:256:7-257:83
254 | /// - Parameters:
255 | /// - array: input array
256 + /// - n: size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to
| ╰─suggestion: Remove 'n' parameter documentation
257 + /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
258 | /// - axis: axis along which to perform the FFT
259 | /// - stream: stream or device to evaluate on
warning: Parameter 'axis' not found in function declaration
--> Source/MLXFFT/FFT.swift:258:7-258:50
256 | /// - n: size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to
257 | /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
258 + /// - axis: axis along which to perform the FFT
| ╰─suggestion: Remove 'axis' parameter documentation
259 | /// - stream: stream or device to evaluate on
260 | /// - Returns: inverse of ``rfftn(_:s:axes:stream:)``
warning: Parameter 'axes' is missing documentation
--> Source/MLXFFT/FFT.swift:259:48-259:48
257 | /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
258 | /// - axis: axis along which to perform the FFT
259 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'axes' parameter
260 | /// - Returns: inverse of ``rfftn(_:s:axes:stream:)``
261 | ///
warning: Parameter 's' is missing documentation
--> Source/MLXFFT/FFT.swift:259:48-259:48
257 | /// match `n / 2 + 1`. If not specified `array.dim(axis) / 2 + 1` will be used.
258 | /// - axis: axis along which to perform the FFT
259 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 's' parameter
260 | /// - Returns: inverse of ``rfftn(_:s:axes:stream:)``
261 | ///
Finished building documentation for 'MLXFFT' (0.06s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.52s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXFFT' complete! (0.60s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/linkable-paths.json
Target: MLXLinalg
Extracting symbol information for 'MLXLinalg'...
Finished extracting symbol information for 'MLXLinalg'. (0.71s)
Building documentation for 'MLXLinalg'...
warning: '4dwwp' isn't a disambiguation for 'norm(_:ord:axes:keepDims:stream:)' at '/MLXLinalg'
--> Source/MLXLinalg/Linalg.swift:103:42-103:48
101 | ///
102 | /// ### See Also
103 + /// - ``norm(_:ord:axes:keepDims:stream:)-4dwwp``
| ├─suggestion: Replace '4dwwp' with '(_,Double,_,_,_)' for 'func norm(_ array: MLXArray, ord: Double, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
| ╰─suggestion: Replace '4dwwp' with '(_,MLXLinalg.NormKind?,_,_,_)' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
104 | @available(*, deprecated, message: "norm is now available in the main MLX module")
105 | @_disfavoredOverload
warning: '4dwwp' isn't a disambiguation for 'norm(_:ord:axes:keepDims:stream:)' at '/MLXLinalg'
--> Source/MLXLinalg/Linalg.swift:115:44-115:50
113 | /// Matrix or vector norm.
114 | ///
115 + /// See ``norm(_:ord:axes:keepDims:stream:)-4dwwp``
| ├─suggestion: Replace '4dwwp' with '(_,Double,_,_,_)' for 'func norm(_ array: MLXArray, ord: Double, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
| ╰─suggestion: Replace '4dwwp' with '(_,MLXLinalg.NormKind?,_,_,_)' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
116 | @available(*, deprecated, message: "norm is now available in the main MLX module")
117 | @_disfavoredOverload
warning: 'norm(_:ord:axes:keepDims:stream:)' is ambiguous at '/MLXLinalg'
--> Source/MLXLinalg/Linalg.swift:127:11-127:44
125 | /// Matrix or vector norm.
126 | ///
127 + /// See ``norm(_:ord:axes:keepDims:stream:)``
| ├─suggestion: Insert '-(_,Double,_,_,_)' for 'func norm(_ array: MLXArray, ord: Double, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
| ╰─suggestion: Insert '-(_,MLXLinalg.NormKind?,_,_,_)' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
128 | @available(*, deprecated, message: "norm is now available in the main MLX module")
129 | @_disfavoredOverload
warning: '4dwwp' isn't a disambiguation for 'norm(_:ord:axes:keepDims:stream:)' at '/MLXLinalg'
--> Source/MLXLinalg/Linalg.swift:139:44-139:50
137 | /// Matrix or vector norm.
138 | ///
139 + /// See ``norm(_:ord:axes:keepDims:stream:)-4dwwp``
| ├─suggestion: Replace '4dwwp' with '(_,Double,_,_,_)' for 'func norm(_ array: MLXArray, ord: Double, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
| ╰─suggestion: Replace '4dwwp' with '(_,MLXLinalg.NormKind?,_,_,_)' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
140 | @available(*, deprecated, message: "norm is now available in the main MLX module")
141 | @_disfavoredOverload
warning: 'norm(_:ord:axes:keepDims:stream:)' is ambiguous at '/MLXLinalg'
--> Source/MLXLinalg/Linalg.swift:151:11-151:44
149 | /// Matrix or vector norm.
150 | ///
151 + /// See ``norm(_:ord:axes:keepDims:stream:)``
| ├─suggestion: Insert '-(_,Double,_,_,_)' for 'func norm(_ array: MLXArray, ord: Double, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
| ╰─suggestion: Insert '-(_,MLXLinalg.NormKind?,_,_,_)' for 'func norm(_ array: MLXArray, ord: MLXLinalg.NormKind? = nil, axes: [Int], keepDims: Bool = false, stream: StreamOrDevice = .default) -> MLXArray'
152 | @available(*, deprecated, message: "norm is now available in the main MLX module")
153 | @_disfavoredOverload
warning: 'A' doesn't exist at '/MLXLinalg/lu(_:stream:)'
--> Source/MLXLinalg/Linalg.swift:289:56-289:57
287 | }
288 |
289 + /// Compute the LU factorization of the given matrix ``A``.
290 | ///
291 | /// Note, unlike the default behavior of ``scipy.linalg.lu``, the pivots
warning: 'scipy.linalg.lu' doesn't exist at '/MLXLinalg/lu(_:stream:)'
--> Source/MLXLinalg/Linalg.swift:291:44-291:59
289 | /// Compute the LU factorization of the given matrix ``A``.
290 | ///
291 + /// Note, unlike the default behavior of ``scipy.linalg.lu``, the pivots
292 | /// are indices. To reconstruct the input use ``L[P] @ U`` for 2
293 | /// dimensions or ``takeAlong(L, P[.ellipsis, .newAxis], axis: -2) @ U``
warning: 'L[P] @ U' doesn't exist at '/MLXLinalg/lu(_:stream:)'
--> Source/MLXLinalg/Linalg.swift:292:49-292:57
290 | ///
291 | /// Note, unlike the default behavior of ``scipy.linalg.lu``, the pivots
292 + /// are indices. To reconstruct the input use ``L[P] @ U`` for 2
293 | /// dimensions or ``takeAlong(L, P[.ellipsis, .newAxis], axis: -2) @ U``
294 | /// for more than 2 dimensions.
warning: 'takeAlong(L, P[.ellipsis, .newAxis], axis: -2) @ U' doesn't exist at '/MLXLinalg/lu(_:stream:)'
--> Source/MLXLinalg/Linalg.swift:293:21-293:71
291 | /// Note, unlike the default behavior of ``scipy.linalg.lu``, the pivots
292 | /// are indices. To reconstruct the input use ``L[P] @ U`` for 2
293 + /// dimensions or ``takeAlong(L, P[.ellipsis, .newAxis], axis: -2) @ U``
294 | /// for more than 2 dimensions.
295 | ///
Finished building documentation for 'MLXLinalg' (0.06s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.53s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXLinalg' complete! (0.61s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/linkable-paths.json
Target: MLXFast
Extracting symbol information for 'MLXFast'...
Finished extracting symbol information for 'MLXFast'. (0.69s)
Building documentation for 'MLXFast'...
warning: 'metalKernel(name:inputNames:outputNames:source:header:ensureRowContiguous:atomicOutputs:template:grid:threadGroup:outputShapes:outputDTypes:initValue:verbose:)' doesn't exist at '/MLXFast/MLXFastKernel'
--> Source/MLXFast/MLXFastKernel.swift:7:7-7:166
5 |
6 | /// Container for a kernel created by
7 + /// ``metalKernel(name:inputNames:outputNames:source:header:ensureRowContiguous:atomicOutputs:template:grid:threadGroup:outputShapes:outputDTypes:initValue:verbose:)``
8 | ///
9 | /// The ``MLXFast/MLXFastKernel`` can be used to evaluate the kernel with inputs:
Finished building documentation for 'MLXFast' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.53s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXFast' complete! (0.60s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/main/linkable-paths.json
3818
31 /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/ml-explore/mlx-swift/main
File count: 3818
Doc size: 31.0MB
Preparing doc bundle ...
Uploading prod-ml-explore-mlx-swift-main-db368d70.zip to s3://spi-docs-inbox/prod-ml-explore-mlx-swift-main-db368d70.zip
Copying... [11%]
Copying... [20%]
Copying... [31%]
Copying... [40%]
Copying... [51%]
Copying... [60%]
Copying... [71%]
Copying... [80%]
Copying... [91%]
Copying... [100%]
Done.