Build Information
Successful build of mlx-swift, reference main (5f117a), with Swift 6.3 for macOS (SPM) on 1 Nov 2026 16:03:38 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.4
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 5f117a2 fix callers of mlx_vector_array_values to handle potentially empty results (#518)
Submodule path 'Source/Cmlx/mlx': checked out '36969c094354086e15d2a327a9c50feb20b9cf11'
Submodule path 'Source/Cmlx/mlx-c': checked out 'a26f2d584a14ec619ae8db9a09be03becd47598a'
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 @):
5f117a2e7ee1ce92f8dcc1520bc07535c43846f9
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ml-explore/mlx-swift.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/ml-explore/mlx-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/231] Write swift-version-69A768CDF2A0BEE1.txt
[1/231] Compiling _NumericsShims _NumericsShims.c
[2/231] Write sources
[3/231] Write Tutorial-entitlement.plist
[4/231] Write sources
[7/242] Compiling RealModule RealFunctions.swift
[8/243] Compiling RealModule Real.swift
[9/243] Compiling RealModule Float80+Real.swift
[10/243] Compiling RealModule Float16+Real.swift
[11/243] Compiling RealModule Float+Real.swift
[12/243] Compiling RealModule ElementaryFunctions.swift
[13/243] Compiling RealModule AugmentedArithmetic.swift
[14/243] Compiling RealModule AlgebraicField.swift
[15/243] Compiling RealModule ApproximateEquality.swift
[16/243] Emitting module RealModule
[17/243] Compiling RealModule Double+Real.swift
[18/243] Compiling RealModule RelaxedArithmetic.swift
[18/243] Write sources
[26/243] Write Example1-entitlement.plist
[27/243] Write sources
[28/243] Write CustomFunctionExampleSimple-entitlement.plist
[29/243] Write sources
[30/243] Write CustomFunctionExample-entitlement.plist
[31/243] Write sources
[34/254] Compiling ComplexModule Polar.swift
[35/255] Compiling ComplexModule Complex+StringConvertible.swift
[36/255] Compiling ComplexModule Complex.swift
[37/255] Compiling ComplexModule Complex+IntegerLiteral.swift
[38/255] Compiling ComplexModule Complex+Numeric.swift
[39/255] Compiling ComplexModule Scale.swift
[40/255] Compiling ComplexModule Complex+Hashable.swift
[41/255] Compiling ComplexModule Complex+Codable.swift
[42/255] Emitting module ComplexModule
[43/255] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[44/255] Compiling ComplexModule Complex+AlgebraicField.swift
[45/255] Compiling ComplexModule Complex+ElementaryFunctions.swift
[45/255] Compiling error.cpp
[46/255] Write CompileLockRepro-entitlement.plist
[47/255] Compiling version.cpp
[49/257] Compiling Numerics Numerics.swift
[50/257] Emitting module Numerics
[50/257] Compiling distributed.cpp
[51/257] Compiling distributed_group.cpp
[52/257] Compiling export.cpp
[52/257] Compiling fft.cpp
[52/257] Compiling graph_utils.cpp
[55/257] Compiling io.cpp
[56/257] Compiling fast.cpp
[57/257] Compiling utils.cpp
[58/257] Compiling io_types.cpp
[59/257] Compiling memory.cpp
[60/257] Compiling stream.cpp
[61/257] Compiling scheduler.cpp
[62/257] Compiling no_gguf.cpp
[63/257] Compiling transforms.cpp
[64/257] Compiling random.cpp
[64/257] Compiling linalg.cpp
[66/257] Compiling graph_utils.cpp
[67/257] Compiling load.cpp
[68/257] Compiling dtype_utils.cpp
[69/257] Compiling fft.cpp
[70/257] Compiling primitives.cpp
[71/257] Compiling safetensors.cpp
[72/257] Compiling dtype.cpp
[73/257] Compiling fast.cpp
[74/257] Compiling einsum.cpp
[75/257] Compiling utils.cpp
[76/257] Compiling no_nccl.cpp
[77/257] Compiling primitives.cpp
[78/257] Compiling device.cpp
[79/257] Compiling ops.cpp
[80/257] Compiling no_mpi.cpp
[81/257] Compiling ops.cpp
[82/257] Compiling distributed.cpp
[83/257] Compiling compile.cpp
[84/257] Compiling utils.cpp
[85/257] Compiling unary.cpp
[86/257] Compiling ternary.cpp
[87/257] Compiling softmax.cpp
[88/257] Compiling sort.cpp
[89/257] Compiling slicing.cpp
[90/257] Compiling scan.cpp
[91/257] Compiling export.cpp
[92/257] Compiling resident.cpp
[93/257] Compiling ring.cpp
[94/257] Compiling rope.cpp
[95/257] Compiling reduce.cpp
[96/257] Compiling metal.cpp
[97/257] Compiling scaled_dot_product_attention.cpp
[98/257] Compiling primitives.cpp
[99/257] Compiling normalization.cpp
[100/257] Compiling quantized.cpp
[101/257] Compiling logsumexp.cpp
[102/257] Compiling fence.cpp
[103/257] Compiling event.cpp
[104/257] Compiling jit_kernels.cpp
[105/257] Compiling hadamard.cpp
[106/257] Compiling indexing.cpp
[107/257] Compiling gated_delta_update.cpp
[108/257] Compiling matmul.cpp
[109/257] Compiling eval.cpp
[110/257] Compiling fft.cpp
[111/257] Compiling device_info.cpp
[112/257] Compiling distributed.cpp
[113/257] Compiling copy.cpp
[114/257] Compiling cross_entropy.cpp
[115/257] Compiling custom_kernel.cpp
[116/257] Compiling binary.cpp
[117/257] Compiling slicing.cpp
[118/257] Compiling compiled.cpp
[119/257] Compiling threefry.cpp
[120/257] Compiling conv.cpp
[121/257] Compiling device.cpp
[122/257] Compiling primitives.cpp
[123/257] Compiling allocator.cpp
[124/257] Compiling no_cuda.cpp
[125/257] Compiling copy.cpp
[126/257] Compiling softmax.cpp
[127/257] Compiling select.cpp
[128/257] Compiling scan.cpp
[129/257] Compiling quantized.cpp
[130/257] Compiling primitives.cpp
[131/257] Compiling svd.cpp
[132/257] Compiling sort.cpp
[133/257] Compiling qrf.cpp
[134/257] Compiling unary.cpp
[135/257] Compiling reduce.cpp
[136/257] Compiling matmul.cpp
[137/257] Compiling masked_mm.cpp
[138/257] Compiling hadamard.cpp
[139/257] Compiling logsumexp.cpp
[140/257] Compiling luf.cpp
[141/257] Compiling cblas.cpp
[142/257] Compiling bnns.cpp
[143/257] Compiling inverse.cpp
[144/257] Compiling eval.cpp
[145/257] Compiling encoder.cpp
[146/257] Compiling device_info.cpp
[147/257] Compiling fft.cpp
[148/257] Compiling distributed.cpp
[149/257] Compiling utils.cpp
[150/257] Compiling eig.cpp
[151/257] Compiling eigh.cpp
[152/257] Compiling arg_reduce.cpp
[153/257] Compiling indexing.cpp
[154/257] Compiling slicing.cpp
[155/257] Compiling cholesky.cpp
[156/257] Compiling conv.cpp
[157/257] Compiling utils.cpp
[158/257] Compiling unary_ops.cpp
[159/257] Compiling reduce.cpp
[160/257] Compiling unary.cpp
[161/257] Compiling ternary.cpp
[162/257] Compiling ternary_ops.cpp
[163/257] Compiling steel_gemm_thin_nax.cpp
[164/257] Compiling steel_gemm_splitk_nax.cpp
[165/257] Compiling steel_gemm_segmented_nax.cpp
[166/257] Compiling steel_gemm_splitk.cpp
[167/257] Compiling steel_gemm_masked.cpp
[168/257] Compiling steel_gemm_segmented.cpp
[169/257] Compiling steel_gemm_gather.cpp
[169/257] Compiling steel_gemm_gather_nax.cpp
[171/257] Compiling steel_gemm_fused.cpp
[172/257] Compiling steel_gemm_fused_nax.cpp
[173/257] Compiling steel_conv_general.cpp
[173/257] Compiling steel_conv_3d.cpp
[175/257] Compiling steel_attention_nax.cpp
[176/257] Compiling steel_conv.cpp
[177/257] Compiling load.cpp
[178/257] Compiling steel_attention.cpp
[179/257] Compiling sort.cpp
[180/257] Compiling softmax.cpp
[181/257] Compiling copy.cpp
[182/257] Compiling searchsorted.cpp
[182/257] Compiling scatter_axis.cpp
[184/257] Compiling scatter.cpp
[185/257] Compiling scan.cpp
[186/257] Compiling reduce.cpp
[186/257] Compiling reduce_utils.cpp
[188/257] Compiling quantized_utils.cpp
[189/257] Compiling quantized_nax.cpp
[190/257] Compiling masked_scatter.cpp
[191/257] Compiling quantized.cpp
[192/257] Compiling logsumexp.cpp
[193/257] Compiling hadamard.cpp
[194/257] Compiling gemv_masked.cpp
[195/257] Compiling gemv.cpp
[196/257] Compiling gemm_nax.cpp
[197/257] Compiling gemm.cpp
[198/257] Compiling gather_front.cpp
[199/257] Compiling gather_axis.cpp
[200/257] Compiling gather.cpp
[201/257] Compiling gated_delta_update_nax_vjp.cpp
[202/257] Compiling fp_quantized_nax.cpp
[203/257] Compiling gated_delta_update_nax.cpp
[204/257] Compiling broadcasting.cpp
[205/257] Compiling fp_quantized.cpp
[206/257] Compiling fft.cpp
[207/257] Compiling compiled.cpp
[208/257] Compiling copy.cpp
[209/257] Compiling cross_entropy.cpp
[210/257] Compiling conv.cpp
[211/257] Compiling compiled_preamble.cpp
[212/257] Compiling binary_two.cpp
[213/257] Compiling binary_ops.cpp
[214/257] Compiling arange.cpp
[215/257] Compiling binary.cpp
[216/257] Compiling metal_kernel.cpp
[217/257] Compiling common.cpp
[218/257] Compiling array.cpp
[219/257] Compiling jit_compiler_conditional.cpp
[220/257] Compiling version.cpp
[221/257] Compiling transforms_impl.cpp
[222/257] Compiling transforms.cpp
[223/257] Compiling string.cpp
[224/257] Compiling vector.cpp
[225/257] Compiling compiled_conditional.cpp
[226/257] Compiling stream.cpp
[227/257] Compiling metal.cpp
[228/257] Compiling random.cpp
[229/257] Compiling memory.cpp
[230/257] Compiling map.cpp
[231/257] Compiling linalg.cpp
[232/257] Compiling ops.cpp
[233/257] Compiling device.cpp
[234/257] Compiling cuda.cpp
[235/257] Compiling format.cc
[236/257] Compiling binary.cpp
[237/257] Compiling compile.cpp
[238/257] Compiling closure.cpp
[239/257] Compiling Cmlx.m
[240/257] Compiling array.cpp
[241/257] Compiling jaccl_conditional.cpp
[243/300] Compiling MLX Protocols.swift
[244/300] Compiling MLX Random.swift
[245/300] Compiling MLX State.swift
[246/300] Compiling MLX Stream.swift
[247/304] Emitting module MLX
[248/304] Compiling MLX NestedArrayElement.swift
[249/304] Compiling MLX Ops+Array.swift
[250/304] Compiling MLX Ops.swift
[251/304] Compiling MLX ParameterTypes.swift
[252/304] Compiling MLX Transforms+Compile.swift
[253/304] Compiling MLX Transforms+CompileOverloads.swift
[254/304] Compiling MLX Transforms+Eval.swift
[255/304] Compiling MLX Transforms+Grad.swift
[256/304] Compiling MLX MLXArray+Normalizer.swift
/Users/admin/builder/spi-builder-workspace/Source/MLX/MLXArray+maskFill.swift:9:19: warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
7 | /// `dtype`, so masked positions vanish under softmax — no `asType` to forget.
8 | public static func maskFill(for dtype: DType) -> MLXArray {
9 | guard let info = dtype.finfo else {
| `- warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
10 | fatalError("maskFill requires a floating-point dtype, got \(dtype)")
11 | }
[257/304] Compiling MLX MLXArray+Ops.swift
/Users/admin/builder/spi-builder-workspace/Source/MLX/MLXArray+maskFill.swift:9:19: warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
7 | /// `dtype`, so masked positions vanish under softmax — no `asType` to forget.
8 | public static func maskFill(for dtype: DType) -> MLXArray {
9 | guard let info = dtype.finfo else {
| `- warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
10 | fatalError("maskFill requires a floating-point dtype, got \(dtype)")
11 | }
[258/304] Compiling MLX MLXArray+maskFill.swift
/Users/admin/builder/spi-builder-workspace/Source/MLX/MLXArray+maskFill.swift:9:19: warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
7 | /// `dtype`, so masked positions vanish under softmax — no `asType` to forget.
8 | public static func maskFill(for dtype: DType) -> MLXArray {
9 | guard let info = dtype.finfo else {
| `- warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
10 | fatalError("maskFill requires a floating-point dtype, got \(dtype)")
11 | }
[259/304] Compiling MLX MLXArray.swift
/Users/admin/builder/spi-builder-workspace/Source/MLX/MLXArray+maskFill.swift:9:19: warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
7 | /// `dtype`, so masked positions vanish under softmax — no `asType` to forget.
8 | public static func maskFill(for dtype: DType) -> MLXArray {
9 | guard let info = dtype.finfo else {
| `- warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
10 | fatalError("maskFill requires a floating-point dtype, got \(dtype)")
11 | }
[260/304] Compiling MLX MLXCustomFunction.swift
/Users/admin/builder/spi-builder-workspace/Source/MLX/MLXArray+maskFill.swift:9:19: warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
7 | /// `dtype`, so masked positions vanish under softmax — no `asType` to forget.
8 | public static func maskFill(for dtype: DType) -> MLXArray {
9 | guard let info = dtype.finfo else {
| `- warning: value 'info' was defined but never used; consider replacing with boolean test [#no-usage]
10 | fatalError("maskFill requires a floating-point dtype, got \(dtype)")
11 | }
[261/304] Compiling MLX ErrorHandler.swift
[262/304] Compiling MLX Export.swift
[263/304] Compiling MLX FFT.swift
[264/304] Compiling MLX Factory.swift
[265/304] Compiling MLX Foundation+Util.swift
[266/304] Compiling MLX ArrayAt.swift
[267/304] Compiling MLX Cmlx+Util.swift
[268/304] Compiling MLX DType.swift
[269/304] Compiling MLX Device.swift
[270/304] Compiling MLX Distributed.swift
[271/304] Compiling MLX MLXFast.swift
[272/304] Compiling MLX MLXFastKernel.swift
[273/304] Compiling MLX MaterializedArray.swift
[274/304] Compiling MLX Memory.swift
[275/304] Compiling MLX Nested.swift
[276/304] Compiling MLX GPU+Metal.swift
[277/304] Compiling MLX GraphUtils.swift
[278/304] Compiling MLX IO+Concurrent.swift
[279/304] Compiling MLX IO.swift
[280/304] Compiling MLX Linalg.swift
[281/304] Compiling MLX Logging.swift
[282/304] Compiling MLX MLXArray+Bytes.swift
[283/304] Compiling MLX MLXArray+Indexing.swift
[284/304] Compiling MLX MLXArray+Init.swift
[285/304] Compiling MLX MLXArray+Metal.swift
[286/304] Compiling MLX Transforms+Internal.swift
[287/304] Compiling MLX Transforms+Vmap.swift
[288/304] Compiling MLX Transforms.swift
[289/304] Compiling MLX WiredMemory.swift
[290/342] Compiling MLXLinalg Linalg.swift
[291/342] Emitting module MLXLinalg
[292/342] Compiling MLXFast MLXFastKernel.swift
[293/342] Emitting module MLXFast
[294/342] Compiling MLXFast MLXFast.swift
[295/342] Compiling MLXFFT FFT.swift
[296/342] Emitting module MLXFFT
[297/342] Compiling MLXRandom Random.swift
[298/342] Emitting module MLXRandom
[299/342] Compiling Example1 Example1.swift
[300/342] Emitting module Example1
[301/342] Compiling CustomFunctionExampleSimple CustomFunctionExampleSimple.swift
[302/342] Emitting module CustomFunctionExampleSimple
[302/342] Write Objects.LinkFileList
[305/342] Compiling Tutorial Tutorial.swift
[306/342] Emitting module Tutorial
[307/342] Emitting module CustomFunctionExample
[308/342] Compiling CustomFunctionExample CustomFunctionExample.swift
[308/342] Write Objects.LinkFileList
[311/342] Compiling CompileLockRepro CompileLockRepro.swift
[312/342] Emitting module CompileLockRepro
[312/342] Write Objects.LinkFileList
[314/342] Compiling MLXNN Normalization.swift
[315/342] Compiling MLXNN Pooling.swift
[316/342] Compiling MLXNN PositionalEncoding.swift
[317/342] Compiling MLXNN Quantized.swift
[318/344] Compiling MLXNN Recurrent.swift
[319/344] Compiling MLXNN Transformer.swift
[320/344] Compiling MLXNN ConvolutionTransposed.swift
[321/344] Compiling MLXNN Distributed.swift
[322/344] Compiling MLXNN Linear.swift
[323/344] Compiling MLXNN Losses.swift
[324/344] Compiling MLXNN Dropout.swift
[325/344] Compiling MLXNN Embedding.swift
[326/344] Compiling MLXNN Containers.swift
[327/344] Compiling MLXNN Convolution.swift
[328/344] Compiling MLXNN MaterializedModule.swift
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1560:34: warning: conditional downcast from 'T?' to 'T' does nothing
1558 | // note: this gives a warning but it does in fact do something
1559 | // in the case where this is e.g. ParameterInfo<MLXArray?>
1560 | if let value = value as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1561 | return value
1562 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1710:36: warning: conditional downcast from 'T?' to 'T' does nothing
1708 | // note: this gives a warning but it does in fact do something
1709 | // in the case where this is e.g. ModuleInfo<Linear?>
1710 | if let module = module as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1711 | return module
1712 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:345:13: warning: default will never be executed
343 | return isAllNone ? .none : .array(result)
344 |
345 | default:
| `- warning: default will never be executed
346 | fatalError("Unexpected leaf \(vk) = \(v)")
347 | }
[329/344] Compiling MLXNN Module.swift
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1560:34: warning: conditional downcast from 'T?' to 'T' does nothing
1558 | // note: this gives a warning but it does in fact do something
1559 | // in the case where this is e.g. ParameterInfo<MLXArray?>
1560 | if let value = value as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1561 | return value
1562 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1710:36: warning: conditional downcast from 'T?' to 'T' does nothing
1708 | // note: this gives a warning but it does in fact do something
1709 | // in the case where this is e.g. ModuleInfo<Linear?>
1710 | if let module = module as? T {
| `- warning: conditional downcast from 'T?' to 'T' does nothing
1711 | return module
1712 | } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:345:13: warning: default will never be executed
343 | return isAllNone ? .none : .array(result)
344 |
345 | default:
| `- warning: default will never be executed
346 | fatalError("Unexpected leaf \(vk) = \(v)")
347 | }
[330/344] Compiling MLXNN Activations.swift
[331/344] Compiling MLXNN Cache.swift
[332/344] Emitting module MLXNN
[333/344] Compiling MLXNN Upsample.swift
[334/344] Compiling MLXNN ValueAndGrad.swift
[335/347] Compiling MLXOptimizers Schedulers.swift
[336/347] Emitting module MLXOptimizers
[337/347] Compiling MLXOptimizers Optimizers.swift
[337/347] Linking Example1
[338/347] Linking CustomFunctionExampleSimple
[339/347] Linking Tutorial
[339/347] Linking CompileLockRepro
[341/347] Linking CustomFunctionExample
[342/347] Applying Example1
[343/347] Applying CustomFunctionExampleSimple
[344/347] Applying Tutorial
[345/347] Applying CompileLockRepro
[346/347] Applying CustomFunctionExample
Build complete! (49.28s)
Fetching https://github.com/apple/swift-numerics
[1/6766] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (3.33s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (3.98s)
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: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/build': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/CODE_OF_CONDUCT.md': File not found.
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/CustomFunctionExample.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Example1.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.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/CustomFunctionExample.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Tutorial.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.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/CustomFunctionExample.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Tutorial.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/Example1.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/Tutorial.swift
/Users/admin/builder/spi-builder-workspace/Source/Examples/CustomFunctionExampleSimple.swift
Build complete.
{
"cxx_language_standard" : "gnu++20",
"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
}
},
{
"name" : "CompileLockRepro",
"targets" : [
"CompileLockRepro"
],
"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",
"CompileLockOrderingTests.swift",
"ConcurrentLoadTests.swift",
"DTypeTests.swift",
"DistributedHarness.swift",
"DistributedNNTests.swift",
"DistributedRingTests.swift",
"DistributedTests.swift",
"ErrorTests.swift",
"EvalInTransformsTests.swift",
"EvalTests.swift",
"ExportTests.swift",
"FFTTests.swift",
"FP8Tests.swift",
"GraphUtilsTests.swift",
"LinalgTests.swift",
"LoggingTests.swift",
"LogicalParameterCountTests.swift",
"LossTests.swift",
"MLXArray+IndexingTests.swift",
"MLXArray+InitTests.swift",
"MLXArray+NormlizerTests.swift",
"MLXArray+OpsTests.swift",
"MLXArrayTests.swift",
"MLXFastKernelTests.swift",
"MLXRandomTests.swift",
"MaterializedHazardTests.swift",
"MaterializedTests.swift",
"MemoryTests.swift",
"ModuleTests.swift",
"NestedTests.swift",
"OpsTests.swift",
"OptimizerTests.swift",
"PoolingTests.swift",
"PositionalEncodingTests.swift",
"QuantizationTests.swift",
"SaveTests.swift",
"SchedulerTests.swift",
"StreamInitializationTests.swift",
"StreamTests.swift",
"SubclassTests.swift",
"TestingUtils.swift",
"TransformTests.swift",
"UpsampleTests.swift",
"Utils.swift",
"WiredMemoryLifecycleTests.swift",
"WiredMemoryTests.swift"
],
"target_dependencies" : [
"MLX",
"MLXNN",
"MLXOptimizers"
],
"type" : "test"
},
{
"c99name" : "MLXRandom",
"module_type" : "SwiftTarget",
"name" : "MLXRandom",
"path" : "Source/MLXRandom",
"product_memberships" : [
"MLXRandom"
],
"sources" : [
"Random.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXOptimizers",
"module_type" : "SwiftTarget",
"name" : "MLXOptimizers",
"path" : "Source/MLXOptimizers",
"product_memberships" : [
"MLXOptimizers"
],
"sources" : [
"Optimizers.swift",
"Schedulers.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",
"Distributed.swift",
"Dropout.swift",
"Embedding.swift",
"Linear.swift",
"Losses.swift",
"MaterializedModule.swift",
"Module.swift",
"Normalization.swift",
"Pooling.swift",
"PositionalEncoding.swift",
"Quantized.swift",
"Recurrent.swift",
"Transformer.swift",
"Upsample.swift",
"ValueAndGrad.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXLinalg",
"module_type" : "SwiftTarget",
"name" : "MLXLinalg",
"path" : "Source/MLXLinalg",
"product_memberships" : [
"MLXLinalg"
],
"sources" : [
"Linalg.swift"
],
"target_dependencies" : [
"MLX"
],
"type" : "library"
},
{
"c99name" : "MLXIntegrationTests",
"module_type" : "SwiftTarget",
"name" : "MLXIntegrationTests",
"path" : "Tests/MLXIntegrationTests",
"sources" : [
"Generated/GeneratedActivationsTests.swift",
"Generated/GeneratedBinaryTests.swift",
"Generated/GeneratedConvolutionTests.swift",
"Generated/GeneratedDefaultsTests.swift",
"Generated/GeneratedElementwiseTests.swift",
"Generated/GeneratedFFTTests.swift",
"Generated/GeneratedFactoryTests.swift",
"Generated/GeneratedFastTests.swift",
"Generated/GeneratedIndexingTests.swift",
"Generated/GeneratedLinalgTests.swift",
"Generated/GeneratedLossesTests.swift",
"Generated/GeneratedModuleActivationsTests.swift",
"Generated/GeneratedModuleAttentionTests.swift",
"Generated/GeneratedModuleConvolutionTests.swift",
"Generated/GeneratedModuleDropoutTests.swift",
"Generated/GeneratedModuleLinearTests.swift",
"Generated/GeneratedModuleNormalizationTests.swift",
"Generated/GeneratedModulePoolingTests.swift",
"Generated/GeneratedModulePositionalTests.swift",
"Generated/GeneratedModuleRecurrentTests.swift",
"Generated/GeneratedModuleUpsampleTests.swift",
"Generated/GeneratedOptimizerFunctionsTests.swift",
"Generated/GeneratedOptimizersTests.swift",
"Generated/GeneratedQuantizationTests.swift",
"Generated/GeneratedRandomInputsTests.swift",
"Generated/GeneratedRandomTests.swift",
"Generated/GeneratedReductionTests.swift",
"Generated/GeneratedSchedulesTests.swift",
"Generated/GeneratedShapeTests.swift",
"IntegrationSupport.swift"
],
"target_dependencies" : [
"MLX",
"MLXNN",
"MLXOptimizers"
],
"type" : "test"
},
{
"c99name" : "MLXFast",
"module_type" : "SwiftTarget",
"name" : "MLXFast",
"path" : "Source/MLXFast",
"product_memberships" : [
"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",
"CompileLockRepro"
],
"sources" : [
"ArrayAt.swift",
"Cmlx+Util.swift",
"DType.swift",
"Device.swift",
"Distributed.swift",
"ErrorHandler.swift",
"Export.swift",
"FFT.swift",
"Factory.swift",
"Foundation+Util.swift",
"GPU+Metal.swift",
"GraphUtils.swift",
"IO+Concurrent.swift",
"IO.swift",
"Linalg.swift",
"Logging.swift",
"MLXArray+Bytes.swift",
"MLXArray+Indexing.swift",
"MLXArray+Init.swift",
"MLXArray+Metal.swift",
"MLXArray+Normalizer.swift",
"MLXArray+Ops.swift",
"MLXArray+maskFill.swift",
"MLXArray.swift",
"MLXCustomFunction.swift",
"MLXFast.swift",
"MLXFastKernel.swift",
"MaterializedArray.swift",
"Memory.swift",
"Nested.swift",
"NestedArrayElement.swift",
"Ops+Array.swift",
"Ops.swift",
"ParameterTypes.swift",
"Protocols.swift",
"Random.swift",
"State.swift",
"Stream.swift",
"Transforms+Compile.swift",
"Transforms+CompileOverloads.swift",
"Transforms+Eval.swift",
"Transforms+Grad.swift",
"Transforms+Internal.swift",
"Transforms+Vmap.swift",
"Transforms.swift",
"WiredMemory.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" : "CompileLockRepro",
"module_type" : "SwiftTarget",
"name" : "CompileLockRepro",
"path" : "Source/CompileLockRepro",
"product_memberships" : [
"CompileLockRepro"
],
"sources" : [
"CompileLockRepro.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",
"CompileLockRepro"
],
"sources" : [
"fmt/src/format.cc",
"framework/Cmlx.m",
"mlx-c/mlx/c/array.cpp",
"mlx-c/mlx/c/closure.cpp",
"mlx-c/mlx/c/compile.cpp",
"mlx-c/mlx/c/cuda.cpp",
"mlx-c/mlx/c/device.cpp",
"mlx-c/mlx/c/distributed.cpp",
"mlx-c/mlx/c/distributed_group.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/graph_utils.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-conditional/jaccl_conditional.cpp",
"mlx-conditional/jit_compiler_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/cross_entropy.cpp",
"mlx-generated/fft.cpp",
"mlx-generated/fp_quantized.cpp",
"mlx-generated/fp_quantized_nax.cpp",
"mlx-generated/gated_delta_update_nax.cpp",
"mlx-generated/gated_delta_update_nax_vjp.cpp",
"mlx-generated/gather.cpp",
"mlx-generated/gather_axis.cpp",
"mlx-generated/gather_front.cpp",
"mlx-generated/gemm.cpp",
"mlx-generated/gemm_nax.cpp",
"mlx-generated/gemv.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_nax.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/searchsorted.cpp",
"mlx-generated/softmax.cpp",
"mlx-generated/sort.cpp",
"mlx-generated/steel_attention.cpp",
"mlx-generated/steel_attention_nax.cpp",
"mlx-generated/steel_conv.cpp",
"mlx-generated/steel_conv_3d.cpp",
"mlx-generated/steel_conv_general.cpp",
"mlx-generated/steel_gemm_fused.cpp",
"mlx-generated/steel_gemm_fused_nax.cpp",
"mlx-generated/steel_gemm_gather.cpp",
"mlx-generated/steel_gemm_gather_nax.cpp",
"mlx-generated/steel_gemm_masked.cpp",
"mlx-generated/steel_gemm_segmented.cpp",
"mlx-generated/steel_gemm_segmented_nax.cpp",
"mlx-generated/steel_gemm_splitk.cpp",
"mlx-generated/steel_gemm_splitk_nax.cpp",
"mlx-generated/steel_gemm_thin_nax.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/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/metal_kernel.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/binary.cpp",
"mlx/mlx/backend/cpu/cholesky.cpp",
"mlx/mlx/backend/cpu/conv.cpp",
"mlx/mlx/backend/cpu/copy.cpp",
"mlx/mlx/backend/cpu/device_info.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/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/cross_entropy.cpp",
"mlx/mlx/backend/metal/custom_kernel.cpp",
"mlx/mlx/backend/metal/device.cpp",
"mlx/mlx/backend/metal/device_info.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/gated_delta_update.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/ring.cpp",
"mlx/mlx/distributed/utils.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/memory.cpp",
"mlx/mlx/ops.cpp",
"mlx/mlx/primitives.cpp",
"mlx/mlx/random.cpp",
"mlx/mlx/scheduler.cpp",
"mlx/mlx/stream.cpp",
"mlx/mlx/transforms.cpp",
"mlx/mlx/utils.cpp",
"mlx/mlx/version.cpp"
],
"type" : "library"
}
],
"tools_version" : "6.3"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/CODE_OF_CONDUCT.md': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/build': File not found.
Done.