Build Information
Successful build of mlx-turbovec-swift, reference main (2e9aca), with Swift 6.1 for macOS (SPM) on 1 Jul 2026 06:08:44 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/offlyn-ai/mlx-turbovec-swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/offlyn-ai/mlx-turbovec-swift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 2e9acad Add MLX GPU acceleration backend
Cloned https://github.com/offlyn-ai/mlx-turbovec-swift.git
Revision (git rev-parse @):
2e9acad9bdd02b70685ae9a8ebfdf467b4c6ff08
SUCCESS checkout https://github.com/offlyn-ai/mlx-turbovec-swift.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/offlyn-ai/mlx-turbovec-swift.git
https://github.com/offlyn-ai/mlx-turbovec-swift.git
{
"dependencies" : [
{
"identity" : "mlx-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.31.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/ml-explore/mlx-swift"
}
],
"manifest_display_name" : "mlx-turbovec-swift",
"name" : "mlx-turbovec-swift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
}
],
"products" : [
{
"name" : "TurboVec",
"targets" : [
"TurboVec"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TurboVecBenchmark",
"targets" : [
"TurboVecBenchmark"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "TurboVecTests",
"module_type" : "SwiftTarget",
"name" : "TurboVecTests",
"path" : "Tests/TurboVecTests",
"sources" : [
"TurboVecTests.swift"
],
"target_dependencies" : [
"TurboVec"
],
"type" : "test"
},
{
"c99name" : "TurboVecBenchmark",
"module_type" : "SwiftTarget",
"name" : "TurboVecBenchmark",
"path" : "Sources/TurboVecBenchmark",
"product_memberships" : [
"TurboVecBenchmark"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"TurboVec"
],
"type" : "executable"
},
{
"c99name" : "TurboVec",
"module_type" : "SwiftTarget",
"name" : "TurboVec",
"path" : "Sources/TurboVec",
"product_dependencies" : [
"MLX",
"MLXRandom"
],
"product_memberships" : [
"TurboVec",
"TurboVecBenchmark"
],
"sources" : [
"Core/IdMapIndex.swift",
"Core/TurboQuantIndex.swift",
"Core/Types.swift",
"MLX/MLXBackend.swift",
"Math/RandomRotation.swift",
"Math/VectorMath.swift",
"Persistence/Persistence.swift",
"Quantization/BitPacker.swift",
"Quantization/Calibration.swift",
"Quantization/LloydMaxCodebook.swift",
"Search/SearchKernel.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/192] Write sources
[4/192] Write TurboVecBenchmark-entitlement.plist
[5/192] Write sources
[8/192] Compiling _NumericsShims _NumericsShims.c
[9/192] Compiling fft.cpp
[10/192] Compiling version.cpp
[11/192] Write swift-version-2F0A5646E1D333AE.txt
[12/192] Compiling utils.cpp
[13/192] Compiling scheduler.cpp
[14/203] Compiling compile.cpp
[15/203] Compiling linalg.cpp
[16/203] Compiling random.cpp
[18/203] Compiling RealModule RealFunctions.swift
[19/204] Compiling RealModule Real.swift
[20/204] Compiling RealModule Float80+Real.swift
[21/204] Compiling RealModule AugmentedArithmetic.swift
[22/204] Compiling RealModule ElementaryFunctions.swift
[23/204] Compiling RealModule Float16+Real.swift
[24/204] Compiling RealModule Float+Real.swift
[25/204] Emitting module RealModule
[26/204] Compiling RealModule AlgebraicField.swift
[27/204] Compiling RealModule ApproximateEquality.swift
[28/204] Compiling RealModule Double+Real.swift
[29/204] Compiling RealModule RelaxedArithmetic.swift
[29/204] Compiling array.cpp
[30/204] Compiling closure.cpp
[31/215] Compiling no_gguf.cpp
[33/215] Compiling ComplexModule Polar.swift
[34/216] Compiling ComplexModule Complex+StringConvertible.swift
[35/216] Compiling ComplexModule Complex+Hashable.swift
[36/216] Compiling ComplexModule Complex.swift
[37/216] Compiling ComplexModule Complex+IntegerLiteral.swift
[38/216] Compiling ComplexModule Complex+Numeric.swift
[39/216] Compiling ComplexModule Scale.swift
[39/216] Compiling primitives.cpp
[41/216] Compiling ComplexModule Complex+Codable.swift
[42/216] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[43/216] Compiling ComplexModule Complex+AlgebraicField.swift
[44/216] Compiling ComplexModule Complex+ElementaryFunctions.swift
[45/216] Emitting module ComplexModule
[45/216] Compiling graph_utils.cpp
[46/216] Compiling load.cpp
[47/218] Compiling fft.cpp
[49/218] Emitting module Numerics
[50/218] Compiling Numerics Numerics.swift
[50/218] Compiling transforms.cpp
[51/218] Compiling dtype_utils.cpp
[52/218] Compiling dtype.cpp
[53/218] Compiling safetensors.cpp
[54/218] Compiling utils.cpp
[55/218] Compiling no_ring.cpp
[56/218] Compiling einsum.cpp
[57/218] Compiling ops.cpp
[58/218] Compiling primitives.cpp
[59/218] Compiling fast.cpp
[60/218] Compiling no_nccl.cpp
[61/218] Compiling device.cpp
[62/218] Compiling ops.cpp
[63/218] Compiling no_mpi.cpp
[64/218] Compiling no_jaccl.cpp
[65/218] Compiling distributed.cpp
[66/218] Compiling utils.cpp
[67/218] Compiling unary.cpp
[68/218] Compiling ternary.cpp
[69/218] Compiling softmax.cpp
[70/218] Compiling sort.cpp
[71/218] Compiling scan.cpp
[72/218] Compiling slicing.cpp
[73/218] Compiling compile.cpp
[74/218] Compiling scaled_dot_product_attention.cpp
[75/218] Compiling resident.cpp
[76/218] Compiling rope.cpp
[77/218] Compiling metal.cpp
[78/218] Compiling reduce.cpp
[79/218] Compiling primitives.cpp
[80/218] Compiling normalization.cpp
[81/218] Compiling quantized.cpp
[82/218] Compiling logsumexp.cpp
[83/218] Compiling matmul.cpp
[84/218] Compiling hadamard.cpp
[85/218] Compiling event.cpp
[86/218] Compiling fence.cpp
[87/218] Compiling indexing.cpp
[88/218] Compiling distributed.cpp
[89/218] Compiling eval.cpp
[90/218] Compiling device_info.cpp
[91/218] Compiling jit_kernels.cpp
[92/218] Compiling fft.cpp
[93/218] Compiling slicing.cpp
[94/218] Compiling copy.cpp
[95/218] Compiling allocator.cpp
[96/218] Compiling binary.cpp
[97/218] Compiling compiled.cpp
[98/218] Compiling primitives.cpp
[99/218] Compiling conv.cpp
[100/218] Compiling threefry.cpp
[101/218] Compiling device.cpp
[102/218] Compiling export.cpp
[103/218] Compiling custom_kernel.cpp
[104/218] Compiling no_cuda.cpp
[105/218] Compiling copy.cpp
[106/218] Compiling select.cpp
[107/218] Compiling softmax.cpp
[108/218] Compiling scan.cpp
[109/218] Compiling svd.cpp
[110/218] Compiling qrf.cpp
[111/218] Compiling sort.cpp
[112/218] Compiling quantized.cpp
[113/218] Compiling jit_compiler.cpp
[114/218] Compiling primitives.cpp
[115/218] Compiling matmul.cpp
[116/218] Compiling luf.cpp
[117/218] Compiling masked_mm.cpp
[118/218] Compiling logsumexp.cpp
[119/218] Compiling cblas.cpp
[120/218] Compiling hadamard.cpp
[121/218] Compiling inverse.cpp
[122/218] Compiling unary.cpp
[123/218] Compiling encoder.cpp
[124/218] Compiling bnns.cpp
[125/218] Compiling eval.cpp
[126/218] Compiling device_info.cpp
[127/218] Compiling distributed.cpp
[128/218] Compiling fft.cpp
[129/218] Compiling indexing.cpp
[130/218] Compiling eigh.cpp
[131/218] Compiling eig.cpp
[132/218] Compiling utils.cpp
[133/218] Compiling slicing.cpp
[134/218] Compiling arg_reduce.cpp
[135/218] Compiling cholesky.cpp
[136/218] Compiling reduce.cpp
[137/218] Compiling utils.cpp
[138/218] Compiling unary_ops.cpp
[139/218] Compiling unary.cpp
[140/218] Compiling ternary_ops.cpp
[141/218] Compiling ternary.cpp
[142/218] Compiling steel_gemm_splitk_nax.cpp
[143/218] Compiling steel_gemm_splitk.cpp
[144/218] Compiling steel_gemm_segmented.cpp
[145/218] Compiling steel_gemm_masked.cpp
[146/218] Compiling steel_gemm_gather_nax.cpp
[147/218] Compiling steel_gemm_gather.cpp
[148/218] Compiling steel_gemm_fused_nax.cpp
[149/218] Compiling steel_gemm_fused.cpp
[150/218] Compiling load.cpp
[151/218] Compiling steel_conv_general.cpp
[152/218] Compiling steel_conv_3d.cpp
[153/218] Compiling steel_conv.cpp
[154/218] Compiling compiled.cpp
[155/218] Compiling steel_attention_nax.cpp
[156/218] Compiling steel_attention.cpp
[157/218] Compiling sort.cpp
[158/218] Compiling common.cpp
[159/218] Compiling softmax.cpp
[160/218] Compiling scatter_axis.cpp
[161/218] Compiling broadcasting.cpp
[162/218] Compiling scatter.cpp
[163/218] Compiling scan.cpp
[164/218] Compiling reduce_utils.cpp
[165/218] Compiling reduce.cpp
[166/218] Compiling quantized_utils.cpp
[167/218] Compiling quantized_nax.cpp
[168/218] Compiling quantized.cpp
[169/218] Compiling masked_scatter.cpp
[170/218] Compiling logsumexp.cpp
[171/218] Compiling hadamard.cpp
[172/218] Compiling gemv_masked.cpp
[173/218] Compiling gemm_nax.cpp
[174/218] Compiling gemm.cpp
[175/218] Compiling gather_front.cpp
[176/218] Compiling gather_axis.cpp
[176/218] Compiling gather.cpp
[178/218] Compiling fp_quantized_nax.cpp
[179/218] Compiling fp_quantized.cpp
[180/218] Compiling copy.cpp
[181/218] Compiling binary_two.cpp
[182/218] Compiling conv.cpp
[182/218] Compiling compiled_preamble.cpp
[184/218] Compiling binary_ops.cpp
[185/218] Compiling binary.cpp
[186/218] Compiling arange.cpp
[187/218] Compiling copy.cpp
[188/218] Compiling conv.cpp
[189/218] Compiling array.cpp
[190/218] Compiling version.cpp
[191/218] Compiling string.cpp
[192/218] Compiling transforms_impl.cpp
[193/218] Compiling transforms.cpp
[194/218] Compiling stream.cpp
[195/218] Compiling vector.cpp
[196/218] Compiling reduce.cpp
[197/218] Compiling compiled_conditional.cpp
[198/218] Compiling random.cpp
[199/218] Compiling metal.cpp
[200/218] Compiling memory.cpp
[201/218] Compiling linalg.cpp
[202/218] Compiling io_types.cpp
[203/218] Compiling map.cpp
[204/218] Compiling ops.cpp
[205/218] Compiling io.cpp
[206/218] Compiling fft.cpp
[207/218] Compiling error.cpp
[208/218] Compiling fast.cpp
[209/218] Compiling format.cc
[210/218] Compiling export.cpp
[211/218] Compiling cuda.cpp
[212/218] Compiling device.cpp
[213/218] Compiling Cmlx.m
[214/218] Compiling binary.cpp
[216/255] Compiling MLX Transforms+CompileOverloads.swift
[217/255] Compiling MLX Transforms+Eval.swift
[218/255] Compiling MLX Transforms+Grad.swift
[219/255] Compiling MLX Transforms+Internal.swift
[220/255] Emitting module MLX
[221/258] Compiling MLX MLXFast.swift
[222/258] Compiling MLX MLXFastKernel.swift
[223/258] Compiling MLX Memory.swift
[224/258] Compiling MLX Nested.swift
[225/258] Compiling MLX ArrayAt.swift
[226/258] Compiling MLX Cmlx+Util.swift
[227/258] Compiling MLX DType.swift
[228/258] Compiling MLX Device.swift
[229/258] Compiling MLX Ops+Array.swift
[230/258] Compiling MLX Ops.swift
[231/258] Compiling MLX ParameterTypes.swift
[232/258] Compiling MLX Protocols.swift
[233/258] Compiling MLX ErrorHandler.swift
[234/258] Compiling MLX Export.swift
[235/258] Compiling MLX FFT.swift
[236/258] Compiling MLX Factory.swift
[237/258] Compiling MLX MLXArray+Bytes.swift
[238/258] Compiling MLX MLXArray+Indexing.swift
[239/258] Compiling MLX MLXArray+Init.swift
[240/258] Compiling MLX MLXArray+Metal.swift
[241/258] Compiling MLX MLXArray+Normalizer.swift
[242/258] Compiling MLX MLXArray+Ops.swift
[243/258] Compiling MLX MLXArray.swift
[244/258] Compiling MLX MLXCustomFunction.swift
[245/258] Compiling MLX Foundation+Util.swift
[246/258] Compiling MLX GPU+Metal.swift
[247/258] Compiling MLX IO.swift
[248/258] Compiling MLX Linalg.swift
[249/258] Compiling MLX Random.swift
[250/258] Compiling MLX State.swift
[251/258] Compiling MLX Stream.swift
[252/258] Compiling MLX Transforms+Compile.swift
[253/258] Compiling MLX Transforms+Vmap.swift
[254/258] Compiling MLX Transforms.swift
[255/258] Compiling MLX WiredMemory.swift
[256/260] Emitting module MLXRandom
[257/260] Compiling MLXRandom Random.swift
[258/271] Compiling TurboVec LloydMaxCodebook.swift
[259/272] Compiling TurboVec BitPacker.swift
[260/272] Compiling TurboVec Persistence.swift
[261/272] Compiling TurboVec VectorMath.swift
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/VectorMath.swift:57:9: warning: 'cblas_sgemv' was deprecated in macOS 13.3: An updated CBLAS interface supporting ILP64 is available. Please compile with -DACCELERATE_NEW_LAPACK to access the new headers and -DACCELERATE_LAPACK_ILP64 for ILP64 support.
55 | cols: Int
56 | ) {
57 | cblas_sgemv(
| `- warning: 'cblas_sgemv' was deprecated in macOS 13.3: An updated CBLAS interface supporting ILP64 is available. Please compile with -DACCELERATE_NEW_LAPACK to access the new headers and -DACCELERATE_LAPACK_ILP64 for ILP64 support.
58 | CblasRowMajor, CblasNoTrans,
59 | Int32(rows), Int32(cols),
[262/272] Compiling TurboVec RandomRotation.swift
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:72:9: warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
70 | var workQuery: Float = 0
71 | var lworkQuery: __CLPK_integer = -1
72 | sgeqrf_(&m, &nCol, &A, &lda, &tau, &workQuery, &lworkQuery, &info)
| `- warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
73 |
74 | var lwork = __CLPK_integer(workQuery)
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:77:9: warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
75 | var work = [Float](repeating: 0, count: Int(lwork))
76 |
77 | sgeqrf_(&m, &nCol, &A, &lda, &tau, &work, &lwork, &info)
| `- warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
78 | guard info == 0 else {
79 | fatalError("sgeqrf_ failed with info=\(info)")
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:84:9: warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
82 | // Extract Q — use separate variables to avoid overlapping access
83 | lworkQuery = -1
84 | sorgqr_(&m, &nCol, &nCol2, &A, &lda, &tau, &workQuery, &lworkQuery, &info)
| `- warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
85 | lwork = __CLPK_integer(workQuery)
86 | work = [Float](repeating: 0, count: Int(lwork))
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:89:9: warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
87 | nCol = __CLPK_integer(n)
88 | nCol2 = __CLPK_integer(n)
89 | sorgqr_(&m, &nCol, &nCol2, &A, &lda, &tau, &work, &lwork, &info)
| `- warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated. Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
90 | guard info == 0 else {
91 | fatalError("sorgqr_ failed with info=\(info)")
[263/272] Compiling TurboVec Types.swift
[264/272] Compiling TurboVec Calibration.swift
[265/272] Compiling TurboVec MLXBackend.swift
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/MLX/MLXBackend.swift:29:23: warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 | /// SwiftPM test runner, the metallib may not be available — leave this
28 | /// as `false` and the CPU path is used.
29 | public static var isAvailable: Bool = false
| |- warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAvailable' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isAvailable' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | /// Enable MLX GPU acceleration. Call once at app startup.
[266/272] Compiling TurboVec IdMapIndex.swift
[267/272] Compiling TurboVec TurboQuantIndex.swift
[268/272] Emitting module TurboVec
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/MLX/MLXBackend.swift:29:23: warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 | /// SwiftPM test runner, the metallib may not be available — leave this
28 | /// as `false` and the CPU path is used.
29 | public static var isAvailable: Bool = false
| |- warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAvailable' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'isAvailable' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | /// Enable MLX GPU acceleration. Call once at app startup.
[269/272] Compiling TurboVec SearchKernel.swift
[270/274] Compiling TurboVecBenchmark main.swift
[271/274] Emitting module TurboVecBenchmark
[271/274] Write Objects.LinkFileList
[272/274] Linking TurboVecBenchmark
[273/274] Applying TurboVecBenchmark
Build complete! (53.44s)
Fetching https://github.com/ml-explore/mlx-swift
[1/15112] Fetching mlx-swift
Fetched https://github.com/ml-explore/mlx-swift from cache (1.63s)
Computing version for https://github.com/ml-explore/mlx-swift
Computed https://github.com/ml-explore/mlx-swift at 0.31.4 (0.49s)
Fetching https://github.com/apple/swift-numerics from cache
Fetched https://github.com/apple/swift-numerics from cache (0.88s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.36s)
Creating working copy for https://github.com/ml-explore/mlx-swift
Working copy of https://github.com/ml-explore/mlx-swift resolved at 0.31.4
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Build complete.
{
"dependencies" : [
{
"identity" : "mlx-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.31.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/ml-explore/mlx-swift"
}
],
"manifest_display_name" : "mlx-turbovec-swift",
"name" : "mlx-turbovec-swift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
}
],
"products" : [
{
"name" : "TurboVec",
"targets" : [
"TurboVec"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TurboVecBenchmark",
"targets" : [
"TurboVecBenchmark"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "TurboVecTests",
"module_type" : "SwiftTarget",
"name" : "TurboVecTests",
"path" : "Tests/TurboVecTests",
"sources" : [
"TurboVecTests.swift"
],
"target_dependencies" : [
"TurboVec"
],
"type" : "test"
},
{
"c99name" : "TurboVecBenchmark",
"module_type" : "SwiftTarget",
"name" : "TurboVecBenchmark",
"path" : "Sources/TurboVecBenchmark",
"product_memberships" : [
"TurboVecBenchmark"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"TurboVec"
],
"type" : "executable"
},
{
"c99name" : "TurboVec",
"module_type" : "SwiftTarget",
"name" : "TurboVec",
"path" : "Sources/TurboVec",
"product_dependencies" : [
"MLX",
"MLXRandom"
],
"product_memberships" : [
"TurboVec",
"TurboVecBenchmark"
],
"sources" : [
"Core/IdMapIndex.swift",
"Core/TurboQuantIndex.swift",
"Core/Types.swift",
"MLX/MLXBackend.swift",
"Math/RandomRotation.swift",
"Math/VectorMath.swift",
"Persistence/Persistence.swift",
"Quantization/BitPacker.swift",
"Quantization/Calibration.swift",
"Quantization/LloydMaxCodebook.swift",
"Search/SearchKernel.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.