Build Information
Failed to build SwiftRWKV, reference main (dfe65d), with Swift 6.1 for macOS (SPM) on 24 Oct 2026 13:04:26 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RafaelUI/SwiftRWKV.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RafaelUI/SwiftRWKV
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at dfe65d4 docs/Embedding.md, «Evaluation»: пул оценки retrieval (2N) и слияние одинаковых кандидатов -- когда нужно и почему (dedupeCandidates / dedupeEvaluationPool / --dedupe-pool).
Cloned https://github.com/RafaelUI/SwiftRWKV.git
Revision (git rev-parse @):
dfe65d456647a0b62dfbe8780e9cb302a9dfa8d2
SUCCESS checkout https://github.com/RafaelUI/SwiftRWKV.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/RafaelUI/SwiftRWKV.git
https://github.com/RafaelUI/SwiftRWKV.git
{
"dependencies" : [
{
"identity" : "mlx-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.31.4",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/ml-explore/mlx-swift"
}
],
"manifest_display_name" : "SwiftRWKV",
"name" : "SwiftRWKV",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "RWKVGen",
"targets" : [
"RWKVGen"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RWKVQuant",
"targets" : [
"RWKVQuant"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RWKVEmbedding",
"targets" : [
"RWKVEmbedding"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RWKVRerank",
"targets" : [
"RWKVRerank"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "rerank-run",
"targets" : [
"RerankRun"
],
"type" : {
"executable" : null
}
},
{
"name" : "decode-bench",
"targets" : [
"DecodeBench"
],
"type" : {
"executable" : null
}
},
{
"name" : "embed-run",
"targets" : [
"EmbedRun"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "RerankRun",
"module_type" : "SwiftTarget",
"name" : "RerankRun",
"path" : "Sources/RerankRun",
"product_dependencies" : [
"MLX"
],
"product_memberships" : [
"rerank-run"
],
"sources" : [
"BenchEncode.swift",
"main.swift"
],
"target_dependencies" : [
"RWKVRerank",
"RWKVGen"
],
"type" : "executable"
},
{
"c99name" : "RWKVRerank",
"module_type" : "SwiftTarget",
"name" : "RWKVRerank",
"path" : "Sources/RWKVRerank",
"product_dependencies" : [
"MLX",
"MLXNN",
"MLXRandom"
],
"product_memberships" : [
"RWKVRerank",
"rerank-run"
],
"sources" : [
"RerankData.swift",
"RerankEncode.swift",
"RerankInference.swift",
"RerankLoss.swift",
"RerankMetrics.swift",
"RerankSweep.swift",
"RerankTrainable.swift",
"RerankTraining.swift",
"Reranker.swift",
"RerankerHead.swift",
"StateCache.swift"
],
"target_dependencies" : [
"RWKVGen",
"RWKVKernel"
],
"type" : "library"
},
{
"c99name" : "RWKVQuant",
"module_type" : "SwiftTarget",
"name" : "RWKVQuant",
"path" : "Sources/RWKVQuant",
"product_dependencies" : [
"MLX",
"MLXFast"
],
"product_memberships" : [
"RWKVGen",
"RWKVQuant",
"RWKVEmbedding",
"RWKVRerank",
"rerank-run",
"decode-bench",
"embed-run"
],
"sources" : [
"RwkvqDequant.swift",
"RwkvqFile.swift",
"RwkvqFullConvert.swift",
"RwkvqNative.swift",
"RwkvqSb6GEMV.swift",
"RwkvqSidecar.swift",
"RwkvqSymGEMV.swift",
"RwkvqSymRows.swift"
],
"type" : "library"
},
{
"c99name" : "RWKVKernel",
"module_type" : "SwiftTarget",
"name" : "RWKVKernel",
"path" : "Sources/RWKVKernel",
"product_dependencies" : [
"MLX",
"MLXFast"
],
"product_memberships" : [
"RWKVGen",
"RWKVEmbedding",
"RWKVRerank",
"rerank-run",
"decode-bench",
"embed-run"
],
"sources" : [
"Ablation.swift",
"WKV7.swift",
"WKV7DecodeKernels.swift",
"WKV7Reference.swift",
"WKV7Step.swift",
"WKV7Train.swift"
],
"type" : "library"
},
{
"c99name" : "RWKVGenTests",
"module_type" : "SwiftTarget",
"name" : "RWKVGenTests",
"path" : "Tests/RWKVGenTests",
"sources" : [
"BlockParityTests.swift",
"BlockRefactorDump.swift",
"CompiledStepTests.swift",
"DecodeKernelTests.swift",
"DocExamples.generated.swift",
"EmbeddingCurriculumTests.swift",
"EmbeddingDatasetTests.swift",
"EmbeddingFinetuneTests.swift",
"EmbeddingParityTests.swift",
"EmbeddingSequentialTests.swift",
"EmbeddingSmokeTests.swift",
"EmbeddingStateScopeTests.swift",
"EmbeddingTests.swift",
"FrozenPassKernelTests.swift",
"GPUSamplerTests.swift",
"GeneratePipelineTests.swift",
"GenerateSmokeTests.swift",
"GenerateTests.swift",
"InferenceSmokeTests.swift",
"InitialStateContractTests.swift",
"LoRAFinetuneCharacterizationTests.swift",
"MergeRealCacheTests.swift",
"PartialFinetuneCharacterizationTests.swift",
"PartialFinetuneDump.swift",
"PerplexityTests.swift",
"PrefillTests.swift",
"PretrainTests.swift",
"QuantisedWeightAccessTests.swift",
"RWKVBlockTests.swift",
"RerankDataTests.swift",
"RerankInferenceTests.swift",
"RerankLossTests.swift",
"RerankMetricsTests.swift",
"RerankParityTests.swift",
"RerankSweepTests.swift",
"RerankTrainingTests.swift",
"RerankerHeadTests.swift",
"RetrievalDedupeTests.swift",
"RwkvqBackwardTests.swift",
"RwkvqBaseTests.swift",
"RwkvqDTypeTests.swift",
"RwkvqDownstreamTests.swift",
"RwkvqFileTests.swift",
"RwkvqLegacyDump.swift",
"RwkvqLoadDump.swift",
"RwkvqLoadTests.swift",
"RwkvqModelTests.swift",
"RwkvqQuantReferenceTests.swift",
"RwkvqSb6GEMVTests.swift",
"RwkvqSymGEMVTests.swift",
"RwkvqTests.swift",
"SamplingTests.swift",
"SequentialBackwardTests.swift",
"ShortPassKernelTests.swift",
"StateCacheTests.swift",
"StateTuningTests.swift",
"TinyBackbone.swift",
"TrainerTests.swift",
"WKV7KernelHazardTests.swift",
"WKV7KernelParityTests.swift",
"WKV7SequenceTests.swift",
"WKV7StateTests.swift",
"WKV7StepTests.swift",
"WKV7TrainKernelTests.swift",
"WKVDTypeLeakTests.swift",
"WorldTokenizerTests.swift",
"X070InitTests.swift",
"X070ParityTests.swift",
"X070StateTests.swift"
],
"target_dependencies" : [
"RWKVGen",
"RWKVKernel",
"RWKVQuant",
"RWKVEmbedding",
"RWKVRerank"
],
"type" : "test"
},
{
"c99name" : "RWKVGen",
"module_type" : "SwiftTarget",
"name" : "RWKVGen",
"path" : "Sources/RWKVGen",
"product_dependencies" : [
"MLX",
"MLXNN",
"MLXFast",
"MLXRandom",
"MLXOptimizers"
],
"product_memberships" : [
"RWKVGen",
"RWKVEmbedding",
"RWKVRerank",
"rerank-run",
"decode-bench",
"embed-run"
],
"sources" : [
"Checkpoint.swift",
"GPUSampler.swift",
"Generate.swift",
"InitialState.swift",
"LoRA.swift",
"LoRAFinetune.swift",
"RWKVBatchState.swift",
"RWKVBlock.swift",
"RwkvqBase.swift",
"RwkvqStandaloneLoad.swift",
"Sampling.swift",
"Training/Pretrain.swift",
"Training/SequentialBackward.swift",
"Training/TokenStream.swift",
"Training/TrainableSet.swift",
"Training/Trainer.swift",
"Training/TrainingConfig.swift",
"Training/X070Init.swift",
"WorldTokenizer.swift",
"X070Backbone.swift",
"X070Generation.swift",
"X070PartialFinetune.swift"
],
"target_dependencies" : [
"RWKVKernel",
"RWKVQuant"
],
"type" : "library"
},
{
"c99name" : "RWKVEmbedding",
"module_type" : "SwiftTarget",
"name" : "RWKVEmbedding",
"path" : "Sources/RWKVEmbedding",
"product_dependencies" : [
"MLX",
"MLXNN",
"MLXRandom"
],
"product_memberships" : [
"RWKVEmbedding",
"embed-run"
],
"sources" : [
"ContrastiveLoss.swift",
"Embedder.swift",
"EmbeddingCheckpoint.swift",
"EmbeddingCurriculum.swift",
"EmbeddingDataset.swift",
"EmbeddingFinetune.swift",
"EmbeddingMetrics.swift",
"EmbeddingObjective.swift",
"EmbeddingTrainable.swift",
"GradCache.swift"
],
"target_dependencies" : [
"RWKVGen",
"RWKVKernel"
],
"type" : "library"
},
{
"c99name" : "EmbedRun",
"module_type" : "SwiftTarget",
"name" : "EmbedRun",
"path" : "Sources/EmbedRun",
"product_dependencies" : [
"MLX"
],
"product_memberships" : [
"embed-run"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"RWKVEmbedding",
"RWKVGen"
],
"type" : "executable"
},
{
"c99name" : "DecodeBench",
"module_type" : "SwiftTarget",
"name" : "DecodeBench",
"path" : "Sources/DecodeBench",
"product_dependencies" : [
"MLX"
],
"product_memberships" : [
"decode-bench"
],
"sources" : [
"TrainBench.swift",
"main.swift"
],
"target_dependencies" : [
"RWKVGen",
"RWKVQuant"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
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/209] Write sources
[4/209] Write embed-run-entitlement.plist
[4/209] Write sources
[4/209] Write rerank-run-entitlement.plist
[4/209] Write sources
[6/209] Write decode-bench-entitlement.plist
[6/209] Write sources
[19/209] Compiling _NumericsShims _NumericsShims.c
[20/209] Compiling version.cpp
[21/209] Write swift-version-2F0A5646E1D333AE.txt
[22/209] Compiling no_gguf.cpp
[22/209] Compiling utils.cpp
[24/209] Compiling scheduler.cpp
[25/220] Compiling load.cpp
[26/220] Compiling linalg.cpp
[27/220] Compiling random.cpp
[29/220] Compiling RealModule RealFunctions.swift
[30/221] Compiling RealModule Float80+Real.swift
[31/221] Compiling RealModule Real.swift
[32/221] Compiling RealModule Float16+Real.swift
[33/221] Compiling RealModule ElementaryFunctions.swift
[34/221] Compiling RealModule Float+Real.swift
[35/221] Compiling RealModule AugmentedArithmetic.swift
[36/221] Compiling RealModule AlgebraicField.swift
[37/221] Compiling RealModule ApproximateEquality.swift
[38/221] Emitting module RealModule
[39/221] Compiling RealModule Double+Real.swift
[40/221] Compiling RealModule RelaxedArithmetic.swift
[40/221] Compiling fft.cpp
[41/221] Compiling primitives.cpp
[42/225] Compiling graph_utils.cpp
[43/232] Compiling dtype_utils.cpp
[44/232] Compiling safetensors.cpp
[46/232] Compiling ComplexModule Polar.swift
[47/232] Compiling ComplexModule Complex+StringConvertible.swift
[48/233] Compiling ComplexModule Complex+Numeric.swift
[49/233] Compiling ComplexModule Complex+Hashable.swift
[50/233] Compiling ComplexModule Complex+IntegerLiteral.swift
[51/233] Compiling ComplexModule Complex.swift
[52/233] Compiling ComplexModule Complex+Codable.swift
[53/233] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[54/233] Compiling ComplexModule Complex+AlgebraicField.swift
[55/233] Compiling ComplexModule Scale.swift
[56/233] Compiling ComplexModule Complex+ElementaryFunctions.swift
[57/233] Emitting module ComplexModule
[57/233] Compiling einsum.cpp
[58/233] Compiling transforms.cpp
[59/235] Compiling dtype.cpp
[61/235] Emitting module Numerics
[62/235] Compiling Numerics Numerics.swift
[62/235] Compiling utils.cpp
[63/235] Compiling no_ring.cpp
[64/235] Compiling fast.cpp
[65/235] Compiling primitives.cpp
[66/235] Compiling device.cpp
[67/235] Compiling no_nccl.cpp
[68/235] Compiling ops.cpp
[69/235] Compiling no_mpi.cpp
[70/235] Compiling no_jaccl.cpp
[71/235] Compiling ops.cpp
[72/235] Compiling distributed.cpp
[73/235] Compiling utils.cpp
[74/235] Compiling unary.cpp
[75/235] Compiling ternary.cpp
[76/235] Compiling softmax.cpp
[77/235] Compiling scan.cpp
[78/235] Compiling sort.cpp
[79/235] Compiling slicing.cpp
[80/235] Compiling compile.cpp
[81/235] Compiling scaled_dot_product_attention.cpp
[82/235] Compiling resident.cpp
[83/235] Compiling rope.cpp
[84/235] Compiling metal.cpp
[85/235] Compiling reduce.cpp
[86/235] Compiling primitives.cpp
[87/235] Compiling normalization.cpp
[88/235] Compiling quantized.cpp
[89/235] Compiling logsumexp.cpp
[90/235] Compiling matmul.cpp
[91/235] Compiling hadamard.cpp
[92/235] Compiling event.cpp
[93/235] Compiling fence.cpp
[94/235] Compiling indexing.cpp
[95/235] Compiling distributed.cpp
[96/235] Compiling eval.cpp
[97/235] Compiling device_info.cpp
[98/235] Compiling jit_kernels.cpp
[99/235] Compiling fft.cpp
[100/235] Compiling slicing.cpp
[101/235] Compiling copy.cpp
[102/235] Compiling allocator.cpp
[103/235] Compiling binary.cpp
[104/235] Compiling conv.cpp
[105/235] Compiling primitives.cpp
[106/235] Compiling compiled.cpp
[107/235] Compiling threefry.cpp
[108/235] Compiling export.cpp
[109/235] Compiling device.cpp
[110/235] Compiling custom_kernel.cpp
[111/235] Compiling no_cuda.cpp
[112/235] Compiling copy.cpp
[113/235] Compiling select.cpp
[114/235] Compiling softmax.cpp
[115/235] Compiling scan.cpp
[116/235] Compiling svd.cpp
[116/235] Compiling qrf.cpp
[118/235] Compiling sort.cpp
[119/235] Compiling quantized.cpp
[120/235] Compiling jit_compiler.cpp
[121/235] Compiling primitives.cpp
[122/235] Compiling luf.cpp
[123/235] Compiling matmul.cpp
[124/235] Compiling logsumexp.cpp
[125/235] Compiling masked_mm.cpp
[126/235] Compiling hadamard.cpp
[127/235] Compiling cblas.cpp
[128/235] Compiling inverse.cpp
[129/235] Compiling encoder.cpp
[130/235] Compiling unary.cpp
[131/235] Compiling bnns.cpp
[132/235] Compiling eval.cpp
[133/235] Compiling device_info.cpp
[134/235] Compiling distributed.cpp
[135/235] Compiling fft.cpp
[136/235] Compiling indexing.cpp
[137/235] Compiling eigh.cpp
[138/235] Compiling utils.cpp
[139/235] Compiling eig.cpp
[140/235] Compiling slicing.cpp
[141/235] Compiling arg_reduce.cpp
[142/235] Compiling cholesky.cpp
[143/235] Compiling reduce.cpp
[144/235] Compiling utils.cpp
[145/235] Compiling unary_ops.cpp
[146/235] Compiling unary.cpp
[147/235] Compiling ternary_ops.cpp
[148/235] Compiling ternary.cpp
[149/235] Compiling steel_gemm_splitk_nax.cpp
[150/235] Compiling steel_gemm_splitk.cpp
[151/235] Compiling steel_gemm_segmented.cpp
[152/235] Compiling steel_gemm_masked.cpp
[153/235] Compiling steel_gemm_gather_nax.cpp
[154/235] Compiling steel_gemm_gather.cpp
[155/235] Compiling steel_gemm_fused_nax.cpp
[156/235] Compiling steel_gemm_fused.cpp
[157/235] Compiling steel_conv_general.cpp
[158/235] Compiling compiled.cpp
[159/235] Compiling steel_conv_3d.cpp
[159/235] Compiling steel_conv.cpp
[161/235] Compiling load.cpp
[162/235] Compiling steel_attention.cpp
[163/235] Compiling steel_attention_nax.cpp
[164/235] Compiling sort.cpp
[165/235] Compiling broadcasting.cpp
[166/235] Compiling softmax.cpp
[167/235] Compiling scatter_axis.cpp
[168/235] Compiling scatter.cpp
[169/235] Compiling scan.cpp
[170/235] Compiling reduce_utils.cpp
[171/235] Compiling reduce.cpp
[172/235] Compiling quantized_utils.cpp
[173/235] Compiling quantized_nax.cpp
[174/235] Compiling masked_scatter.cpp
[175/235] Compiling quantized.cpp
[176/235] Compiling common.cpp
[177/235] Compiling hadamard.cpp
[178/235] Compiling logsumexp.cpp
[179/235] Compiling gemv_masked.cpp
[180/235] Compiling gemm_nax.cpp
[181/235] Compiling gemm.cpp
[182/235] Compiling gather_front.cpp
[182/235] Compiling gather_axis.cpp
[184/235] Compiling fp_quantized_nax.cpp
[185/235] Compiling gather.cpp
[186/235] Compiling fp_quantized.cpp
[187/235] Compiling copy.cpp
[187/235] Compiling fft.cpp
[189/235] Compiling compiled_preamble.cpp
[190/235] Compiling conv.cpp
[191/235] Compiling binary_two.cpp
[192/235] Compiling binary_ops.cpp
[193/235] Compiling binary.cpp
[194/235] Compiling arange.cpp
[195/235] Compiling conv.cpp
[196/235] Compiling copy.cpp
[197/235] Compiling array.cpp
[198/235] Compiling version.cpp
[199/235] Compiling transforms_impl.cpp
[200/235] Compiling transforms.cpp
[201/235] Compiling string.cpp
[202/235] Compiling reduce.cpp
[202/235] Compiling stream.cpp
[204/235] Compiling vector.cpp
[205/235] Compiling compiled_conditional.cpp
[206/235] Compiling random.cpp
[207/235] Compiling metal.cpp
[208/235] Compiling memory.cpp
[209/235] Compiling io_types.cpp
[210/235] Compiling linalg.cpp
[211/235] Compiling map.cpp
[212/235] Compiling ops.cpp
[213/235] Compiling io.cpp
[214/235] Compiling fft.cpp
[215/235] Compiling error.cpp
[216/235] Compiling fast.cpp
[217/235] Compiling export.cpp
[218/235] Compiling cuda.cpp
[219/235] Compiling format.cc
[220/235] Compiling device.cpp
[221/235] Compiling compile.cpp
[222/235] Compiling array.cpp
[223/235] Compiling closure.cpp
[224/235] Compiling Cmlx.m
[225/235] Compiling binary.cpp
[227/272] Emitting module MLX
[228/275] Compiling MLX ArrayAt.swift
[229/275] Compiling MLX Cmlx+Util.swift
[230/275] Compiling MLX DType.swift
[231/275] Compiling MLX Device.swift
[232/275] Compiling MLX MLXFast.swift
[233/275] Compiling MLX MLXFastKernel.swift
[234/275] Compiling MLX Memory.swift
[235/275] Compiling MLX Nested.swift
[236/275] Compiling MLX Random.swift
[237/275] Compiling MLX State.swift
[238/275] Compiling MLX Stream.swift
[239/275] Compiling MLX Transforms+Compile.swift
[240/275] Compiling MLX Ops+Array.swift
[241/275] Compiling MLX Ops.swift
[242/275] Compiling MLX ParameterTypes.swift
[243/275] Compiling MLX Protocols.swift
[244/275] Compiling MLX MLXArray+Normalizer.swift
[245/275] Compiling MLX MLXArray+Ops.swift
[246/275] Compiling MLX MLXArray.swift
[247/275] Compiling MLX MLXCustomFunction.swift
[248/275] Compiling MLX ErrorHandler.swift
[249/275] Compiling MLX Export.swift
[250/275] Compiling MLX FFT.swift
[251/275] Compiling MLX Factory.swift
[252/275] Compiling MLX Foundation+Util.swift
[253/275] Compiling MLX GPU+Metal.swift
[254/275] Compiling MLX IO.swift
[255/275] Compiling MLX Linalg.swift
[256/275] Compiling MLX Transforms+CompileOverloads.swift
[257/275] Compiling MLX Transforms+Eval.swift
[258/275] Compiling MLX Transforms+Grad.swift
[259/275] Compiling MLX Transforms+Internal.swift
[260/275] Compiling MLX MLXArray+Bytes.swift
[261/275] Compiling MLX MLXArray+Indexing.swift
[262/275] Compiling MLX MLXArray+Init.swift
[263/275] Compiling MLX MLXArray+Metal.swift
[264/275] Compiling MLX Transforms+Vmap.swift
[265/275] Compiling MLX Transforms.swift
[266/275] Compiling MLX WiredMemory.swift
[267/298] Compiling MLXFast MLXFast.swift
[268/298] Compiling MLXFast MLXFastKernel.swift
[269/298] Emitting module MLXFast
[270/298] Emitting module MLXRandom
[271/298] Compiling MLXRandom Random.swift
[272/314] Compiling RWKVQuant RwkvqSymRows.swift
[273/314] Compiling RWKVQuant RwkvqSb6GEMV.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:13: warning: var 'sb6GemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | }
52 |
53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
| |- warning: var 'sb6GemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sb6GemvKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'sb6GemvKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | /// Битплоскость одним умножением: ниббл → 4 байта. Порядок регистров
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | /// Битплоскость одним умножением: ниббл → 4 байта. Порядок регистров
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:70:57: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
68 |
69 | private func sb6GemvKernel(inFeatures IN: Int, outFeatures OUT: Int, xbits: Int,
70 | nsg NSG: Int, rs RS: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
71 | let key = Sb6GemvKey(inFeatures: IN, outFeatures: OUT, xbits: xbits, nsg: NSG, rs: RS)
72 | if let k = sb6GemvKernelCache[key] { return k }
[274/314] Compiling RWKVKernel WKV7Reference.swift
[275/314] Compiling RWKVKernel WKV7Step.swift
[276/314] Compiling RWKVKernel WKV7DecodeKernels.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:13: warning: var 'stepKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: var 'stepKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stepKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'stepKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
27 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
27 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:26:13: warning: var 'tailKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
| |- warning: var 'tailKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tailKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'tailKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | /// Один шаг рекуррентности на голову. Арифметика и порядок суммирования —
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:26:39: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 |
28 | /// Один шаг рекуррентности на голову. Арифметика и порядок суммирования —
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:33:40: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
31 | /// h' = w[dk]·h[dv,dk] + v[dv]·k[dk] + sa·b[dk]
32 | /// out = Σ_dk h'[dv,dk]·r[dk]
33 | private func wkv7StepKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
34 | if let k = stepKernelCache[H] { return k }
35 | let header = """
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:114:15: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
112 | let D = H * S
113 | let key = "\(H)_\(S)_\(eps)"
114 | let kern: MLXFastKernel
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
115 | if let k = tailKernelCache[key] {
116 | kern = k
[277/314] Compiling RWKVKernel WKV7.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:13: warning: var 'fwdKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: var 'fwdKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fwdKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'fwdKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:35: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
9 |
10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
12 |
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:15:43: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
14 | // Сигнатура (имена буферов, *_shape) генерируется автоматически.
15 | private func wkv7ForwardKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
16 | if let k = fwdKernelCache[H] { return k }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:183:55: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
181 | nonisolated(unsafe) public private(set) var wkv7SequenceLaunches = 0
182 |
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:185:44: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
186 | if let k = seqKernelCache[H] { return k }
187 |
[278/314] Compiling RWKVKernel Ablation.swift
[279/314] Emitting module RWKVKernel
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:13: warning: var 'fwdKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: var 'fwdKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fwdKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'fwdKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:35: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
9 |
10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
12 |
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:15:43: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
14 | // Сигнатура (имена буферов, *_shape) генерируется автоматически.
15 | private func wkv7ForwardKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
16 | if let k = fwdKernelCache[H] { return k }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:183:55: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
181 | nonisolated(unsafe) public private(set) var wkv7SequenceLaunches = 0
182 |
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:185:44: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
186 | if let k = seqKernelCache[H] { return k }
187 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:13: warning: var 'stepKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: var 'stepKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stepKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'stepKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
27 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
27 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:26:13: warning: var 'tailKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
| |- warning: var 'tailKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tailKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'tailKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 | /// Один шаг рекуррентности на голову. Арифметика и порядок суммирования —
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:26:39: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 |
28 | /// Один шаг рекуррентности на голову. Арифметика и порядок суммирования —
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:33:40: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
31 | /// h' = w[dk]·h[dv,dk] + v[dv]·k[dk] + sa·b[dk]
32 | /// out = Σ_dk h'[dv,dk]·r[dk]
33 | private func wkv7StepKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
34 | if let k = stepKernelCache[H] { return k }
35 | let header = """
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:13: warning: var 'ckptFwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ───────────────────────────────────────────────────────────────────────
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
| |- warning: var 'ckptFwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ckptFwdCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'ckptFwdCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
21 | // ───────────────────────────────────────────────────────────────────────
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:24:13: warning: var 'ckptBwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
| |- warning: var 'ckptBwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ckptBwdCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'ckptBwdCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:24:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:26:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 | let key = "\(H)_\(T)"
28 | if let k = ckptFwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:99:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
97 | }
98 |
99 | private func ckptBwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
100 | let key = "\(H)_\(T)"
101 | if let k = ckptBwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:207:13: warning: var 'ckptBwd2Cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
| |- warning: var 'ckptBwd2Cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ckptBwd2Cache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'ckptBwd2Cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
208 |
209 | /// Скалярное произведение четырьмя независимыми аккумуляторами (цепочка
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:207:37: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
208 |
209 | /// Скалярное произведение четырьмя независимыми аккумуляторами (цепочка
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:234:49: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
232 | /// Математика та же, порядок сложения другой: с прежним ядром сходится до
233 | /// ~1e-5 (fp32). Память threadgroup: 9 × 64 float = 2304 байта.
234 | private func ckptBwdKernelV2(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
235 | let key = "\(H)_\(T)"
236 | if let k = ckptBwd2Cache[key] { return k }
[280/314] Compiling RWKVKernel WKV7Train.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:13: warning: var 'ckptFwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | // ───────────────────────────────────────────────────────────────────────
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
| |- warning: var 'ckptFwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ckptFwdCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'ckptFwdCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
21 | // ───────────────────────────────────────────────────────────────────────
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:24:13: warning: var 'ckptBwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
| |- warning: var 'ckptBwdCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ckptBwdCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'ckptBwdCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:24:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:26:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 | let key = "\(H)_\(T)"
28 | if let k = ckptFwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:99:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
97 | }
98 |
99 | private func ckptBwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
100 | let key = "\(H)_\(T)"
101 | if let k = ckptBwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:207:13: warning: var 'ckptBwd2Cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
| |- warning: var 'ckptBwd2Cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ckptBwd2Cache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'ckptBwd2Cache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
208 |
209 | /// Скалярное произведение четырьмя независимыми аккумуляторами (цепочка
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:207:37: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
208 |
209 | /// Скалярное произведение четырьмя независимыми аккумуляторами (цепочка
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:234:49: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
232 | /// Математика та же, порядок сложения другой: с прежним ядром сходится до
233 | /// ~1e-5 (fp32). Память threadgroup: 9 × 64 float = 2304 байта.
234 | private func ckptBwdKernelV2(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
235 | let key = "\(H)_\(T)"
236 | if let k = ckptBwd2Cache[key] { return k }
[281/314] Compiling MLXNN Activations.swift
[282/314] Compiling MLXNN Cache.swift
[283/315] Compiling RWKVQuant RwkvqNative.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:39:16: warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
37 | /// Вес в родном контейнере MLX: то, что принимает `quantizedMM`.
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
| `- warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
1 | import Foundation
2 | import MLX
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
3 |
4 | // ───────────────────────────────────────────────────────────────────────
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:40:16: warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
| `- warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
42 | public let bits: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:41:16: warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
| `- warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
42 | public let bits: Int
43 | public let outFeatures: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
[284/315] Compiling RWKVQuant RwkvqFullConvert.swift
[285/315] Compiling RWKVQuant RwkvqSidecar.swift
[286/315] Compiling RWKVQuant RwkvqDequant.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:13: warning: var 'dequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
63 | }
64 |
65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
| |- warning: var 'dequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dequantKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'dequantKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
66 |
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
63 | }
64 |
65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
66 |
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:69:45: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
68 | xbits: Int, superBlock gwSb: Int,
69 | dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
70 | let outType = metalTypeName(dtype)
71 | let key = DequantKey(inFeatures: IN, outFeatures: OUT,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:309:13: warning: var 'symDequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
| |- warning: var 'symDequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'symDequantKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'symDequantKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
310 |
311 | private func symMetalTypeName(_ d: DType) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:309:52: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
310 |
311 | private func symMetalTypeName(_ d: DType) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:321:59: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
319 |
320 | private func symDequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
321 | bits: Int, dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
322 | let T = symMetalTypeName(dtype)
323 | let key = SymDequantKey(inFeatures: IN, outFeatures: OUT, bits: bits, dtype: T)
[287/315] Emitting module RWKVQuant
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:13: warning: var 'dequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
63 | }
64 |
65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
| |- warning: var 'dequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dequantKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'dequantKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
66 |
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
63 | }
64 |
65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
66 |
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:69:45: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
68 | xbits: Int, superBlock gwSb: Int,
69 | dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
70 | let outType = metalTypeName(dtype)
71 | let key = DequantKey(inFeatures: IN, outFeatures: OUT,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:309:13: warning: var 'symDequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
| |- warning: var 'symDequantKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'symDequantKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'symDequantKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
310 |
311 | private func symMetalTypeName(_ d: DType) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:309:52: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
310 |
311 | private func symMetalTypeName(_ d: DType) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:321:59: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
319 |
320 | private func symDequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
321 | bits: Int, dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
322 | let T = symMetalTypeName(dtype)
323 | let key = SymDequantKey(inFeatures: IN, outFeatures: OUT, bits: bits, dtype: T)
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:39:16: warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
37 | /// Вес в родном контейнере MLX: то, что принимает `quantizedMM`.
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
| `- warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
1 | import Foundation
2 | import MLX
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
3 |
4 | // ───────────────────────────────────────────────────────────────────────
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:40:16: warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
| `- warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
42 | public let bits: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:41:16: warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
| `- warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
42 | public let bits: Int
43 | public let outFeatures: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:13: warning: var 'sb6GemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | }
52 |
53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
| |- warning: var 'sb6GemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sb6GemvKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'sb6GemvKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | /// Битплоскость одним умножением: ниббл → 4 байта. Порядок регистров
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | /// Битплоскость одним умножением: ниббл → 4 байта. Порядок регистров
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:70:57: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
68 |
69 | private func sb6GemvKernel(inFeatures IN: Int, outFeatures OUT: Int, xbits: Int,
70 | nsg NSG: Int, rs RS: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
71 | let key = Sb6GemvKey(inFeatures: IN, outFeatures: OUT, xbits: xbits, nsg: NSG, rs: RS)
72 | if let k = sb6GemvKernelCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:13: warning: var 'symGemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | }
52 |
53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
| |- warning: var 'symGemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'symGemvKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'symGemvKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | private func symGemvHeader(IN: Int, OUT: Int, NN: Int, outPer: Int) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | private func symGemvHeader(IN: Int, OUT: Int, NN: Int, outPer: Int) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:90:76: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
88 | /// outPer == OUT это даёт xi = 0, и индексация вырождается в обычную.
89 | private func symGemvKernel(inFeatures IN: Int, outFeatures OUT: Int,
90 | bits: Int, rows NN: Int, outPer: Int? = nil) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
91 | let per = outPer ?? OUT
92 | precondition(OUT % per == 0 && per % symGemvRS == 0,
[288/315] Compiling RWKVQuant RwkvqSymGEMV.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:13: warning: var 'symGemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | }
52 |
53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
| |- warning: var 'symGemvKernelCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'symGemvKernelCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'symGemvKernelCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | private func symGemvHeader(IN: Int, OUT: Int, NN: Int, outPer: Int) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | private func symGemvHeader(IN: Int, OUT: Int, NN: Int, outPer: Int) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:90:76: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
88 | /// outPer == OUT это даёт xi = 0, и индексация вырождается в обычную.
89 | private func symGemvKernel(inFeatures IN: Int, outFeatures OUT: Int,
90 | bits: Int, rows NN: Int, outPer: Int? = nil) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
91 | let per = outPer ?? OUT
92 | precondition(OUT % per == 0 && per % symGemvRS == 0,
[289/315] Compiling RWKVQuant RwkvqFile.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqFile.swift:289:39: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
287 | // на 1.5B COMPRESSION это +0.2 ГБ footprint в момент окончания.
288 | func releaseTransients(_ bytes: Int) {
289 | if bytes >= 8 << 20 { GPU.clearCache() }
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
290 | }
291 |
[290/315] Compiling MLXNN ValueAndGrad.swift
[291/315] Compiling MLXNN Recurrent.swift
[292/315] Compiling MLXNN Transformer.swift
[293/315] Compiling MLXNN Normalization.swift
[294/315] Compiling MLXNN Pooling.swift
[295/315] Compiling MLXNN ConvolutionTransposed.swift
[296/315] Compiling MLXNN Dropout.swift
[297/315] Compiling MLXNN Containers.swift
[298/315] Compiling MLXNN Convolution.swift
[299/315] Compiling MLXNN Upsample.swift
[300/315] Compiling MLXNN Embedding.swift
[301/315] Compiling MLXNN Linear.swift
[302/315] Compiling MLXNN Losses.swift
[303/315] Compiling MLXNN Module.swift
[304/315] Compiling MLXNN PositionalEncoding.swift
[305/315] Compiling MLXNN Quantized.swift
[306/315] Emitting module MLXNN
[307/317] Compiling MLXOptimizers Optimizers.swift
[308/317] Emitting module MLXOptimizers
[309/338] Emitting module RWKVGen
[310/340] Compiling RWKVGen RWKVBatchState.swift
[311/340] Compiling RWKVGen RWKVBlock.swift
[312/340] Compiling RWKVGen TrainableSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/Training/Trainer.swift:84:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
82 |
83 | if cfg.cacheLimitGB > 0 {
84 | MLX.GPU.set(cacheLimit: Int(cfg.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
85 | }
86 | // Конвейер — настройка ЭТОГО запуска, а не процесса: включается на
[313/340] Compiling RWKVGen Trainer.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/Training/Trainer.swift:84:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
82 |
83 | if cfg.cacheLimitGB > 0 {
84 | MLX.GPU.set(cacheLimit: Int(cfg.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
85 | }
86 | // Конвейер — настройка ЭТОГО запуска, а не процесса: включается на
[314/340] Compiling RWKVGen InitialState.swift
[315/340] Compiling RWKVGen LoRA.swift
[316/340] Compiling RWKVGen LoRAFinetune.swift
[317/340] Compiling RWKVGen Sampling.swift
[318/340] Compiling RWKVGen Pretrain.swift
[319/340] Compiling RWKVGen TrainingConfig.swift
[320/340] Compiling RWKVGen X070Init.swift
[321/340] Compiling RWKVGen RwkvqBase.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:142:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
140 | // исходные буферы плотных параметров отпущены — вернуть их из кеша
141 | // MLX до того, как начнёт расти база
142 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
143 |
144 | let cfg = X070Config(nLayer: manifest.nLayer, nEmbd: manifest.nEmbd,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:214:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
212 | // после загрузки против 1.7 ГБ после первого декода.
213 | eval(Array(bb.w.values))
214 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
215 |
216 | // короткий параллельный проход — ядрами GEMV; порог по раскладке базы
[322/340] Compiling RWKVGen RwkvqStandaloneLoad.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:142:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
140 | // исходные буферы плотных параметров отпущены — вернуть их из кеша
141 | // MLX до того, как начнёт расти база
142 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
143 |
144 | let cfg = X070Config(nLayer: manifest.nLayer, nEmbd: manifest.nEmbd,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:214:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
212 | // после загрузки против 1.7 ГБ после первого декода.
213 | eval(Array(bb.w.values))
214 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
215 |
216 | // короткий параллельный проход — ядрами GEMV; порог по раскладке базы
[323/340] Compiling RWKVGen SequentialBackward.swift
[324/340] Compiling RWKVGen TokenStream.swift
[325/340] Compiling RWKVGen WorldTokenizer.swift
[326/340] Compiling RWKVGen X070Backbone.swift
[327/340] Compiling RWKVGen Checkpoint.swift
[328/340] Compiling RWKVGen GPUSampler.swift
[329/340] Compiling RWKVGen Generate.swift
[330/340] Compiling RWKVGen X070Generation.swift
[331/340] Compiling RWKVGen X070PartialFinetune.swift
[332/364] Compiling RWKVEmbedding EmbeddingTrainable.swift
[333/365] Compiling RWKVEmbedding EmbeddingObjective.swift
[334/365] Emitting module RWKVRerank
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
262 | precondition(!samples.isEmpty, "нечего кодировать")
263 | if config.cacheLimitGB > 0 {
264 | MLX.GPU.set(cacheLimit: Int(config.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
265 | }
266 | let nCand = samples[0].docIds.count
[335/366] Compiling RWKVRerank RerankerHead.swift
[336/366] Compiling RWKVEmbedding EmbeddingMetrics.swift
[337/366] Compiling RWKVEmbedding GradCache.swift
[338/366] Compiling RWKVEmbedding EmbeddingDataset.swift
[339/366] Compiling RWKVEmbedding EmbeddingFinetune.swift
[340/366] Compiling RWKVEmbedding Embedder.swift
[341/366] Compiling RWKVEmbedding EmbeddingCheckpoint.swift
[342/366] Compiling RWKVEmbedding ContrastiveLoss.swift
[343/366] Emitting module RWKVEmbedding
[344/366] Compiling RWKVEmbedding EmbeddingCurriculum.swift
[345/368] Compiling RWKVRerank RerankTrainable.swift
[346/368] Compiling RWKVRerank RerankSweep.swift
[347/368] Compiling RWKVRerank RerankTraining.swift
[348/368] Compiling RWKVRerank RerankMetrics.swift
[349/368] Compiling RWKVRerank RerankInference.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankInference.swift:336:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
334 | let enc = config.encode
335 | if enc.cacheLimitGB > 0 {
336 | MLX.GPU.set(cacheLimit: Int(enc.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
337 | }
338 | var parts: [RWKVBatchState] = []
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankInference.swift:386:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
384 | let enc = config.encode
385 | if enc.cacheLimitGB > 0 {
386 | MLX.GPU.set(cacheLimit: Int(enc.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
387 | }
388 |
[350/368] Compiling RWKVRerank RerankData.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
262 | precondition(!samples.isEmpty, "нечего кодировать")
263 | if config.cacheLimitGB > 0 {
264 | MLX.GPU.set(cacheLimit: Int(config.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
265 | }
266 | let nCand = samples[0].docIds.count
[351/368] Compiling RWKVRerank RerankEncode.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
262 | precondition(!samples.isEmpty, "нечего кодировать")
263 | if config.cacheLimitGB > 0 {
264 | MLX.GPU.set(cacheLimit: Int(config.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
265 | }
266 | let nCand = samples[0].docIds.count
[352/368] Compiling RWKVRerank RerankLoss.swift
[353/368] Compiling RWKVRerank Reranker.swift
[354/368] Compiling RWKVRerank StateCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/StateCache.swift:456:14: warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy)
454 | // а не обёртку MLXArrayData.
455 | let payload = (dtype == .float16 ? f32.asType(.float16) : f32)
456 | .asData(disambiguate: true)
| `- warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy)
457 | payload.withUnsafeBytes { src in
458 | for (i, r) in rows.enumerated() {
[355/371] Emitting module DecodeBench
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1401:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
1399 | // освободили» дают одинаковые 6.9 ГБ.
1400 | let footBefore = processFootprintGB()
1401 | MLX.GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
1402 | print(String(format: "footprint в конце %.2f ГБ (до clearCache %.2f)",
1403 | processFootprintGB(), footBefore))
[356/371] Compiling DecodeBench TrainBench.swift
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:35:24: warning: capture of 'self' with non-sendable type 'FootprintSampler' in a '@Sendable' closure
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | final class FootprintSampler {
| `- note: class 'FootprintSampler' does not conform to the 'Sendable' protocol
26 | private var peak = 0.0
27 | private let lock = NSLock()
:
33 | while true {
34 | let f = processFootprintGB()
35 | if f > self.guardGB {
| `- warning: capture of 'self' with non-sendable type 'FootprintSampler' in a '@Sendable' closure
36 | print(String(format: "ПРЕДОХРАНИТЕЛЬ: footprint %.1f ГБ выше порога %.1f — выход", f, self.guardGB))
37 | fflush(stdout); exit(3)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:85:65: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
83 | + "MLX активная %.2f ГБ, footprint +%.2f ГБ",
84 | L, bb.cfg.nEmbd, Date().timeIntervalSince(t), info.numAdapters,
85 | Double(info.trainableParams) / 1e6, Double(GPU.activeMemory) / 1e9,
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
86 | processFootprintGB() - f0))
87 | print("ранг \(o.rank), слои \(o.layersFrom)..<\(L), батч \(o.batch), шагов \(o.steps), "
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:106:76: warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
104 | cfg.lossChunkTokens = o.lossChunk
105 | cfg.sequentialBackward = o.sequential
106 | LoRAFinetune.run(bb, nextBatch: { (x: x, y: y) }, config: cfg) { step, l, _, _ in
| `- warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
107 | if step == 1 {
108 | GPU.clearCache(); GPU.resetPeakMemory(); sampler.reset(); sw0 = swapUsedMB()
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/LoRAFinetune.swift:166:24: note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
164 | /// накопление и клип — общие.
165 | @discardableResult
166 | public static func run(
| `- note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
167 | _ bb: X070Backbone,
168 | nextBatch: () -> LoRABatch,
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:108:25: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
106 | LoRAFinetune.run(bb, nextBatch: { (x: x, y: y) }, config: cfg) { step, l, _, _ in
107 | if step == 1 {
108 | GPU.clearCache(); GPU.resetPeakMemory(); sampler.reset(); sw0 = swapUsedMB()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
109 | }
110 | stamps.append(Date()); loss = l
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:113:38: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
111 | }
112 | let per = zip(stamps.dropFirst(), stamps).map { $0.timeIntervalSince($1) * 1e3 }
113 | let peakMLX = Double(GPU.peakMemory) / 1e9, peakFP = sampler.take()
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
114 | let active = Double(GPU.activeMemory) / 1e9
115 | let ms = median(per)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:114:37: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
112 | let per = zip(stamps.dropFirst(), stamps).map { $0.timeIntervalSince($1) * 1e3 }
113 | let peakMLX = Double(GPU.peakMemory) / 1e9, peakFP = sampler.take()
114 | let active = Double(GPU.activeMemory) / 1e9
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
115 | let ms = median(per)
116 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:127:17: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
125 | return median(ts)
126 | }
127 | GPU.clearCache(); GPU.resetPeakMemory()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
128 | // на длинной последовательности прямой проход с логитами целиком
129 | // сам пикует выше шага — тогда не меряем (--tb-no-forward)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:131:38: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
129 | // сам пикует выше шага — тогда не меряем (--tb-no-forward)
130 | let fwdTrain = o.forward ? forward { bb(x).sum() } : 0
131 | let fwdPeak = Double(GPU.peakMemory) / 1e9
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
132 | let fwdFrozen = o.forward ? forward { bb.withoutGradientPath { bb(x).sum() } } : 0
133 | GPU.clearCache()
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:133:17: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
131 | let fwdPeak = Double(GPU.peakMemory) / 1e9
132 | let fwdFrozen = o.forward ? forward { bb.withoutGradientPath { bb(x).sum() } } : 0
133 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
134 |
135 | if o.profile {
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:144:82: warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
142 | let c = LoRAConfig(lr: 0, maxSteps: 4, cacheLimitGB: o.cacheLimitGB, logEvery: 1,
143 | useBlockCheckpoint: ckpt)
144 | LoRAFinetune.run(bb, nextBatch: { (x: x, y: y) }, config: c) { _, _, _, _ in st.append(Date()) }
| `- warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
145 | return median(zip(st.dropFirst(), st).map { $0.timeIntervalSince($1) * 1e3 })
146 | }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/LoRAFinetune.swift:166:24: note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
164 | /// накопление и клип — общие.
165 | @discardableResult
166 | public static func run(
| `- note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
167 | _ bb: X070Backbone,
168 | nextBatch: () -> LoRABatch,
[357/371] Compiling DecodeBench main.swift
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1401:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
1399 | // освободили» дают одинаковые 6.9 ГБ.
1400 | let footBefore = processFootprintGB()
1401 | MLX.GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
1402 | print(String(format: "footprint в конце %.2f ГБ (до clearCache %.2f)",
1403 | processFootprintGB(), footBefore))
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:611:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
609 | bb.fuseLerp = !args.noFuseLerp
610 | if norm, args.nativeIn16 { bb.rwkvqNativeInputDType = .float16 }
611 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
612 | let grown = processFootprintGB() - before
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:614:80: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
612 | let grown = processFootprintGB() - before
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
614 | norm ? "норма" : "прежний", grown, Double(GPU.activeMemory) / 1e9,
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
615 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
616 | return (bb, grown)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:615:33: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
614 | norm ? "норма" : "прежний", grown, Double(GPU.activeMemory) / 1e9,
615 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
616 | return (bb, grown)
617 | }
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:615:64: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
614 | norm ? "норма" : "прежний", grown, Double(GPU.activeMemory) / 1e9,
615 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
616 | return (bb, grown)
617 | }
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:654:51: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
652 | }
653 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
654 | processFootprintGB(), Double(GPU.activeMemory) / 1e9,
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
655 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
656 | }
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:655:29: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
653 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
654 | processFootprintGB(), Double(GPU.activeMemory) / 1e9,
655 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
656 | }
657 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:655:60: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
653 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
654 | processFootprintGB(), Double(GPU.activeMemory) / 1e9,
655 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
656 | }
657 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:717:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
715 | print("истина посчитана (\(tp), счёт fp32)")
716 | }
717 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
718 |
719 | // 2. точный счёт тех же квантованных весов
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:725:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
723 | for i in 0 ..< N { exact.append(logProbs(e, i)) }
724 | }
725 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
726 |
727 | // 3. норма, два плеча на одной модели
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:821:51: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
819 | labels.1, median(mB), 1000 / median(mB), median(mB) / median(mA), agree, topA.count))
820 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, пик %.2f ГБ",
821 | processFootprintGB(), Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
822 | }
823 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:821:83: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
819 | labels.1, median(mB), 1000 / median(mB), median(mB) / median(mA), agree, topA.count))
820 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, пик %.2f ГБ",
821 | processFootprintGB(), Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
822 | }
823 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:871:119: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
869 | name, args.rounds, mT.isEmpty ? .nan : median(mT), mW.isEmpty ? .nan : median(mW)))
870 | }
871 | print(String(format: "footprint в конце: %.2f ГБ; MLX пик %.2f ГБ", processFootprintGB(), Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
872 | }
873 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:877:81: error: ambiguous use of 'init'
875 | func appBench(_ path: String, _ args: Args) throws {
876 | let win = try loadArrays(url: URL(fileURLWithPath: expand(args.windows)))["ids"]!
877 | let pre = (win[0].asArray(Int32.self) + win[4].asArray(Int32.self)).map(Int.init) // en + ru, 512
| `- error: ambiguous use of 'init'
878 | let dec = win[8].asArray(Int32.self).prefix(72).map(Int.init) // sr
879 | let f0 = processFootprintGB()
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init?<T>(exactly source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init<T>(_ source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<T>(truncatingIfNeeded source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<Other>(clamping source: Other) where Other : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:884:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
882 | : args.noNative ? try X070Backbone.load(fromRwkvq: expand(path), useNativeKernel: false)
883 | : try X070Backbone.load(fromRwkvq: expand(path))
884 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
885 | print("sb6: \(bb.rwkvqBackedKeys.contains { bb.hasNativeRepack($0) } ? "родной контейнер MLX" : "K3 (ядро GEMV на шаге)")")
886 | print(String(format: "загрузка %.1f с; footprint +%.2f ГБ; MLX активная %.2f ГБ, пик %.2f ГБ",
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:888:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
886 | print(String(format: "загрузка %.1f с; footprint +%.2f ГБ; MLX активная %.2f ГБ, пик %.2f ГБ",
887 | Date().timeIntervalSince(t0), processFootprintGB() - f0,
888 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
889 | fflush(stdout)
890 | // префилл: первый вызов — сборка ядер, меряются следующие
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:888:61: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
886 | print(String(format: "загрузка %.1f с; footprint +%.2f ГБ; MLX активная %.2f ГБ, пик %.2f ГБ",
887 | Date().timeIntervalSince(t0), processFootprintGB() - f0,
888 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
889 | fflush(stdout)
890 | // префилл: первый вызов — сборка ядер, меряются следующие
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:903:52: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
901 | let pm = median(Array(ts.dropFirst()))
902 | print(String(format: "префилл T=512: первый вызов %.0f мс; далее медиана %.1f мс = %.0f ток/с; MLX пик %.2f ГБ",
903 | ts[0], pm, 512e3 / pm, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
904 | fflush(stdout)
905 | // декод: продолжение после префилла, teacher-forced, чтение argmax на каждом шаге
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:920:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
918 | print(String(format: "декод: медиана %.2f мс/ток = %.1f ток/с (раунды %@); MLX активная %.2f, пик %.2f ГБ; footprint %.2f ГБ",
919 | median(ms), 1e3 / median(ms), ms.map { String(format: "%.2f", $0) }.joined(separator: " "),
920 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9, processFootprintGB()))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
921 | // конвейер против синхронного жадного декода, чередованием: свободная
922 | // генерация от одного и того же состояния, 64 токена на раунд
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:920:61: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
918 | print(String(format: "декод: медиана %.2f мс/ток = %.1f ток/с (раунды %@); MLX активная %.2f, пик %.2f ГБ; footprint %.2f ГБ",
919 | median(ms), 1e3 / median(ms), ms.map { String(format: "%.2f", $0) }.joined(separator: " "),
920 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9, processFootprintGB()))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
921 | // конвейер против синхронного жадного декода, чередованием: свободная
922 | // генерация от одного и того же состояния, 64 токена на раунд
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1045:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
1043 | let dt = Date().timeIntervalSince(t)
1044 | print(String(format: "загрузка %.2f с | MLX активная %.3f, кеш %.3f, пик %.3f ГБ | footprint +%.3f ГБ | emb %@",
1045 | dt, gb(GPU.activeMemory), gb(GPU.cacheMemory), gb(GPU.peakMemory),
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
1046 | processFootprintGB() - f0, bb.rwkvqEmbTable == nil ? "плотный" : "сжатый (строки выборкой)"))
1047 | // освобождённое при загрузке Metal возвращает системе не сразу
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1045:51: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
1043 | let dt = Date().timeIntervalSince(t)
1044 | print(String(format: "загрузка %.2f с | MLX активная %.3f, кеш %.3f, пик %.3f ГБ | footprint +%.3f ГБ | emb %@",
1045 | dt, gb(GPU.activeMemory), gb(GPU.cacheMemory), gb(GPU.peakMemory),
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
1046 | processFootprintGB() - f0, bb.rwkvqEmbTable == nil ? "плотный" : "сжатый (строки выборкой)"))
1047 | // освобождённое при загрузке Metal возвращает системе не сразу
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1045:72: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
1043 | let dt = Date().timeIntervalSince(t)
1044 | print(String(format: "загрузка %.2f с | MLX активная %.3f, кеш %.3f, пик %.3f ГБ | footprint +%.3f ГБ | emb %@",
1045 | dt, gb(GPU.activeMemory), gb(GPU.cacheMemory), gb(GPU.peakMemory),
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
1046 | processFootprintGB() - f0, bb.rwkvqEmbTable == nil ? "плотный" : "сжатый (строки выборкой)"))
1047 | // освобождённое при загрузке Metal возвращает системе не сразу
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1058:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
1056 | let bb = try X070Backbone.load(fromRwkvq: expand(path))
1057 | let sc = try RwkvqSidecar.open(expand(path))
1058 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
1059 | let win = try loadArrays(url: URL(fileURLWithPath: expand(args.windows)))["ids"]!
1060 | let pre = (win[0].asArray(Int32.self) + win[4].asArray(Int32.self)).map(Int.init)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1060:81: error: ambiguous use of 'init'
1058 | GPU.clearCache()
1059 | let win = try loadArrays(url: URL(fileURLWithPath: expand(args.windows)))["ids"]!
1060 | let pre = (win[0].asArray(Int32.self) + win[4].asArray(Int32.self)).map(Int.init)
| `- error: ambiguous use of 'init'
1061 | func med(_ f: () -> Void) -> Double {
1062 | f()
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init?<T>(exactly source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init<T>(_ source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<T>(truncatingIfNeeded source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<Other>(clamping source: Other) where Other : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:219:54: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
217 | print(String(format: "база: %@, L=%d D=%d; загрузка %.1f с; MLX активная %.2f ГБ, footprint +%.2f ГБ",
218 | quantised ? ".rwkvq" : "плотная", base.cfg.nLayer, base.cfg.nEmbd,
219 | Date().timeIntervalSince(t), Double(GPU.activeMemory) / 1e9, footprintGB() - f0))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
220 |
221 | /// Строки задачи: отложенные — с конца, обучающие — с начала (не пересекаются).
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:253:71: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
251 | let unpacked = base.unpackTopLayers(args.unpack ?? n)
252 | print(String(format: "развёрнуто в плотные: %d весов верхних %d слоёв; MLX активная %.2f ГБ",
253 | unpacked.count, args.unpack ?? n, Double(GPU.activeMemory) / 1e9))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
254 | }
255 | mode = .topLayers(n)
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:397:102: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
395 | let v = base.withoutGradientPath { arm.1() }
396 | eval(v)
397 | if round > 0 { times[i].append(Date().timeIntervalSince(t0)); peaks[i].append(Double(GPU.peakMemory) / 1e9) }
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
398 | if reference == nil { reference = v }
399 | else if round == 0 {
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:418:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
416 | // Разность пика и активной памяти до фазы — её временное потребление.
417 | var stepNo = 0
418 | var before = Double(GPU.activeMemory) / 1e9
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
419 | SequentialBody.probe = { name in
420 | if name == "batch" { stepNo += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:421:33: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
419 | SequentialBody.probe = { name in
420 | if name == "batch" { stepNo += 1 }
421 | let active = Double(GPU.activeMemory) / 1e9, peak = Double(GPU.peakMemory) / 1e9
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
422 | if stepNo == 3 { // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
423 | print(String(format: " ПРИБОР %-10@ активная %.3f пик за фазу %.3f (+%.3f к началу фазы) кэш %.3f",
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:421:72: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
419 | SequentialBody.probe = { name in
420 | if name == "batch" { stepNo += 1 }
421 | let active = Double(GPU.activeMemory) / 1e9, peak = Double(GPU.peakMemory) / 1e9
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
422 | if stepNo == 3 { // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
423 | print(String(format: " ПРИБОР %-10@ активная %.3f пик за фазу %.3f (+%.3f к началу фазы) кэш %.3f",
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:424:84: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
422 | if stepNo == 3 { // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
423 | print(String(format: " ПРИБОР %-10@ активная %.3f пик за фазу %.3f (+%.3f к началу фазы) кэш %.3f",
424 | name as NSString, active, peak, peak - before, Double(GPU.cacheMemory) / 1e9))
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
425 | }
426 | before = active
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:443:47: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
441 | if s.step > 2 {
442 | abTime[arm].append(Date().timeIntervalSince(last))
443 | abPeak[arm].append(Double(GPU.peakMemory) / 1e9)
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
444 | }
445 | SequentialBody.pipelined = s.step % 2 == 1
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:469:29: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
467 | print(String(format: "после обучения: %@ | %d шагов за %.1f с (%.2f с/шаг) | пик MLX %.2f ГБ, footprint +%.2f ГБ",
468 | r.after?.description ?? "—", r.steps, r.seconds, r.seconds / Double(max(1, r.steps)),
469 | Double(GPU.peakMemory) / 1e9, footprintGB() - f0))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
470 | report["before"] = r.before?.headline ?? Double.nan
471 | report["after"] = r.after?.headline ?? Double.nan
Fetching https://github.com/ml-explore/mlx-swift
[1/17488] Fetching mlx-swift
Fetched https://github.com/ml-explore/mlx-swift from cache (2.81s)
Computing version for https://github.com/ml-explore/mlx-swift
Computed https://github.com/ml-explore/mlx-swift at 0.31.4 (0.54s)
Fetching https://github.com/apple/swift-numerics from cache
Fetched https://github.com/apple/swift-numerics from cache (1.02s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.53s)
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
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/10] Write swift-version-2F0A5646E1D333AE.txt
[2/21] Compiling RealModule RealFunctions.swift
[3/21] Compiling RealModule Real.swift
[4/22] Compiling RealModule Float80+Real.swift
[5/22] Compiling RealModule ElementaryFunctions.swift
[6/22] Compiling RealModule Float+Real.swift
[7/22] Compiling RealModule Float16+Real.swift
[8/22] Compiling RealModule AugmentedArithmetic.swift
[9/22] Compiling RealModule AlgebraicField.swift
[10/22] Compiling RealModule ApproximateEquality.swift
[11/22] Compiling RealModule Double+Real.swift
[12/22] Emitting module RealModule
[13/22] Compiling RealModule RelaxedArithmetic.swift
[14/33] Compiling ComplexModule Polar.swift
[15/34] Compiling ComplexModule Complex+Hashable.swift
[16/34] Compiling ComplexModule Complex+IntegerLiteral.swift
[17/34] Compiling ComplexModule Complex.swift
[18/34] Compiling ComplexModule Complex+Numeric.swift
[19/34] Compiling ComplexModule Complex+StringConvertible.swift
[20/34] Compiling ComplexModule Scale.swift
[21/34] Compiling ComplexModule Complex+Codable.swift
[22/34] Compiling ComplexModule Complex+ElementaryFunctions.swift
[23/34] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[24/34] Compiling ComplexModule Complex+AlgebraicField.swift
[25/34] Emitting module ComplexModule
[26/36] Emitting module Numerics
[27/36] Compiling Numerics Numerics.swift
[28/73] Compiling MLX ArrayAt.swift
[29/73] Compiling MLX Cmlx+Util.swift
[30/73] Compiling MLX DType.swift
[31/73] Compiling MLX Device.swift
[32/76] Emitting module MLX
[33/76] Compiling MLX MLXFast.swift
[34/76] Compiling MLX MLXFastKernel.swift
[35/76] Compiling MLX Memory.swift
[36/76] Compiling MLX Nested.swift
[37/76] Compiling MLX Ops+Array.swift
[38/76] Compiling MLX Ops.swift
[39/76] Compiling MLX ParameterTypes.swift
[40/76] Compiling MLX Protocols.swift
[41/76] Compiling MLX Foundation+Util.swift
[42/76] Compiling MLX GPU+Metal.swift
[43/76] Compiling MLX IO.swift
[44/76] Compiling MLX Linalg.swift
[45/76] Compiling MLX MLXArray+Normalizer.swift
[46/76] Compiling MLX MLXArray+Ops.swift
[47/76] Compiling MLX MLXArray.swift
[48/76] Compiling MLX MLXCustomFunction.swift
[49/76] Compiling MLX Transforms+CompileOverloads.swift
[50/76] Compiling MLX Transforms+Eval.swift
[51/76] Compiling MLX Transforms+Grad.swift
[52/76] Compiling MLX Transforms+Internal.swift
[53/76] Compiling MLX Random.swift
[54/76] Compiling MLX State.swift
[55/76] Compiling MLX Stream.swift
[56/76] Compiling MLX Transforms+Compile.swift
[57/76] Compiling MLX ErrorHandler.swift
[58/76] Compiling MLX Export.swift
[59/76] Compiling MLX FFT.swift
[60/76] Compiling MLX Factory.swift
[61/76] Compiling MLX Transforms+Vmap.swift
[62/76] Compiling MLX Transforms.swift
[63/76] Compiling MLX WiredMemory.swift
[64/76] Compiling MLX MLXArray+Bytes.swift
[65/76] Compiling MLX MLXArray+Indexing.swift
[66/76] Compiling MLX MLXArray+Init.swift
[67/76] Compiling MLX MLXArray+Metal.swift
[68/99] Compiling MLXFast MLXFastKernel.swift
[69/99] Compiling MLXFast MLXFast.swift
[70/99] Emitting module MLXFast
[71/99] Emitting module MLXRandom
[72/99] Compiling MLXRandom Random.swift
[73/115] Compiling RWKVKernel WKV7Step.swift
[74/115] Compiling RWKVQuant RwkvqSymRows.swift
[75/115] Compiling RWKVKernel Ablation.swift
[76/115] Emitting module RWKVKernel
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:35: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
9 |
10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
12 |
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:15:43: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
14 | // Сигнатура (имена буферов, *_shape) генерируется автоматически.
15 | private func wkv7ForwardKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
16 | if let k = fwdKernelCache[H] { return k }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:183:55: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
181 | nonisolated(unsafe) public private(set) var wkv7SequenceLaunches = 0
182 |
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:185:44: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
186 | if let k = seqKernelCache[H] { return k }
187 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
27 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:26:39: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 |
28 | /// Один шаг рекуррентности на голову. Арифметика и порядок суммирования —
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:33:40: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
31 | /// h' = w[dk]·h[dv,dk] + v[dv]·k[dk] + sa·b[dk]
32 | /// out = Σ_dk h'[dv,dk]·r[dk]
33 | private func wkv7StepKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
34 | if let k = stepKernelCache[H] { return k }
35 | let header = """
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
21 | // ───────────────────────────────────────────────────────────────────────
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:24:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:26:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 | let key = "\(H)_\(T)"
28 | if let k = ckptFwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:99:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
97 | }
98 |
99 | private func ckptBwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
100 | let key = "\(H)_\(T)"
101 | if let k = ckptBwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:207:37: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
208 |
209 | /// Скалярное произведение четырьмя независимыми аккумуляторами (цепочка
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:234:49: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
232 | /// Математика та же, порядок сложения другой: с прежним ядром сходится до
233 | /// ~1e-5 (fp32). Память threadgroup: 9 × 64 float = 2304 байта.
234 | private func ckptBwdKernelV2(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
235 | let key = "\(H)_\(T)"
236 | if let k = ckptBwd2Cache[key] { return k }
[77/115] Compiling RWKVKernel WKV7DecodeKernels.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
23 | // ───────────────────────────────────────────────────────────────────────
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
27 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:26:39: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 |
25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 |
28 | /// Один шаг рекуррентности на голову. Арифметика и порядок суммирования —
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:33:40: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
31 | /// h' = w[dk]·h[dv,dk] + v[dv]·k[dk] + sa·b[dk]
32 | /// out = Σ_dk h'[dv,dk]·r[dk]
33 | private func wkv7StepKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
34 | if let k = stepKernelCache[H] { return k }
35 | let header = """
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:114:15: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
112 | let D = H * S
113 | let key = "\(H)_\(S)_\(eps)"
114 | let kern: MLXFastKernel
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
115 | if let k = tailKernelCache[key] {
116 | kern = k
[78/115] Compiling RWKVKernel WKV7.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:35: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
9 |
10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
12 |
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:15:43: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
14 | // Сигнатура (имена буферов, *_shape) генерируется автоматически.
15 | private func wkv7ForwardKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
16 | if let k = fwdKernelCache[H] { return k }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:183:55: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
181 | nonisolated(unsafe) public private(set) var wkv7SequenceLaunches = 0
182 |
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:185:44: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
186 | if let k = seqKernelCache[H] { return k }
187 |
[79/115] Compiling RWKVKernel WKV7Reference.swift
[80/115] Compiling RWKVKernel WKV7Train.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
21 | // ───────────────────────────────────────────────────────────────────────
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:24:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
22 |
23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:26:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
25 |
26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
27 | let key = "\(H)_\(T)"
28 | if let k = ckptFwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:99:47: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
97 | }
98 |
99 | private func ckptBwdKernel(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
100 | let key = "\(H)_\(T)"
101 | if let k = ckptBwdCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:207:37: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
208 |
209 | /// Скалярное произведение четырьмя независимыми аккумуляторами (цепочка
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:234:49: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
232 | /// Математика та же, порядок сложения другой: с прежним ядром сходится до
233 | /// ~1e-5 (fp32). Память threadgroup: 9 × 64 float = 2304 байта.
234 | private func ckptBwdKernelV2(H: Int, T: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
235 | let key = "\(H)_\(T)"
236 | if let k = ckptBwd2Cache[key] { return k }
[81/115] Compiling RWKVQuant RwkvqSymGEMV.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | private func symGemvHeader(IN: Int, OUT: Int, NN: Int, outPer: Int) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:90:76: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
88 | /// outPer == OUT это даёт xi = 0, и индексация вырождается в обычную.
89 | private func symGemvKernel(inFeatures IN: Int, outFeatures OUT: Int,
90 | bits: Int, rows NN: Int, outPer: Int? = nil) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
91 | let per = outPer ?? OUT
92 | precondition(OUT % per == 0 && per % symGemvRS == 0,
[82/115] Compiling RWKVQuant RwkvqSb6GEMV.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | /// Битплоскость одним умножением: ниббл → 4 байта. Порядок регистров
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:70:57: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
68 |
69 | private func sb6GemvKernel(inFeatures IN: Int, outFeatures OUT: Int, xbits: Int,
70 | nsg NSG: Int, rs RS: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
71 | let key = Sb6GemvKey(inFeatures: IN, outFeatures: OUT, xbits: xbits, nsg: NSG, rs: RS)
72 | if let k = sb6GemvKernelCache[key] { return k }
[83/115] Compiling RWKVQuant RwkvqSidecar.swift
[84/115] Compiling RWKVQuant RwkvqNative.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:39:16: warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
37 | /// Вес в родном контейнере MLX: то, что принимает `quantizedMM`.
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
| `- warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
1 | import Foundation
2 | import MLX
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
3 |
4 | // ───────────────────────────────────────────────────────────────────────
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:40:16: warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
| `- warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
42 | public let bits: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:41:16: warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
| `- warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
42 | public let bits: Int
43 | public let outFeatures: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
[85/115] Compiling MLXNN Activations.swift
[86/115] Compiling MLXNN Cache.swift
[87/116] Compiling RWKVQuant RwkvqFullConvert.swift
[88/116] Compiling RWKVQuant RwkvqDequant.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
63 | }
64 |
65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
66 |
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:69:45: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
68 | xbits: Int, superBlock gwSb: Int,
69 | dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
70 | let outType = metalTypeName(dtype)
71 | let key = DequantKey(inFeatures: IN, outFeatures: OUT,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:309:52: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
310 |
311 | private func symMetalTypeName(_ d: DType) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:321:59: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
319 |
320 | private func symDequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
321 | bits: Int, dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
322 | let T = symMetalTypeName(dtype)
323 | let key = SymDequantKey(inFeatures: IN, outFeatures: OUT, bits: bits, dtype: T)
[89/116] Emitting module RWKVQuant
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
63 | }
64 |
65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
66 |
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:69:45: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
67 | private func dequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
68 | xbits: Int, superBlock gwSb: Int,
69 | dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
70 | let outType = metalTypeName(dtype)
71 | let key = DequantKey(inFeatures: IN, outFeatures: OUT,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:309:52: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
310 |
311 | private func symMetalTypeName(_ d: DType) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:321:59: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
319 |
320 | private func symDequantKernel(inFeatures IN: Int, outFeatures OUT: Int,
321 | bits: Int, dtype: DType) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
322 | let T = symMetalTypeName(dtype)
323 | let key = SymDequantKey(inFeatures: IN, outFeatures: OUT, bits: bits, dtype: T)
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:39:16: warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
37 | /// Вес в родном контейнере MLX: то, что принимает `quantizedMM`.
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
| `- warning: stored property 'wq' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
1 | import Foundation
2 | import MLX
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX'
3 |
4 | // ───────────────────────────────────────────────────────────────────────
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:40:16: warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
38 | public struct RwkvqNativeWeight: Sendable {
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
| `- warning: stored property 'scales' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
42 | public let bits: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:41:16: warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
39 | public let wq: MLXArray // uint32 [OUT, NB·bits]
40 | public let scales: MLXArray // fp16 (fp32 у тензоров с зажатым scale) [OUT, NB]
41 | public let biases: MLXArray // того же типа, что scales [OUT, NB]
| `- warning: stored property 'biases' of 'Sendable'-conforming struct 'RwkvqNativeWeight' has non-sendable type 'MLXArray'; this is an error in the Swift 6 language mode
42 | public let bits: Int
43 | public let outFeatures: Int
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/MLX/MLXArray.swift:7:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
5 | import Numerics
6 |
7 | public final class MLXArray {
| `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
8 |
9 | /// Internal pointer to the mlx-c wrapper on `mlx::core::array`, used with `Cmlx` interop.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | /// Битплоскость одним умножением: ниббл → 4 байта. Порядок регистров
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:70:57: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
68 |
69 | private func sb6GemvKernel(inFeatures IN: Int, outFeatures OUT: Int, xbits: Int,
70 | nsg NSG: Int, rs RS: Int) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
71 | let key = Sb6GemvKey(inFeatures: IN, outFeatures: OUT, xbits: xbits, nsg: NSG, rs: RS)
72 | if let k = sb6GemvKernelCache[key] { return k }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
51 | }
52 |
53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
54 |
55 | private func symGemvHeader(IN: Int, OUT: Int, NN: Int, outPer: Int) -> String {
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:90:76: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
88 | /// outPer == OUT это даёт xi = 0, и индексация вырождается в обычную.
89 | private func symGemvKernel(inFeatures IN: Int, outFeatures OUT: Int,
90 | bits: Int, rows NN: Int, outPer: Int? = nil) -> MLXFastKernel {
| |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel'
| `- note: use 'MLXFast.MLXFastKernel' instead
91 | let per = outPer ?? OUT
92 | precondition(OUT % per == 0 && per % symGemvRS == 0,
[90/116] Compiling RWKVQuant RwkvqFile.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqFile.swift:289:39: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
287 | // на 1.5B COMPRESSION это +0.2 ГБ footprint в момент окончания.
288 | func releaseTransients(_ bytes: Int) {
289 | if bytes >= 8 << 20 { GPU.clearCache() }
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
290 | }
291 |
[91/116] Compiling MLXNN PositionalEncoding.swift
[92/116] Compiling MLXNN Quantized.swift
[93/116] Compiling MLXNN Recurrent.swift
[94/116] Compiling MLXNN Transformer.swift
[95/116] Compiling MLXNN ConvolutionTransposed.swift
[96/116] Compiling MLXNN Dropout.swift
[97/116] Compiling MLXNN Embedding.swift
[98/116] Compiling MLXNN Linear.swift
[99/116] Compiling MLXNN Losses.swift
[100/116] Compiling MLXNN Module.swift
[101/116] Compiling MLXNN Containers.swift
[102/116] Compiling MLXNN Convolution.swift
[103/116] Compiling MLXNN Normalization.swift
[104/116] Compiling MLXNN Pooling.swift
[105/116] Compiling MLXNN Upsample.swift
[106/116] Compiling MLXNN ValueAndGrad.swift
[107/116] Emitting module MLXNN
[108/118] Emitting module MLXOptimizers
[109/118] Compiling MLXOptimizers Optimizers.swift
[110/139] Emitting module RWKVGen
[111/141] Compiling RWKVGen RWKVBatchState.swift
[112/141] Compiling RWKVGen RWKVBlock.swift
[113/141] Compiling RWKVGen TrainableSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/Training/Trainer.swift:84:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
82 |
83 | if cfg.cacheLimitGB > 0 {
84 | MLX.GPU.set(cacheLimit: Int(cfg.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
85 | }
86 | // Конвейер — настройка ЭТОГО запуска, а не процесса: включается на
[114/141] Compiling RWKVGen Trainer.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/Training/Trainer.swift:84:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
82 |
83 | if cfg.cacheLimitGB > 0 {
84 | MLX.GPU.set(cacheLimit: Int(cfg.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
85 | }
86 | // Конвейер — настройка ЭТОГО запуска, а не процесса: включается на
[115/141] Compiling RWKVGen SequentialBackward.swift
[116/141] Compiling RWKVGen TokenStream.swift
[117/141] Compiling RWKVGen InitialState.swift
[118/141] Compiling RWKVGen LoRA.swift
[119/141] Compiling RWKVGen LoRAFinetune.swift
[120/141] Compiling RWKVGen WorldTokenizer.swift
[121/141] Compiling RWKVGen X070Backbone.swift
[122/141] Compiling RWKVGen RwkvqBase.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:142:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
140 | // исходные буферы плотных параметров отпущены — вернуть их из кеша
141 | // MLX до того, как начнёт расти база
142 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
143 |
144 | let cfg = X070Config(nLayer: manifest.nLayer, nEmbd: manifest.nEmbd,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:214:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
212 | // после загрузки против 1.7 ГБ после первого декода.
213 | eval(Array(bb.w.values))
214 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
215 |
216 | // короткий параллельный проход — ядрами GEMV; порог по раскладке базы
[123/141] Compiling RWKVGen RwkvqStandaloneLoad.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:142:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
140 | // исходные буферы плотных параметров отпущены — вернуть их из кеша
141 | // MLX до того, как начнёт расти база
142 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
143 |
144 | let cfg = X070Config(nLayer: manifest.nLayer, nEmbd: manifest.nEmbd,
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:214:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
212 | // после загрузки против 1.7 ГБ после первого декода.
213 | eval(Array(bb.w.values))
214 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
215 |
216 | // короткий параллельный проход — ядрами GEMV; порог по раскладке базы
[124/141] Compiling RWKVGen Sampling.swift
[125/141] Compiling RWKVGen Pretrain.swift
[126/141] Compiling RWKVGen TrainingConfig.swift
[127/141] Compiling RWKVGen X070Init.swift
[128/141] Compiling RWKVGen Checkpoint.swift
[129/141] Compiling RWKVGen GPUSampler.swift
[130/141] Compiling RWKVGen Generate.swift
[131/141] Compiling RWKVGen X070Generation.swift
[132/141] Compiling RWKVGen X070PartialFinetune.swift
[133/165] Compiling RWKVEmbedding ContrastiveLoss.swift
[134/165] Emitting module RWKVEmbedding
[135/166] Compiling RWKVEmbedding EmbeddingTrainable.swift
[136/166] Compiling RWKVEmbedding EmbeddingObjective.swift
[137/166] Compiling RWKVRerank RerankerHead.swift
[138/167] Compiling RWKVEmbedding GradCache.swift
[139/167] Compiling RWKVEmbedding EmbeddingMetrics.swift
[140/167] Compiling RWKVEmbedding EmbeddingCheckpoint.swift
[141/167] Compiling RWKVEmbedding EmbeddingFinetune.swift
[142/167] Compiling RWKVEmbedding EmbeddingDataset.swift
[143/167] Compiling RWKVEmbedding EmbeddingCurriculum.swift
[144/167] Compiling RWKVEmbedding Embedder.swift
[145/169] Compiling RWKVRerank RerankTraining.swift
[146/169] Compiling RWKVRerank RerankTrainable.swift
[147/169] Compiling RWKVRerank RerankMetrics.swift
[148/169] Compiling RWKVRerank RerankLoss.swift
[149/169] Emitting module RWKVRerank
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
262 | precondition(!samples.isEmpty, "нечего кодировать")
263 | if config.cacheLimitGB > 0 {
264 | MLX.GPU.set(cacheLimit: Int(config.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
265 | }
266 | let nCand = samples[0].docIds.count
[150/169] Compiling RWKVRerank RerankSweep.swift
[151/169] Compiling RWKVRerank RerankInference.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankInference.swift:336:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
334 | let enc = config.encode
335 | if enc.cacheLimitGB > 0 {
336 | MLX.GPU.set(cacheLimit: Int(enc.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
337 | }
338 | var parts: [RWKVBatchState] = []
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankInference.swift:386:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
384 | let enc = config.encode
385 | if enc.cacheLimitGB > 0 {
386 | MLX.GPU.set(cacheLimit: Int(enc.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
387 | }
388 |
[152/169] Compiling RWKVRerank RerankData.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
262 | precondition(!samples.isEmpty, "нечего кодировать")
263 | if config.cacheLimitGB > 0 {
264 | MLX.GPU.set(cacheLimit: Int(config.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
265 | }
266 | let nCand = samples[0].docIds.count
[153/169] Compiling RWKVRerank RerankEncode.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
262 | precondition(!samples.isEmpty, "нечего кодировать")
263 | if config.cacheLimitGB > 0 {
264 | MLX.GPU.set(cacheLimit: Int(config.cacheLimitGB * 1e9))
| `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property
265 | }
266 | let nCand = samples[0].docIds.count
[154/169] Compiling RWKVRerank Reranker.swift
[155/169] Compiling RWKVRerank StateCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/StateCache.swift:456:14: warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy)
454 | // а не обёртку MLXArrayData.
455 | let payload = (dtype == .float16 ? f32.asType(.float16) : f32)
456 | .asData(disambiguate: true)
| `- warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy)
457 | payload.withUnsafeBytes { src in
458 | for (i, r) in rows.enumerated() {
[156/169] Compiling DecodeBench TrainBench.swift
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:85:65: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
83 | + "MLX активная %.2f ГБ, footprint +%.2f ГБ",
84 | L, bb.cfg.nEmbd, Date().timeIntervalSince(t), info.numAdapters,
85 | Double(info.trainableParams) / 1e6, Double(GPU.activeMemory) / 1e9,
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
86 | processFootprintGB() - f0))
87 | print("ранг \(o.rank), слои \(o.layersFrom)..<\(L), батч \(o.batch), шагов \(o.steps), "
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:106:76: warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
104 | cfg.lossChunkTokens = o.lossChunk
105 | cfg.sequentialBackward = o.sequential
106 | LoRAFinetune.run(bb, nextBatch: { (x: x, y: y) }, config: cfg) { step, l, _, _ in
| `- warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
107 | if step == 1 {
108 | GPU.clearCache(); GPU.resetPeakMemory(); sampler.reset(); sw0 = swapUsedMB()
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/LoRAFinetune.swift:166:24: note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
164 | /// накопление и клип — общие.
165 | @discardableResult
166 | public static func run(
| `- note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
167 | _ bb: X070Backbone,
168 | nextBatch: () -> LoRABatch,
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:108:25: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
106 | LoRAFinetune.run(bb, nextBatch: { (x: x, y: y) }, config: cfg) { step, l, _, _ in
107 | if step == 1 {
108 | GPU.clearCache(); GPU.resetPeakMemory(); sampler.reset(); sw0 = swapUsedMB()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
109 | }
110 | stamps.append(Date()); loss = l
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:113:38: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
111 | }
112 | let per = zip(stamps.dropFirst(), stamps).map { $0.timeIntervalSince($1) * 1e3 }
113 | let peakMLX = Double(GPU.peakMemory) / 1e9, peakFP = sampler.take()
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
114 | let active = Double(GPU.activeMemory) / 1e9
115 | let ms = median(per)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:114:37: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
112 | let per = zip(stamps.dropFirst(), stamps).map { $0.timeIntervalSince($1) * 1e3 }
113 | let peakMLX = Double(GPU.peakMemory) / 1e9, peakFP = sampler.take()
114 | let active = Double(GPU.activeMemory) / 1e9
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
115 | let ms = median(per)
116 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:127:17: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
125 | return median(ts)
126 | }
127 | GPU.clearCache(); GPU.resetPeakMemory()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
128 | // на длинной последовательности прямой проход с логитами целиком
129 | // сам пикует выше шага — тогда не меряем (--tb-no-forward)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:131:38: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
129 | // сам пикует выше шага — тогда не меряем (--tb-no-forward)
130 | let fwdTrain = o.forward ? forward { bb(x).sum() } : 0
131 | let fwdPeak = Double(GPU.peakMemory) / 1e9
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
132 | let fwdFrozen = o.forward ? forward { bb.withoutGradientPath { bb(x).sum() } } : 0
133 | GPU.clearCache()
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:133:17: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
131 | let fwdPeak = Double(GPU.peakMemory) / 1e9
132 | let fwdFrozen = o.forward ? forward { bb.withoutGradientPath { bb(x).sum() } } : 0
133 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
134 |
135 | if o.profile {
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:144:82: warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
142 | let c = LoRAConfig(lr: 0, maxSteps: 4, cacheLimitGB: o.cacheLimitGB, logEvery: 1,
143 | useBlockCheckpoint: ckpt)
144 | LoRAFinetune.run(bb, nextBatch: { (x: x, y: y) }, config: c) { _, _, _, _ in st.append(Date()) }
| `- warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'onStep' to suppress this warning
145 | return median(zip(st.dropFirst(), st).map { $0.timeIntervalSince($1) * 1e3 })
146 | }
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/LoRAFinetune.swift:166:24: note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
164 | /// накопление и клип — общие.
165 | @discardableResult
166 | public static func run(
| `- note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
167 | _ bb: X070Backbone,
168 | nextBatch: () -> LoRABatch,
[157/169] Emitting module DecodeBench
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1401:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
1399 | // освободили» дают одинаковые 6.9 ГБ.
1400 | let footBefore = processFootprintGB()
1401 | MLX.GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
1402 | print(String(format: "footprint в конце %.2f ГБ (до clearCache %.2f)",
1403 | processFootprintGB(), footBefore))
[158/169] Compiling DecodeBench main.swift
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1401:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
1399 | // освободили» дают одинаковые 6.9 ГБ.
1400 | let footBefore = processFootprintGB()
1401 | MLX.GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
1402 | print(String(format: "footprint в конце %.2f ГБ (до clearCache %.2f)",
1403 | processFootprintGB(), footBefore))
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:611:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
609 | bb.fuseLerp = !args.noFuseLerp
610 | if norm, args.nativeIn16 { bb.rwkvqNativeInputDType = .float16 }
611 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
612 | let grown = processFootprintGB() - before
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:614:80: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
612 | let grown = processFootprintGB() - before
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
614 | norm ? "норма" : "прежний", grown, Double(GPU.activeMemory) / 1e9,
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
615 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
616 | return (bb, grown)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:615:33: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
614 | norm ? "норма" : "прежний", grown, Double(GPU.activeMemory) / 1e9,
615 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
616 | return (bb, grown)
617 | }
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:615:64: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
613 | print(String(format: " после загрузки (%@): footprint +%.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
614 | norm ? "норма" : "прежний", grown, Double(GPU.activeMemory) / 1e9,
615 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
616 | return (bb, grown)
617 | }
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:654:51: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
652 | }
653 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
654 | processFootprintGB(), Double(GPU.activeMemory) / 1e9,
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
655 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
656 | }
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:655:29: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
653 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
654 | processFootprintGB(), Double(GPU.activeMemory) / 1e9,
655 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
656 | }
657 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:655:60: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
653 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, кеш %.2f, пик %.2f ГБ",
654 | processFootprintGB(), Double(GPU.activeMemory) / 1e9,
655 | Double(GPU.cacheMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
656 | }
657 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:717:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
715 | print("истина посчитана (\(tp), счёт fp32)")
716 | }
717 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
718 |
719 | // 2. точный счёт тех же квантованных весов
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:725:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
723 | for i in 0 ..< N { exact.append(logProbs(e, i)) }
724 | }
725 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
726 |
727 | // 3. норма, два плеча на одной модели
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:821:51: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
819 | labels.1, median(mB), 1000 / median(mB), median(mB) / median(mA), agree, topA.count))
820 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, пик %.2f ГБ",
821 | processFootprintGB(), Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
822 | }
823 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:821:83: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
819 | labels.1, median(mB), 1000 / median(mB), median(mB) / median(mA), agree, topA.count))
820 | print(String(format: "footprint в конце: %.2f ГБ; MLX активная %.2f, пик %.2f ГБ",
821 | processFootprintGB(), Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
822 | }
823 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:871:119: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
869 | name, args.rounds, mT.isEmpty ? .nan : median(mT), mW.isEmpty ? .nan : median(mW)))
870 | }
871 | print(String(format: "footprint в конце: %.2f ГБ; MLX пик %.2f ГБ", processFootprintGB(), Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
872 | }
873 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:877:81: error: ambiguous use of 'init'
875 | func appBench(_ path: String, _ args: Args) throws {
876 | let win = try loadArrays(url: URL(fileURLWithPath: expand(args.windows)))["ids"]!
877 | let pre = (win[0].asArray(Int32.self) + win[4].asArray(Int32.self)).map(Int.init) // en + ru, 512
| `- error: ambiguous use of 'init'
878 | let dec = win[8].asArray(Int32.self).prefix(72).map(Int.init) // sr
879 | let f0 = processFootprintGB()
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init?<T>(exactly source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init<T>(_ source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<T>(truncatingIfNeeded source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<Other>(clamping source: Other) where Other : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:884:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
882 | : args.noNative ? try X070Backbone.load(fromRwkvq: expand(path), useNativeKernel: false)
883 | : try X070Backbone.load(fromRwkvq: expand(path))
884 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
885 | print("sb6: \(bb.rwkvqBackedKeys.contains { bb.hasNativeRepack($0) } ? "родной контейнер MLX" : "K3 (ядро GEMV на шаге)")")
886 | print(String(format: "загрузка %.1f с; footprint +%.2f ГБ; MLX активная %.2f ГБ, пик %.2f ГБ",
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:888:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
886 | print(String(format: "загрузка %.1f с; footprint +%.2f ГБ; MLX активная %.2f ГБ, пик %.2f ГБ",
887 | Date().timeIntervalSince(t0), processFootprintGB() - f0,
888 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
889 | fflush(stdout)
890 | // префилл: первый вызов — сборка ядер, меряются следующие
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:888:61: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
886 | print(String(format: "загрузка %.1f с; footprint +%.2f ГБ; MLX активная %.2f ГБ, пик %.2f ГБ",
887 | Date().timeIntervalSince(t0), processFootprintGB() - f0,
888 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
889 | fflush(stdout)
890 | // префилл: первый вызов — сборка ядер, меряются следующие
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:903:52: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
901 | let pm = median(Array(ts.dropFirst()))
902 | print(String(format: "префилл T=512: первый вызов %.0f мс; далее медиана %.1f мс = %.0f ток/с; MLX пик %.2f ГБ",
903 | ts[0], pm, 512e3 / pm, Double(GPU.peakMemory) / 1e9))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
904 | fflush(stdout)
905 | // декод: продолжение после префилла, teacher-forced, чтение argmax на каждом шаге
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:920:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
918 | print(String(format: "декод: медиана %.2f мс/ток = %.1f ток/с (раунды %@); MLX активная %.2f, пик %.2f ГБ; footprint %.2f ГБ",
919 | median(ms), 1e3 / median(ms), ms.map { String(format: "%.2f", $0) }.joined(separator: " "),
920 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9, processFootprintGB()))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
921 | // конвейер против синхронного жадного декода, чередованием: свободная
922 | // генерация от одного и того же состояния, 64 токена на раунд
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:920:61: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
918 | print(String(format: "декод: медиана %.2f мс/ток = %.1f ток/с (раунды %@); MLX активная %.2f, пик %.2f ГБ; footprint %.2f ГБ",
919 | median(ms), 1e3 / median(ms), ms.map { String(format: "%.2f", $0) }.joined(separator: " "),
920 | Double(GPU.activeMemory) / 1e9, Double(GPU.peakMemory) / 1e9, processFootprintGB()))
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
921 | // конвейер против синхронного жадного декода, чередованием: свободная
922 | // генерация от одного и того же состояния, 64 токена на раунд
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1045:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
1043 | let dt = Date().timeIntervalSince(t)
1044 | print(String(format: "загрузка %.2f с | MLX активная %.3f, кеш %.3f, пик %.3f ГБ | footprint +%.3f ГБ | emb %@",
1045 | dt, gb(GPU.activeMemory), gb(GPU.cacheMemory), gb(GPU.peakMemory),
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
1046 | processFootprintGB() - f0, bb.rwkvqEmbTable == nil ? "плотный" : "сжатый (строки выборкой)"))
1047 | // освобождённое при загрузке Metal возвращает системе не сразу
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1045:51: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
1043 | let dt = Date().timeIntervalSince(t)
1044 | print(String(format: "загрузка %.2f с | MLX активная %.3f, кеш %.3f, пик %.3f ГБ | footprint +%.3f ГБ | emb %@",
1045 | dt, gb(GPU.activeMemory), gb(GPU.cacheMemory), gb(GPU.peakMemory),
| |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory'
| `- note: use 'Memory.cacheMemory' instead
1046 | processFootprintGB() - f0, bb.rwkvqEmbTable == nil ? "плотный" : "сжатый (строки выборкой)"))
1047 | // освобождённое при загрузке Metal возвращает системе не сразу
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1045:72: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
1043 | let dt = Date().timeIntervalSince(t)
1044 | print(String(format: "загрузка %.2f с | MLX активная %.3f, кеш %.3f, пик %.3f ГБ | footprint +%.3f ГБ | emb %@",
1045 | dt, gb(GPU.activeMemory), gb(GPU.cacheMemory), gb(GPU.peakMemory),
| |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory'
| `- note: use 'Memory.peakMemory' instead
1046 | processFootprintGB() - f0, bb.rwkvqEmbTable == nil ? "плотный" : "сжатый (строки выборкой)"))
1047 | // освобождённое при загрузке Metal возвращает системе не сразу
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1058:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
1056 | let bb = try X070Backbone.load(fromRwkvq: expand(path))
1057 | let sc = try RwkvqSidecar.open(expand(path))
1058 | GPU.clearCache()
| |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache'
| `- note: use 'Memory.clearCache' instead
1059 | let win = try loadArrays(url: URL(fileURLWithPath: expand(args.windows)))["ids"]!
1060 | let pre = (win[0].asArray(Int32.self) + win[4].asArray(Int32.self)).map(Int.init)
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1060:81: error: ambiguous use of 'init'
1058 | GPU.clearCache()
1059 | let win = try loadArrays(url: URL(fileURLWithPath: expand(args.windows)))["ids"]!
1060 | let pre = (win[0].asArray(Int32.self) + win[4].asArray(Int32.self)).map(Int.init)
| `- error: ambiguous use of 'init'
1061 | func med(_ f: () -> Void) -> Double {
1062 | f()
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init?<T>(exactly source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.SignedInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol SignedInteger {
2 | @inlinable public init<T>(_ source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<T>(truncatingIfNeeded source: T) where T : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FixedWidthInteger.init:2:19: note: found this candidate in module 'Swift'
1 | protocol FixedWidthInteger {
2 | @inlinable public init<Other>(clamping source: Other) where Other : BinaryInteger}
| `- note: found this candidate in module 'Swift'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:219:54: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
217 | print(String(format: "база: %@, L=%d D=%d; загрузка %.1f с; MLX активная %.2f ГБ, footprint +%.2f ГБ",
218 | quantised ? ".rwkvq" : "плотная", base.cfg.nLayer, base.cfg.nEmbd,
219 | Date().timeIntervalSince(t), Double(GPU.activeMemory) / 1e9, footprintGB() - f0))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
220 |
221 | /// Строки задачи: отложенные — с конца, обучающие — с начала (не пересекаются).
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:253:71: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
251 | let unpacked = base.unpackTopLayers(args.unpack ?? n)
252 | print(String(format: "развёрнуто в плотные: %d весов верхних %d слоёв; MLX активная %.2f ГБ",
253 | unpacked.count, args.unpack ?? n, Double(GPU.activeMemory) / 1e9))
| |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory'
| `- note: use 'Memory.activeMemory' instead
254 | }
255 | mode = .topLayers(n)
BUILD FAILURE 6.1 macosSpm