Build Information
Successful build of mlx-swift, reference 0.29.1 (072b68), with Swift 6.2 for macOS (SPM) on 16 Oct 2025 19:56:48 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: 0.29.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ml-explore/mlx-swift
* tag 0.29.1 -> FETCH_HEAD
HEAD is now at 072b684 adopt mlx 0.29.1 and related mlx-c (#273)
Submodule path 'Source/Cmlx/mlx': checked out 'ee18e1cbf0ab7937578d716cc1b62b3fb1725e27'
Submodule path 'Source/Cmlx/mlx-c': checked out 'd5b8715b8e540ea69a955b2d3812e67ccad4c79e'
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 @):
072b684acaae80b6a463abab3a103732f33774bf
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift.git at 0.29.1
Fetching https://github.com/apple/swift-numerics
[1/6371] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (2.68s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (3.28s)
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/11425] Fetching mlx-swift
Fetched https://github.com/ml-explore/mlx-swift.git from cache (1.56s)
Fetching https://github.com/apple/swift-numerics from cache
Fetched https://github.com/apple/swift-numerics from cache (0.55s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (0.61s)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
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 0.29.1 (072b684)
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/187] Compiling error.cpp
[1/187] Write swift-version-49B95AFC49DCD68C.txt
[2/187] Compiling _NumericsShims _NumericsShims.c
[2/187] Write sources
[2/187] Write Tutorial-entitlement.plist
[2/187] Write sources
[12/187] Compiling format.cc
[12/187] Write sources
[12/187] Write Example1-entitlement.plist
[17/187] Write sources
[18/187] Compiling version.cpp
[19/198] Compiling compile.cpp
[20/198] Compiling transforms_impl.cpp
[21/198] Compiling export.cpp
[22/198] Compiling device.cpp
[23/198] Compiling transforms.cpp
[24/198] Compiling vector.cpp
[25/198] Compiling closure.cpp
[27/198] Compiling RealModule RealFunctions.swift
[28/199] Compiling RealModule Real.swift
[29/199] Compiling RealModule Float80+Real.swift
[30/199] Compiling RealModule Float16+Real.swift
[31/199] Compiling RealModule RelaxedArithmetic.swift
[32/199] Compiling RealModule ElementaryFunctions.swift
[33/199] Compiling RealModule Float+Real.swift
[34/199] Compiling RealModule AugmentedArithmetic.swift
[35/199] Emitting module RealModule
[36/199] Compiling RealModule AlgebraicField.swift
[37/199] Compiling RealModule ApproximateEquality.swift
[38/199] Compiling RealModule Double+Real.swift
[38/199] Compiling array.cpp
[39/199] Compiling utils.cpp
[40/210] Compiling scheduler.cpp
[42/210] Compiling ComplexModule Polar.swift
[43/211] Compiling ComplexModule Complex+StringConvertible.swift
[44/211] Compiling ComplexModule Complex+Numeric.swift
[45/211] Compiling ComplexModule Complex+IntegerLiteral.swift
[46/211] Compiling ComplexModule Complex+Hashable.swift
[47/211] Compiling ComplexModule Complex.swift
[48/211] Compiling ComplexModule Scale.swift
[49/211] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[50/211] Compiling ComplexModule Complex+AlgebraicField.swift
[51/211] Compiling ComplexModule Complex+Codable.swift
[52/211] Compiling ComplexModule Complex+ElementaryFunctions.swift
[53/211] Emitting module ComplexModule
[53/211] Compiling no_gguf.cpp
[55/213] Compiling Numerics Numerics.swift
[56/213] Emitting module Numerics
[56/213] Compiling random.cpp
[57/213] Compiling linalg.cpp
[58/213] Compiling load.cpp
[59/213] Compiling graph_utils.cpp
[60/213] Compiling fft.cpp
[61/213] Compiling primitives.cpp
[62/213] Compiling transforms.cpp
[63/213] Compiling dtype.cpp
[64/213] Compiling dtype_utils.cpp
[65/213] Compiling einsum.cpp
[66/213] Compiling no_ring.cpp
[67/213] Compiling device.cpp
[68/213] Compiling safetensors.cpp
[69/213] Compiling fast.cpp
[70/213] Compiling no_nccl.cpp
[71/213] Compiling no_mpi.cpp
[72/213] Compiling primitives.cpp
[73/213] Compiling ops.cpp
[74/213] Compiling distributed.cpp
[75/213] Compiling ops.cpp
[76/213] Compiling utils.cpp
[77/213] Compiling unary.cpp
[78/213] Compiling ternary.cpp
[79/213] Compiling compile.cpp
[80/213] Compiling sort.cpp
[81/213] Compiling softmax.cpp
[82/213] Compiling slicing.cpp
[83/213] Compiling scan.cpp
[84/213] Compiling scaled_dot_product_attention.cpp
[85/213] Compiling resident.cpp
[86/213] Compiling rope.cpp
[87/213] Compiling reduce.cpp
[88/213] Compiling primitives.cpp
[89/213] Compiling normalization.cpp
[90/213] Compiling metal.cpp
[91/213] Compiling quantized.cpp
[92/213] Compiling logsumexp.cpp
[93/213] Compiling matmul.cpp
[94/213] Compiling export.cpp
[95/213] Compiling jit_kernels.cpp
[96/213] Compiling event.cpp
[97/213] Compiling fence.cpp
[98/213] Compiling indexing.cpp
[99/213] Compiling hadamard.cpp
[100/213] Compiling eval.cpp
[101/213] Compiling distributed.cpp
[102/213] Compiling slicing.cpp
[103/213] Compiling fft.cpp
[104/213] Compiling device.cpp
[105/213] Compiling allocator.cpp
[106/213] Compiling primitives.cpp
[107/213] Compiling copy.cpp
[108/213] Compiling threefry.cpp
[109/213] Compiling binary.cpp
[110/213] Compiling custom_kernel.cpp
[111/213] Compiling compiled.cpp
[112/213] Compiling conv.cpp
[113/213] Compiling no_cuda.cpp
[114/213] Compiling copy.cpp
[115/213] Compiling select.cpp
[116/213] Compiling softmax.cpp
[117/213] Compiling scan.cpp
[118/213] Compiling quantized.cpp
[119/213] Compiling primitives.cpp
[120/213] Compiling svd.cpp
[120/213] Compiling qrf.cpp
[122/213] Compiling sort.cpp
[123/213] Compiling matmul.cpp
[124/213] Compiling jit_compiler.cpp
[125/213] Compiling unary.cpp
[126/213] Compiling logsumexp.cpp
[127/213] Compiling masked_mm.cpp
[128/213] Compiling hadamard.cpp
[129/213] Compiling luf.cpp
[130/213] Compiling cblas.cpp
[131/213] Compiling inverse.cpp
[132/213] Compiling encoder.cpp
[133/213] Compiling bnns.cpp
[134/213] Compiling eval.cpp
[135/213] Compiling fft.cpp
[136/213] Compiling available.cpp
[137/213] Compiling reduce.cpp
[138/213] Compiling distributed.cpp
[139/213] Compiling indexing.cpp
[140/213] Compiling eig.cpp
[141/213] Compiling eigh.cpp
[142/213] Compiling utils.cpp
[143/213] Compiling slicing.cpp
[144/213] Compiling arg_reduce.cpp
[145/213] Compiling reduce.cpp
[146/213] Compiling cholesky.cpp
[147/213] Compiling utils.cpp
[148/213] Compiling unary_ops.cpp
[149/213] Compiling unary.cpp
[150/213] Compiling ternary_ops.cpp
[151/213] Compiling ternary.cpp
[152/213] Compiling steel_gemm_splitk.cpp
[153/213] Compiling steel_gemm_segmented.cpp
[154/213] Compiling steel_gemm_masked.cpp
[155/213] Compiling steel_gemm_gather.cpp
[156/213] Compiling steel_gemm_fused.cpp
[157/213] Compiling broadcasting.cpp
[158/213] Compiling steel_conv_general.cpp
[159/213] Compiling steel_conv.cpp
[160/213] Compiling sort.cpp
[161/213] Compiling softmax.cpp
[162/213] Compiling scatter_axis.cpp
[163/213] Compiling scatter.cpp
[164/213] Compiling scan.cpp
[165/213] Compiling load.cpp
[166/213] Compiling quantized_utils.cpp
[167/213] Compiling reduce.cpp
[167/213] Compiling reduce_utils.cpp
[169/213] Compiling compiled.cpp
[170/213] Compiling quantized.cpp
[171/213] Compiling logsumexp.cpp
[171/213] Compiling hadamard.cpp
[173/213] Compiling gemv_masked.cpp
[174/213] Compiling allocator.cpp
[175/213] Compiling gather_front.cpp
[175/213] Compiling gather_axis.cpp
[177/213] Compiling gemm.cpp
[178/213] Compiling gather.cpp
[179/213] Compiling fp4_quantized.cpp
[180/213] Compiling copy.cpp
[181/213] Compiling fft.cpp
[182/213] Compiling conv.cpp
[183/213] Compiling binary_two.cpp
[184/213] Compiling compiled_preamble.cpp
[185/213] Compiling binary_ops.cpp
[185/213] Compiling binary.cpp
[187/213] Compiling arange.cpp
[188/213] Compiling common.cpp
[189/213] Compiling conv.cpp
[190/213] Compiling copy.cpp
[191/213] Compiling array.cpp
[192/213] Compiling string.cpp
[193/213] Compiling version.cpp
[194/213] Compiling stream.cpp
[195/213] Compiling random.cpp
[196/213] Compiling metal.cpp
[197/213] Compiling ops.cpp
[198/213] Compiling memory.cpp
[199/213] Compiling compiled_conditional.cpp
[200/213] Compiling map.cpp
[201/213] Compiling io_types.cpp
[202/213] Compiling linalg.cpp
[203/213] Compiling io.cpp
[204/213] Compiling fft.cpp
[205/213] Compiling fast.cpp
[206/213] Compiling binary.cpp
[208/244] Emitting module MLX
[209/247] Compiling MLX Transforms+Internal.swift
[210/247] Compiling MLX Transforms+Vmap.swift
[211/247] Compiling MLX Transforms.swift
[212/247] Compiling MLX MLXFastKernel.swift
[213/247] Compiling MLX Nested.swift
[214/247] Compiling MLX Ops+Array.swift
[215/247] Compiling MLX Random.swift
[216/247] Compiling MLX State.swift
[217/247] Compiling MLX Stream.swift
[218/247] Compiling MLX ErrorHandler.swift
[219/247] Compiling MLX Export.swift
[220/247] Compiling MLX FFT.swift
[221/247] Compiling MLX Factory.swift
[222/247] Compiling MLX ArrayAt.swift
[223/247] Compiling MLX Cmlx+Util.swift
[224/247] Compiling MLX DType.swift
[225/247] Compiling MLX Device.swift
[226/247] Compiling MLX Transforms+Compile.swift
[227/247] Compiling MLX Transforms+Eval.swift
[228/247] Compiling MLX Transforms+Grad.swift
[229/247] 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/247] 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/247] 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
[232/247] Compiling MLX Ops.swift
[233/247] Compiling MLX ParameterTypes.swift
[234/247] Compiling MLX Protocols.swift
[235/247] Compiling MLX Foundation+Util.swift
[236/247] Compiling MLX GPU.swift
[237/247] Compiling MLX IO.swift
[238/247] Compiling MLX Linalg.swift
[239/247] Compiling MLX MLXArray+Bytes.swift
[240/247] Compiling MLX MLXArray+Indexing.swift
[241/247] Compiling MLX MLXArray+Init.swift
[242/260] Compiling MLXLinalg Linalg.swift
[243/260] Emitting module MLXLinalg
[244/260] Emitting module Example1
[245/260] Compiling Example1 Example1.swift
[245/260] Write Objects.LinkFileList
[247/260] Compiling MLXFFT FFT.swift
[248/260] Emitting module MLXFFT
[249/260] Compiling MLXFast MLXFastKernel.swift
[250/260] Compiling MLXFast MLXFast.swift
[251/260] Emitting module MLXFast
[252/260] Emitting module MLXRandom
[253/260] Compiling MLXRandom Random.swift
[254/260] Compiling Tutorial Tutorial.swift
[255/260] Emitting module Tutorial
[255/260] Write Objects.LinkFileList
[257/278] Compiling MLXNN Upsample.swift
[258/279] Compiling MLXNN PositionalEncoding.swift
[259/279] Compiling MLXNN Quantized.swift
[260/279] Compiling MLXNN Normalization.swift
[261/279] Compiling MLXNN Pooling.swift
[262/279] Compiling MLXNN Recurrent.swift
[263/279] Compiling MLXNN Transformer.swift
[264/279] Compiling MLXNN ValueAndGrad.swift
[265/279] Compiling MLXNN Embedding.swift
[266/279] Compiling MLXNN Linear.swift
[267/279] Compiling MLXNN ConvolutionTransposed.swift
[268/279] Compiling MLXNN Dropout.swift
[269/279] Compiling MLXNN Activations.swift
[270/279] Compiling MLXNN Cache.swift
[271/279] Compiling MLXNN Losses.swift
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:465:42: warning: immutable value 'p' was never used; consider replacing with '_' or removing it [#no-usage]
463 | p._updateInternal(newArray)
464 |
465 | case (.value(.parameters(let p)), .none):
| `- warning: immutable value 'p' was never used; consider replacing with '_' or removing it [#no-usage]
466 | if Self.parameterIsValid(key) {
467 | throw UpdateError.keyNotFound(path: path, modules: modulePath)
/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 | }
[272/279] Compiling MLXNN Module.swift
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:465:42: warning: immutable value 'p' was never used; consider replacing with '_' or removing it [#no-usage]
463 | p._updateInternal(newArray)
464 |
465 | case (.value(.parameters(let p)), .none):
| `- warning: immutable value 'p' was never used; consider replacing with '_' or removing it [#no-usage]
466 | if Self.parameterIsValid(key) {
467 | throw UpdateError.keyNotFound(path: path, modules: modulePath)
/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 | }
[273/279] Compiling MLXNN Containers.swift
[274/279] Compiling MLXNN Convolution.swift
[275/279] Emitting module MLXNN
[276/281] Emitting module MLXOptimizers
[277/281] Compiling MLXOptimizers Optimizers.swift
[277/281] Linking Example1
[278/281] Linking Tutorial
[279/281] Applying Example1
[280/281] Applying Tutorial
Build complete! (31.91s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Source/Examples/Example1.swift
warning: 'spi-builder-workspace': found 1 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
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" : "13.3"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "tvos",
"version" : "16.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
}
}
],
"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",
"GPUTests.swift",
"IntegrationTests.swift",
"LinalgTests.swift",
"LossTests.swift",
"MLXArray+IndexingTests.swift",
"MLXArray+InitTests.swift",
"MLXArray+OpsTests.swift",
"MLXArrayTests.swift",
"MLXFastKernelTests.swift",
"MLXRandomTests.swift",
"ModuleTests.swift",
"NestedTests.swift",
"OpsTests.swift",
"OptimizerTests.swift",
"PoolingTests.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"
],
"sources" : [
"ArrayAt.swift",
"Cmlx+Util.swift",
"DType.swift",
"Device.swift",
"ErrorHandler.swift",
"Export.swift",
"FFT.swift",
"Factory.swift",
"Foundation+Util.swift",
"GPU.swift",
"IO.swift",
"Linalg.swift",
"MLXArray+Bytes.swift",
"MLXArray+Indexing.swift",
"MLXArray+Init.swift",
"MLXArray+Ops.swift",
"MLXArray.swift",
"MLXFast.swift",
"MLXFastKernel.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" : "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"
],
"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/fp4_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/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.10"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/ml-explore/mlx-swift/0.29.1
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.54s)
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: '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: 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: '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:1790:9-1790:9
1788 | /// - start: first dimension to flatten
1789 | /// - end: last dimension to flatten
1790 + ///
| ╰─suggestion: Document 'stream' parameter
1791 | /// ### See Also
1792 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2490:9-2490:9
2488 | /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
2489 | /// - axis: axis to split along
2490 + ///
| ╰─suggestion: Document 'stream' parameter
2491 | /// ### See Also
2492 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2515:9-2515:9
2513 | /// - Parameters:
2514 | /// - axis: axis to split along
2515 + ///
| ╰─suggestion: Document 'stream' parameter
2516 | /// ### See Also
2517 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2534:9-2534:9
2532 | /// - indices: the indices of the start of each subarray along the given axis
2533 | /// - axis: axis to split along
2534 + ///
| ╰─suggestion: Document 'stream' parameter
2535 | /// ### See Also
2536 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2574:9-2574:9
2572 | /// - Parameters:
2573 | /// - axes: axes to remove
2574 + ///
| ╰─suggestion: Document 'stream' parameter
2575 | /// ### See Also
2576 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2590:9-2590:9
2588 | /// - Parameters:
2589 | /// - axis: axis to remove
2590 + ///
| ╰─suggestion: Document 'stream' parameter
2591 | /// ### See Also
2592 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2746:9-2746:9
2744 | /// - Parameters:
2745 | /// - axes: Specifies the source axis for each axis in the new array
2746 + ///
| ╰─suggestion: Document 'stream' parameter
2747 | /// ### See Also
2748 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2807:9-2807:9
2805 | /// - keepDims: if `true` keep the reduces axes as singleton dimensions
2806 | /// - ddof: the divisor to compute the variance is `N - ddof`
2807 + ///
| ╰─suggestion: Document 'stream' parameter
2808 | /// ### See Also
2809 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2827:9-2827:9
2825 | /// - keepDims: if `true` keep the reduces axis as singleton dimensions
2826 | /// - ddof: the divisor to compute the variance is `N - ddof`
2827 + ///
| ╰─suggestion: Document 'stream' parameter
2828 | /// ### See Also
2829 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../MLXArray+Ops.swift:2847:9-2847:9
2845 | /// - ddof: the divisor to compute the variance is `N - ddof`
2846 | ///
2847 + ///
| ╰─suggestion: Document 'stream' parameter
2848 | /// ### See Also
2849 | /// - <doc:reduction>
warning: 'subscript(indices:stream:)' doesn't exist at '/MLX/MLXArray/at'
--> ../MLXArray.swift:605:13-605:39
603 | ///
604 | /// ### See Also
605 + /// - ``subscript(indices:stream:)``
606 | /// - ``ArrayAtIndices``
607 | public var at: ArrayAt { ArrayAt(array: self) }
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1480:5-1480:5
1478 | /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
1479 | /// - axis: axis to split along
1480 + ///
| ╰─suggestion: Document 'stream' parameter
1481 | /// ### See Also
1482 | /// - <doc:shapes>
warning: Parameter 'parts' not found in function declaration
--> ../Ops+Array.swift:1507:9-1507:115
1505 | /// - Parameters:
1506 | /// - array: input array
1507 + /// - 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
1508 | /// - axis: axis to split along
1509 | ///
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1509:5-1509:5
1507 | /// - parts: array is split into that many sections of equal size. It is a fatal error if this is not possible
1508 | /// - axis: axis to split along
1509 + ///
| ╰─suggestion: Document 'stream' parameter
1510 | /// ### See Also
1511 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1531:5-1531:5
1529 | /// - indices: the indices of the start of each subarray along the given axis
1530 | /// - axis: axis to split along
1531 + ///
| ╰─suggestion: Document 'stream' parameter
1532 | /// ### See Also
1533 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1572:5-1572:5
1570 | /// - array: input array
1571 | /// - axes: axes to remove
1572 + ///
| ╰─suggestion: Document 'stream' parameter
1573 | /// ### See Also
1574 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1590:5-1590:5
1588 | /// - array: input array
1589 | /// - axis: axis to remove
1590 + ///
| ╰─suggestion: Document 'stream' parameter
1591 | /// ### See Also
1592 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1755:5-1755:5
1753 | /// - array: input array
1754 | /// - axes: Specifies the source axis for each axis in the new array
1755 + ///
| ╰─suggestion: Document 'stream' parameter
1756 | /// ### See Also
1757 | /// - <doc:shapes>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1822:5-1822:5
1820 | /// - keepDims: if `true` keep the reduces axes as singleton dimensions
1821 | /// - ddof: the divisor to compute the variance is `N - ddof`
1822 + ///
| ╰─suggestion: Document 'stream' parameter
1823 | /// ### See Also
1824 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1844:5-1844:5
1842 | /// - keepDims: if `true` keep the reduces axis as singleton dimensions
1843 | /// - ddof: the divisor to compute the variance is `N - ddof`
1844 + ///
| ╰─suggestion: Document 'stream' parameter
1845 | /// ### See Also
1846 | /// - <doc:reduction>
warning: Parameter 'stream' is missing documentation
--> ../Ops+Array.swift:1865:5-1865:5
1863 | /// - keepDims: if `true` keep the reduces axes as singleton dimensions
1864 | /// - ddof: the divisor to compute the variance is `N - ddof`
1865 + ///
| ╰─suggestion: Document 'stream' parameter
1866 | /// ### See Also
1867 | /// - <doc:reduction>
warning: Parameter 'array' is missing documentation
--> ../Ops+Array.swift:1891:5-1891:5
1889 | /// - dtype: type to change to
| ╰─suggestion: Document 'array' parameter
1890 | /// - stream: stream or device to evaluate on
1891 + ///
1892 | /// ### See Also
1893 | ///- ``MLXArray/view(dtype:stream:)``
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: 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 'stream' is missing documentation
--> ../Ops.swift:1266:5-1266:5
1264 | /// - array: input array
1265 | /// - stream: stream or device to evaluate on
1266 + ///
| ╰─suggestion: Document 'stream' parameter
1267 | /// ### See Also
1268 | /// - <doc:arithmetic>
warning: Parameter 'precise' is missing documentation
--> ../Ops.swift:2332:5-2332:5
2330 | /// - array: input array
2331 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'precise' parameter
2332 + ///
2333 | /// ### See Also
2334 | /// - <doc:arithmetic>
warning: Parameter 'axes' is missing documentation
--> ../Ops.swift:2332:5-2332:5
2330 | /// - array: input array
2331 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'axes' parameter
2332 + ///
2333 | /// ### See Also
2334 | /// - <doc:arithmetic>
warning: Parameter 'precise' is missing documentation
--> ../Ops.swift:2364:5-2364:5
2362 | /// - array: input array
2363 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'precise' parameter
2364 + ///
2365 | /// ### See Also
2366 | /// - <doc:arithmetic>
warning: Parameter 'axis' is missing documentation
--> ../Ops.swift:2364:5-2364:5
2362 | /// - array: input array
2363 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'axis' parameter
2364 + ///
2365 | /// ### See Also
2366 | /// - <doc:arithmetic>
warning: Parameter 'precise' is missing documentation
--> ../Ops.swift:2396:5-2396:5
2394 | /// - array: input array
2395 | /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'precise' parameter
2396 + ///
2397 | /// ### See Also
2398 | /// - ``softmax(_:axes:precise:stream:)``
warning: Parameter 'start_axis' not found in function declaration
--> ../Ops.swift:2897:11-2897:21
2895 | /// - Parameters:
2896 | /// - a: input array
2897 + /// - start_axis: first dim to flatten
| ╰─suggestion: Replace 'start_axis' with 'startAxis'
2898 | /// - end_axis: last dim to flatten
2899 | /// - stream: stream or device to evaluate on
warning: Parameter 'end_axis' not found in function declaration
--> ../Ops.swift:2898:11-2898:19
2896 | /// - a: input array
2897 | /// - start_axis: first dim to flatten
2898 + /// - end_axis: last dim to flatten
| ╰─suggestion: Replace 'end_axis' with 'endAxis'
2899 | /// - stream: stream or device to evaluate on
2900 | public func flatten(
warning: Parameter 'endAxis' is missing documentation
--> ../Ops.swift:2899:50-2899:50
2897 | /// - start_axis: first dim to flatten
2898 | /// - end_axis: last dim to flatten
2899 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'endAxis' parameter
2900 | public func flatten(
2901 | _ a: MLXArray, startAxis: Int, endAxis: Int = -1, stream: StreamOrDevice = .default
warning: Parameter 'startAxis' is missing documentation
--> ../Ops.swift:2899:50-2899:50
2897 | /// - start_axis: first dim to flatten
2898 | /// - end_axis: last dim to flatten
2899 + /// - stream: stream or device to evaluate on
| ╰─suggestion: Document 'startAxis' parameter
2900 | public func flatten(
2901 | _ 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 '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 '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 '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 '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 '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 '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: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 '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 '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 '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 '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 '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 '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 '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 '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 '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.86s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/0.29.1
Fetching https://github.com/apple/swift-docc-plugin
Updating https://github.com/apple/swift-numerics
Updated https://github.com/apple/swift-numerics (0.48s)
[1/2133] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.26s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.79s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (2.03s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3553] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.21s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.93s)
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
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
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 Mixin+Equals.swift
[7/53] Compiling SymbolKit Mixin+Hash.swift
[8/53] Compiling SymbolKit Mixin.swift
[9/53] Compiling SymbolKit LineList.swift
[10/53] Compiling SymbolKit Position.swift
[11/57] Emitting module SymbolKit
[12/57] Compiling SymbolKit Names.swift
[13/57] Compiling SymbolKit SPI.swift
[14/57] Compiling SymbolKit Snippet.swift
[15/57] Compiling SymbolKit Extension.swift
[16/57] Compiling Snippets SnippetParser.swift
[17/57] Emitting module Snippets
[18/57] Compiling Snippets Snippet.swift
[19/57] Compiling SymbolKit GenericConstraint.swift
[20/57] Compiling SymbolKit GenericParameter.swift
[21/57] Compiling SymbolKit Generics.swift
[22/57] Compiling SymbolKit Namespace.swift
[23/57] Compiling SymbolKit SemanticVersion.swift
[24/57] Compiling SymbolKit AccessControl.swift
[25/57] Compiling SymbolKit Availability.swift
[26/57] Compiling SymbolKit AvailabilityItem.swift
[27/57] Compiling SymbolKit Domain.swift
[28/57] Compiling SymbolKit SourceRange.swift
[29/57] Compiling SymbolKit Metadata.swift
[30/57] Compiling SymbolKit Module.swift
[31/57] Compiling SymbolKit OperatingSystem.swift
[32/57] Compiling SymbolKit Platform.swift
[33/57] Compiling SymbolKit Identifier.swift
[34/57] Compiling SymbolKit KindIdentifier.swift
[35/57] Compiling SymbolKit Location.swift
[36/57] Compiling SymbolKit Mutability.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 DeclarationFragments.swift
[43/57] Compiling SymbolKit Fragment.swift
[44/57] Compiling SymbolKit FragmentKind.swift
[45/57] Compiling SymbolKit FunctionParameter.swift
[46/57] Compiling SymbolKit FunctionSignature.swift
[47/57] Compiling SymbolKit Symbol.swift
[48/57] Compiling SymbolKit SymbolKind.swift
[49/57] Compiling SymbolKit SymbolGraph.swift
[50/57] Compiling SymbolKit GraphCollector.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 SymbolGraph+Snippet.swift
[56/61] Compiling snippet_extract URL+Status.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.76s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLX' complete! (0.59s)
Target: MLXRandom
Extracting symbol information for 'MLXRandom'...
Finished extracting symbol information for 'MLXRandom'. (0.69s)
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 '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 '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 '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 '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 '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 '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
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
Finished building documentation for 'MLXRandom' (0.07s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/0.29.1
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: 'MLXRandom' complete! (0.59s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/linkable-paths.json
Target: MLXNN
Extracting symbol information for 'MLXNN'...
Finished extracting symbol information for 'MLXNN'. (0.70s)
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 '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: 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: '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:231:9-231:42
229 | ///
230 | /// ### See Also
231 + /// - ``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:)'
232 | open class QuantizedLinear: Linear, Quantized {
233 |
warning: Parameter 'mode' is missing documentation
--> ../Quantized.swift:255:64-255:64
253 | /// - bias: if `true` this layer will apply a bias
254 | /// - groupSize: The group size to use for the quantized weight
255 + /// - bits: The bit width to use for the quantized weight
| ╰─suggestion: Document 'mode' parameter
256 | public convenience init(
257 | _ inputDimensions: Int, _ outputDimensions: Int,
warning: Parameter 'mode' is missing documentation
--> ../Quantized.swift:275:64-275:64
273 | /// - other: a `Linear` layer
274 | /// - groupSize: The group size to use for the quantized weight
275 + /// - bits: The bit width to use for the quantized weight
| ╰─suggestion: Document 'mode' parameter
276 | public convenience init(
277 | _ 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/0.29.1
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.58s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/linkable-paths.json
Target: MLXOptimizers
Extracting symbol information for 'MLXOptimizers'...
Finished extracting symbol information for 'MLXOptimizers'. (0.65s)
Building documentation for 'MLXOptimizers'...
Finished building documentation for 'MLXOptimizers' (0.08s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/0.29.1
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.49s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXOptimizers' complete! (0.56s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/linkable-paths.json
Target: MLXFFT
Extracting symbol information for 'MLXFFT'...
Finished extracting symbol information for 'MLXFFT'. (0.64s)
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 '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 | ///
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 | ///
Finished building documentation for 'MLXFFT' (0.06s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/0.29.1
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.49s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXFFT' complete! (0.56s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/linkable-paths.json
Target: MLXLinalg
Extracting symbol information for 'MLXLinalg'...
Finished extracting symbol information for 'MLXLinalg'. (0.64s)
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/0.29.1
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.48s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXLinalg' complete! (0.56s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/linkable-paths.json
Target: MLXFast
Extracting symbol information for 'MLXFast'...
Finished extracting symbol information for 'MLXFast'. (0.64s)
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/0.29.1
Building for debugging...
[0/3] Write swift-version-49B95AFC49DCD68C.txt
Build of product 'snippet-extract' complete! (0.48s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'MLXFast' complete! (0.55s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/ml-explore/mlx-swift/0.29.1/linkable-paths.json
3726
31 /Users/admin/builder/spi-builder-workspace/.docs/ml-explore/mlx-swift/0.29.1
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/ml-explore/mlx-swift/0.29.1
File count: 3726
Doc size: 31.0MB
Preparing doc bundle ...
Uploading prod-ml-explore-mlx-swift-0.29.1-21630b19.zip to s3://spi-docs-inbox/prod-ml-explore-mlx-swift-0.29.1-21630b19.zip
Copying... [11%]
Copying... [20%]
Copying... [30%]
Copying... [41%]
Copying... [51%]
Copying... [60%]
Copying... [71%]
Copying... [81%]
Copying... [90%]
Copying... [100%]
Done.