The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftRWKV, reference v0.3.0 (926f8f), with Swift 6.4 for macOS (SPM) on 24 Oct 2026 13:08:48 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RafaelUI/SwiftRWKV.git
Reference: v0.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RafaelUI/SwiftRWKV
 * tag               v0.3.0     -> FETCH_HEAD
HEAD is now at 926f8f0 README к тегу 0.3.0: возможности (реранкер -- возобновление обучения и контракт кэшей с подключённым состоянием; эмбеддер -- прогонщик curriculum с отчётом и возобновлением, состояние на всех текстах или только на запросах; partial finetune -- на общем тренере, воспроизводим по сиду), зависимость from: "0.3.0", что менять при переходе с 0.2.4 (DocIndex.check принимает контракт; при stateScope = .queriesOnly нужна роль текста), 595 тестов, embed-run в раскладке.
Cloned https://github.com/RafaelUI/SwiftRWKV.git
Revision (git rev-parse @):
926f8f0a958deaeddfa7744359707f9b519fed67
SUCCESS checkout https://github.com/RafaelUI/SwiftRWKV.git at v0.3.0
Fetching https://github.com/apple/swift-numerics
Fetching https://github.com/ml-explore/mlx-swift
[1/6756] Fetching swift-numerics
[6420/24244] Fetching swift-numerics, mlx-swift
Fetched https://github.com/ml-explore/mlx-swift (4.12s)
Fetched https://github.com/apple/swift-numerics (4.12s)
Computing version for https://github.com/ml-explore/mlx-swift
Computed https://github.com/ml-explore/mlx-swift at 0.31.4 (4.75s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (0.54s)
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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "swiftrwkv",
      "name": "SwiftRWKV",
      "url": "https://github.com/RafaelUI/SwiftRWKV.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftRWKV",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "mlx-swift",
          "name": "mlx-swift",
          "url": "https://github.com/ml-explore/mlx-swift",
          "version": "0.32.3",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/mlx-swift",
          "traits": [
            "default"
          ],
          "dependencies": [
            {
              "identity": "swift-numerics",
              "name": "swift-numerics",
              "url": "https://github.com/apple/swift-numerics",
              "version": "1.1.1",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-numerics",
              "traits": [
                "default"
              ],
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/RafaelUI/SwiftRWKV.git
[1/1246] Fetching swiftrwkv
Fetched https://github.com/RafaelUI/SwiftRWKV.git (1.51s)
Fetching https://github.com/ml-explore/mlx-swift from cache
Fetched https://github.com/ml-explore/mlx-swift from cache (0.59s)
Computing version for https://github.com/ml-explore/mlx-swift
Computed https://github.com/ml-explore/mlx-swift at 0.32.3 (1.27s)
Fetching https://github.com/apple/swift-numerics from cache
Fetched https://github.com/apple/swift-numerics from cache (0.58s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (0.66s)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Creating working copy for https://github.com/RafaelUI/SwiftRWKV.git
Working copy of https://github.com/RafaelUI/SwiftRWKV.git resolved at v0.3.0 (926f8f0)
Creating working copy for https://github.com/ml-explore/mlx-swift
Working copy of https://github.com/ml-explore/mlx-swift resolved at 0.32.3
Found 1 product dependencies
  - mlx-swift
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/RafaelUI/SwiftRWKV.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 683]
[Planning deferred tasks]
[133 / 452]
[133 / 452] mlx-swift_Cmlx
[133 / 452]
[144 / 453] _NumericsShims
[146 / 453] _NumericsShims
[149 / 467]
[151 / 467] RealModule
[153 / 498] Cmlx
[157 / 498] RealModule
[164 / 498] Cmlx
[165 / 498] Cmlx
[168 / 498] Cmlx
[169 / 498] Cmlx
[172 / 498] Cmlx
[174 / 498] Cmlx
[175 / 498] Cmlx
[183 / 498] Cmlx
[190 / 498] Cmlx
[194 / 498] Cmlx
[195 / 498] Cmlx
[196 / 498] Cmlx
[197 / 498] Cmlx
[198 / 498] Cmlx
[201 / 498] Cmlx
[202 / 498] Cmlx
[205 / 498] Cmlx
[207 / 498] Cmlx
[209 / 498] Cmlx
[211 / 498] Cmlx
[212 / 498] Cmlx
[216 / 498] Cmlx
[218 / 498] Cmlx
[219 / 498] Cmlx
[223 / 498] Cmlx
[224 / 498] Cmlx
[227 / 498] Cmlx
[228 / 498] Cmlx
[229 / 498] Cmlx
[230 / 498] Cmlx
[231 / 498] Cmlx
[232 / 498] Cmlx
[233 / 498] Cmlx
[234 / 498] Cmlx
[236 / 498] Cmlx
[237 / 498] Cmlx
[238 / 498] Cmlx
[240 / 498] Cmlx
[242 / 498] Cmlx
[243 / 498] Cmlx
[244 / 498] Cmlx
[246 / 498] Cmlx
[247 / 498] Cmlx
[248 / 498] Cmlx
[249 / 498] Cmlx
[251 / 498] Cmlx
[255 / 498] Cmlx
[257 / 498] Cmlx
[262 / 498] Cmlx
[266 / 498] Cmlx
[269 / 498] Cmlx
[271 / 498] Cmlx
[272 / 498] Cmlx
[273 / 498] Cmlx
[276 / 498] Cmlx
[277 / 498] Cmlx
[278 / 498] Cmlx
[280 / 498] Cmlx
[281 / 498] Cmlx
[282 / 498] Cmlx
[283 / 498] Cmlx
[285 / 498] Cmlx
[286 / 498] Cmlx
[287 / 498] Cmlx
[289 / 498] Cmlx
[292 / 498] Cmlx
[293 / 498] Cmlx
[295 / 498] Cmlx
[296 / 498] Cmlx
[298 / 498] Cmlx
[299 / 498] Cmlx
[301 / 498] Cmlx
[303 / 498] Cmlx
[306 / 498] Cmlx
[308 / 498] Cmlx
[309 / 498] Cmlx
[310 / 498] Cmlx
[312 / 498] Cmlx
[313 / 498] Cmlx
[315 / 498] Cmlx
[317 / 498] Cmlx
[318 / 498] Cmlx
[322 / 498] Cmlx
[325 / 498] Cmlx
[328 / 498]
[333 / 498]
[337 / 498]
[340 / 498]
[342 / 498]
[348 / 498] RealModule
[350 / 498] RealModule
[353 / 498] ComplexModule
[366 / 510] ComplexModule
[374 / 510] Cmlx
[386 / 513] ComplexModule
[399 / 514]
[402 / 514]
[405 / 514]
[406 / 514] MLX
[414 / 561]
[421 / 561]
[425 / 561]
[427 / 561]
[431 / 561]
[433 / 561]
[436 / 561]
[439 / 561]
[441 / 561]
[442 / 561]
[444 / 561]
[454 / 561] MLX
[455 / 561] MLX
[464 / 564] Cmlx
[465 / 564] Cmlx
[465 / 564] MLXRandom
[476 / 580] MLXNN
[492 / 580] MLXRandom-product
[494 / 580] MLXRandom-product
[501 / 582] MLX-product
[501 / 582] MLXNN
[508 / 583] MLXNN
[520 / 599] RWKVQuant
[525 / 601] RWKVKernel
[548 / 602]
[549 / 602] RWKVQuant
[554 / 616]
[566 / 616] RWKVQuant
[578 / 618] RWKVGen
[579 / 619] RWKVGen
[579 / 619] decode-bench-product
[587 / 633] RWKVRerank
[589 / 644] RWKVRerank
[590 / 644] RWKVRerank
[596 / 644] RWKVRerank
[600 / 644] RWKVRerank
[614 / 644] RWKVEmbedding
[617 / 644] RWKVEmbedding
[624 / 645]
[629 / 646] RWKVGen-product
[629 / 646] rerank-run-product
[634 / 651] RWKVEmbedding
[639 / 651] RWKVEmbedding-product
[640 / 651] embed-run-product
[641 / 651] decode-bench-product
[643 / 651] decode-bench-product
[643 / 651] rerank-run-product
[646 / 651] embed-run-product
[647 / 651] rerank-run-product
[648 / 651] rerank-run-product
[650 / 651] embed-run-product
Build complete! (38.70 sec)
warning: missing creator for mutated node: ('/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/mlx-swift_Cmlx.bundle/Contents/MacOS')
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/steel_attention.metal:6:
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:3:
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/attn.h:6:
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/../../steel/attn/mma.h:11:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/../../steel/utils/integral_constant.h:108:6: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
  if constexpr (start < stop) {
     ^
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/steel_attention.metal:6:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:356:16: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
            if constexpr (is_bool) {
               ^
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:426:14: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
          if constexpr (BD == 128) {
             ^
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:436:14: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
          if constexpr (BD == 128) {
             ^
4 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:35: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
  9 |
 10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
 11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
    |                                   |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                   `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
 14 | // Сигнатура (имена буферов, *_shape) генерируется автоматически.
 15 | private func wkv7ForwardKernel(H: Int) -> MLXFastKernel {
    |                                           |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                           `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                       `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
    |                                            |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                            `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 23 | // ───────────────────────────────────────────────────────────────────────
 24 |
 25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
    |                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 24 |
 25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
 26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
    |                                       |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                       `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                        `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 21 | // ───────────────────────────────────────────────────────────────────────
 22 |
 23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
    |                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 22 |
 23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
 24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
    |                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
 25 |
 26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
    |                                               |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                               `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 97 | }
 98 |
 99 | private func ckptBwdKernel(H: Int, T: Int) -> MLXFastKernel {
    |                                               |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                               `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
    |                                     |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                     `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                 `- note: use 'MLXFast.MLXFastKernel' instead
235 |     let key = "\(H)_\(T)"
236 |     if let k = ckptBwd2Cache[key] { return k }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7DecodeKernels.swift:25:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 23 | // ───────────────────────────────────────────────────────────────────────
 24 |
 25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
    |                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 24 |
 25 | private var stepKernelCache: [Int: MLXFastKernel] = [:]
 26 | private var tailKernelCache: [String: MLXFastKernel] = [:]
    |                                       |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                       `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                        `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
112 |     let D = H * S
113 |     let key = "\(H)_\(S)_\(eps)"
114 |     let kern: MLXFastKernel
    |               |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |               `- note: use 'MLXFast.MLXFastKernel' instead
115 |     if let k = tailKernelCache[key] {
116 |         kern = k
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 63 | }
 64 |
 65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
    |                                              |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                              `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
    |                                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                           `- 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]
MLX.MLXArray:1:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
 1 | final public class MLXArray {
   |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
 2 |     public internal(set) var ctx: mlx_array { get }
 3 |     public init(_ ctx: consuming mlx_array)
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
  1 | import Foundation
  2 | import MLX
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
  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
MLX.MLXArray:1:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
 1 | final public class MLXArray {
   |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
 2 |     public internal(set) var ctx: mlx_array { get }
 3 |     public init(_ ctx: consuming mlx_array)
/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
MLX.MLXArray:1:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
 1 | final public class MLXArray {
   |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
 2 |     public internal(set) var ctx: mlx_array { get }
 3 |     public init(_ ctx: consuming mlx_array)
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 51 | }
 52 |
 53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
    |                                              |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                              `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                         `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 51 | }
 52 |
 53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
    |                                              |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                              `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                            `- note: use 'MLXFast.MLXFastKernel' instead
 91 |     let per = outPer ?? OUT
 92 |     precondition(OUT % per == 0 && per % symGemvRS == 0,
[#AddPreconcurrencyImport]: <https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7.swift:11:35: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
  9 |
 10 | // Кэш скомпилированных ядер по числу голов H (как _fwd_cache в Python)
 11 | private var fwdKernelCache: [Int: MLXFastKernel] = [:]
    |                                   |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                   `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 13 | // Тело forward-ядра — ДОСЛОВНО как _get_fwd в model/wkv7.py.
 14 | // Сигнатура (имена буферов, *_shape) генерируется автоматически.
 15 | private func wkv7ForwardKernel(H: Int) -> MLXFastKernel {
    |                                           |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                           `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                       `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
183 | nonisolated(unsafe) private var seqKernelCache: [Int: MLXFastKernel] = [:]
184 |
185 | private func wkv7SequenceKernel(H: Int) -> MLXFastKernel {
    |                                            |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                            `- note: use 'MLXFast.MLXFastKernel' instead
186 |     if let k = seqKernelCache[H] { return k }
187 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVKernel/WKV7Train.swift:23:36: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 21 | // ───────────────────────────────────────────────────────────────────────
 22 |
 23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
    |                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 22 |
 23 | private var ckptFwdCache: [String: MLXFastKernel] = [:]
 24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
    |                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 24 | private var ckptBwdCache: [String: MLXFastKernel] = [:]
 25 |
 26 | private func ckptFwdKernel(H: Int, T: Int) -> MLXFastKernel {
    |                                               |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                               `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 97 | }
 98 |
 99 | private func ckptBwdKernel(H: Int, T: Int) -> MLXFastKernel {
    |                                               |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                               `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
205 | }
206 |
207 | private var ckptBwd2Cache: [String: MLXFastKernel] = [:]
    |                                     |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                     `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                 `- note: use 'MLXFast.MLXFastKernel' instead
235 |     let key = "\(H)_\(T)"
236 |     if let k = ckptBwd2Cache[key] { return k }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSb6GEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 51 | }
 52 |
 53 | private var sb6GemvKernelCache: [Sb6GemvKey: MLXFastKernel] = [:]
    |                                              |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                              `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                         `- 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 }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/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]
MLX.MLXArray:1:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
 1 | final public class MLXArray {
   |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
 2 |     public internal(set) var ctx: mlx_array { get }
 3 |     public init(_ ctx: consuming mlx_array)
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqNative.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
  1 | import Foundation
  2 | import MLX
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'MLX' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import\AddPreconcurrencyImport]8;;\]
  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
MLX.MLXArray:1:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
 1 | final public class MLXArray {
   |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
 2 |     public internal(set) var ctx: mlx_array { get }
 3 |     public init(_ ctx: consuming mlx_array)
/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
MLX.MLXArray:1:20: note: class 'MLXArray' does not conform to the 'Sendable' protocol
 1 | final public class MLXArray {
   |                    `- note: class 'MLXArray' does not conform to the 'Sendable' protocol
 2 |     public internal(set) var ctx: mlx_array { get }
 3 |     public init(_ ctx: consuming mlx_array)
[#AddPreconcurrencyImport]: <https://docs.swift.org/compiler/documentation/diagnostics/add-preconcurrency-import>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqSymGEMV.swift:53:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 51 | }
 52 |
 53 | private var symGemvKernelCache: [SymGemvKey: MLXFastKernel] = [:]
    |                                              |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                              `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                            `- note: use 'MLXFast.MLXFastKernel' instead
 91 |     let per = outPer ?? OUT
 92 |     precondition(OUT % per == 0 && per % symGemvRS == 0,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqDequant.swift:65:46: warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 63 | }
 64 |
 65 | private var dequantKernelCache: [DequantKey: MLXFastKernel] = [:]
    |                                              |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                              `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
307 | }
308 |
309 | private var symDequantKernelCache: [SymDequantKey: MLXFastKernel] = [:]
    |                                                    |- warning: 'MLXFastKernel' is deprecated: renamed to 'MLXFast.MLXFastKernel' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                           `- note: use 'MLXFast.MLXFastKernel' instead
322 |     let T = symMetalTypeName(dtype)
323 |     let key = SymDequantKey(inFeatures: IN, outFeatures: OUT, bits: bits, dtype: T)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVQuant/RwkvqFile.swift:289:39: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                       `- note: use 'Memory.clearCache' instead
290 |         }
291 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/RwkvqStandaloneLoad.swift:142:13: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
140 |         // исходные буферы плотных параметров отпущены — вернуть их из кеша
141 |         // MLX до того, как начнёт расти база
142 |         GPU.clearCache()
    |             |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
212 |         // после загрузки против 1.7 ГБ после первого декода.
213 |         eval(Array(bb.w.values))
214 |         GPU.clearCache()
    |             |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |             `- note: use 'Memory.clearCache' instead
215 |
216 |         // короткий параллельный проход — ядрами GEMV; порог по раскладке базы
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVGen/Training/Trainer.swift:84:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 82 |
 83 |         if cfg.cacheLimitGB > 0 {
 84 |             MLX.GPU.set(cacheLimit: Int(cfg.cacheLimitGB * 1e9))
    |                     `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 85 |         }
 86 |         // Конвейер — настройка ЭТОГО запуска, а не процесса: включается на
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1401:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
1399 | // освободили» дают одинаковые 6.9 ГБ.
1400 | let footBefore = processFootprintGB()
1401 | MLX.GPU.clearCache()
     |         |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- note: use 'Memory.clearCache' instead
1402 | print(String(format: "footprint в конце %.2f ГБ (до clearCache %.2f)",
1403 |              processFootprintGB(), footBefore))
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
265 |         }
266 |         let nCand = samples[0].docIds.count
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:85:65: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                 `- 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/trailing-closure-matching\TrailingClosureMatching]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/trailing-closure-matching\TrailingClosureMatching]8;;\]
107 |                 if step == 1 {
108 |                     GPU.clearCache(); GPU.resetPeakMemory(); sampler.reset(); sw0 = swapUsedMB()
RWKVGen.LoRAFinetune.run:3:22: note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
1 | enum LoRAFinetune {
2 | @discardableResult
3 |   public static func run(_ bb: RWKVGen.X070Backbone, nextBatch: () -> RWKVGen.LoRABatch, config cfg: RWKVGen.LoRAConfig, isCancelled: () -> Bool = { false }, onStep: (_ step: Int, _ loss: Float, _ gradNorm: Float, _ peakMB: Double) -> Void = { _,_,_,_ in }) -> RWKVGen.LoRATrainResult}
  |                      `- note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/TrainBench.swift:108:25: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                         `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                      `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                     `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
125 |                 return median(ts)
126 |             }
127 |             GPU.clearCache(); GPU.resetPeakMemory()
    |                 |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                 `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                      `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                 `- 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/trailing-closure-matching\TrailingClosureMatching]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/trailing-closure-matching\TrailingClosureMatching]8;;\]
145 |                     return median(zip(st.dropFirst(), st).map { $0.timeIntervalSince($1) * 1e3 })
146 |                 }
RWKVGen.LoRAFinetune.run:3:22: note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
1 | enum LoRAFinetune {
2 | @discardableResult
3 |   public static func run(_ bb: RWKVGen.X070Backbone, nextBatch: () -> RWKVGen.LoRABatch, config cfg: RWKVGen.LoRAConfig, isCancelled: () -> Bool = { false }, onStep: (_ step: Int, _ loss: Float, _ gradNorm: Float, _ peakMB: Double) -> Void = { _,_,_,_ in }) -> RWKVGen.LoRATrainResult}
  |                      `- note: 'run(_:nextBatch:config:isCancelled:onStep:)' declared here
4 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#TrailingClosureMatching]: <https://docs.swift.org/compiler/documentation/diagnostics/trailing-closure-matching>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/StateCache.swift:456:14: warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
457 |         payload.withUnsafeBytes { src in
458 |             for (i, r) in rows.enumerated() {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankInference.swift:336:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
387 |         }
388 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RWKVRerank/RerankEncode.swift:264:21: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
265 |         }
266 |         let nCand = samples[0].docIds.count
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:1401:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
1399 | // освободили» дают одинаковые 6.9 ГБ.
1400 | let footBefore = processFootprintGB()
1401 | MLX.GPU.clearCache()
     |         |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 609 |         bb.fuseLerp = !args.noFuseLerp
 610 |         if norm, args.nativeIn16 { bb.rwkvqNativeInputDType = .float16 }
 611 |         GPU.clearCache()
     |             |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                 `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                                `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                   `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                            `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 715 |         print("истина посчитана (\(tp), счёт fp32)")
 716 |     }
 717 |     GPU.clearCache()
     |         |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 723 |         for i in 0 ..< N { exact.append(logProbs(e, i)) }
 724 |     }
 725 |     GPU.clearCache()
     |         |- warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                   `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                                                   `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                                                                          `- note: use 'Memory.peakMemory' instead
 872 | }
 873 |
/Users/admin/builder/spi-builder-workspace/Sources/DecodeBench/main.swift:884:9: warning: 'clearCache()' is deprecated: renamed to 'Memory.clearCache' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                    `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                             `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                   `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                                                                        `- 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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- 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)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:217:54: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
215 | print(String(format: "база: %@, L=%d D=%d; загрузка %.1f с; MLX активная %.2f ГБ, footprint +%.2f ГБ",
216 |              quantised ? ".rwkvq" : "плотная", base.cfg.nLayer, base.cfg.nEmbd,
217 |              Date().timeIntervalSince(t), Double(GPU.activeMemory) / 1e9, footprintGB() - f0))
    |                                                      |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                      `- note: use 'Memory.activeMemory' instead
218 |
219 | /// Строки задачи: отложенные — с конца, обучающие — с начала (не пересекаются).
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:251:71: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
249 |             let unpacked = base.unpackTopLayers(args.unpack ?? n)
250 |             print(String(format: "развёрнуто в плотные: %d весов верхних %d слоёв; MLX активная %.2f ГБ",
251 |                          unpacked.count, args.unpack ?? n, Double(GPU.activeMemory) / 1e9))
    |                                                                       |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                       `- note: use 'Memory.activeMemory' instead
252 |         }
253 |         mode = .topLayers(n)
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:394:102: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
392 |             let v = base.withoutGradientPath { arm.1() }
393 |             eval(v)
394 |             if round > 0 { times[i].append(Date().timeIntervalSince(t0)); peaks[i].append(Double(GPU.peakMemory) / 1e9) }
    |                                                                                                      |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                                                      `- note: use 'Memory.peakMemory' instead
395 |             if reference == nil { reference = v }
396 |             else if round == 0 {
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:415:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
413 |     // Разность пика и активной памяти до фазы — её временное потребление.
414 |     var stepNo = 0
415 |     var before = Double(GPU.activeMemory) / 1e9
    |                             |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                             `- note: use 'Memory.activeMemory' instead
416 |     SequentialBody.probe = { name in
417 |         if name == "batch" { stepNo += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:418:33: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
416 |     SequentialBody.probe = { name in
417 |         if name == "batch" { stepNo += 1 }
418 |         let active = Double(GPU.activeMemory) / 1e9, peak = Double(GPU.peakMemory) / 1e9
    |                                 |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                 `- note: use 'Memory.activeMemory' instead
419 |         if stepNo == 3 {       // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
420 |             print(String(format: "  ПРИБОР %-10@ активная %.3f  пик за фазу %.3f  (+%.3f к началу фазы)  кэш %.3f",
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:418:72: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
416 |     SequentialBody.probe = { name in
417 |         if name == "batch" { stepNo += 1 }
418 |         let active = Double(GPU.activeMemory) / 1e9, peak = Double(GPU.peakMemory) / 1e9
    |                                                                        |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                        `- note: use 'Memory.peakMemory' instead
419 |         if stepNo == 3 {       // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
420 |             print(String(format: "  ПРИБОР %-10@ активная %.3f  пик за фазу %.3f  (+%.3f к началу фазы)  кэш %.3f",
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:421:84: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
419 |         if stepNo == 3 {       // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
420 |             print(String(format: "  ПРИБОР %-10@ активная %.3f  пик за фазу %.3f  (+%.3f к началу фазы)  кэш %.3f",
421 |                          name as NSString, active, peak, peak - before, Double(GPU.cacheMemory) / 1e9))
    |                                                                                    |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                                    `- note: use 'Memory.cacheMemory' instead
422 |         }
423 |         before = active
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:440:47: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
438 |             if s.step > 2 {
439 |                 abTime[arm].append(Date().timeIntervalSince(last))
440 |                 abPeak[arm].append(Double(GPU.peakMemory) / 1e9)
    |                                               |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                               `- note: use 'Memory.peakMemory' instead
441 |             }
442 |             SequentialBody.pipelined = s.step % 2 == 1
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:466:29: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
464 |     print(String(format: "после обучения: %@ | %d шагов за %.1f с (%.2f с/шаг) | пик MLX %.2f ГБ, footprint +%.2f ГБ",
465 |                  r.after?.description ?? "—", r.steps, r.seconds, r.seconds / Double(max(1, r.steps)),
466 |                  Double(GPU.peakMemory) / 1e9, footprintGB() - f0))
    |                             |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                             `- note: use 'Memory.peakMemory' instead
467 |     report["before"] = r.before?.headline ?? Double.nan
468 |     report["after"] = r.after?.headline ?? Double.nan
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:470:42: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
468 |     report["after"] = r.after?.headline ?? Double.nan
469 |     report["final_loss"] = Double(r.finalLoss); report["train_seconds"] = r.seconds
470 |     report["train_peak_gb"] = Double(GPU.peakMemory) / 1e9
    |                                          |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                          `- note: use 'Memory.peakMemory' instead
471 |
472 |     if args.thenState > 0 {
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:541:29: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
539 |     print(String(format: "оценка: %@ | %.1f с (%.1f мс на строку) | пик MLX %.2f ГБ, пик footprint оценки %.2f ГБ",
540 |                  before.description, evalSeconds, evalSeconds * 1e3 / Double(heldOut.count),
541 |                  Double(GPU.peakMemory) / 1e9, watch.take()))
    |                             |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                             `- note: use 'Memory.peakMemory' instead
542 |     report["before"] = before.headline; report["eval_seconds"] = evalSeconds
543 |     report["eval_peak_gb"] = Double(GPU.peakMemory) / 1e9
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:543:41: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
541 |                  Double(GPU.peakMemory) / 1e9, watch.take()))
542 |     report["before"] = before.headline; report["eval_seconds"] = evalSeconds
543 |     report["eval_peak_gb"] = Double(GPU.peakMemory) / 1e9
    |                                         |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                         `- note: use 'Memory.peakMemory' instead
544 | }
545 | report["footprint_gb"] = footprintGB() - f0
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/RerankRun/BenchEncode.swift:89:17: warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 87 |     // тот же, иначе меряется не тот код, который работает в продакшене.
 88 |     if cacheLimitGB > 0 {
 89 |         MLX.GPU.set(cacheLimit: Int(cacheLimitGB * 1e9))
    |                 `- warning: 'set(cacheLimit:)' is deprecated: use Memory.cacheLimit property [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 90 |     }
 91 |     let swap0 = swapCounters()
/Users/admin/builder/spi-builder-workspace/Sources/RerankRun/BenchEncode.swift:177:55: warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
175 |             // fp32 → fp16 → байты. Без него замер кончался бы на GPU, а
176 |             // кэш пишется всё-таки на хост.
177 |             _ = sel.asType(.float32).asType(.float16).asData(disambiguate: true)
    |                                                       `- warning: 'asData(noCopy:disambiguate:)' is deprecated: use asData(acccess: .copy) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
178 |             b["select"]! += Date().timeIntervalSince(t)
179 |
/Users/admin/builder/spi-builder-workspace/Sources/RerankRun/BenchEncode.swift:98:9: warning: initialization of immutable value 'cfg' was never used; consider replacing with assignment to '_' or removing it [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 96 |     var t = Date()
 97 |     let backbone = try loadBase(modelPath)
 98 |     let cfg = backbone.cfg
    |         `- warning: initialization of immutable value 'cfg' was never used; consider replacing with assignment to '_' or removing it [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 99 |     guard let tok = WorldTokenizer(
100 |             vocabURL: URL(fileURLWithPath: expand(vocabPath))) else {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:217:54: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
215 | print(String(format: "база: %@, L=%d D=%d; загрузка %.1f с; MLX активная %.2f ГБ, footprint +%.2f ГБ",
216 |              quantised ? ".rwkvq" : "плотная", base.cfg.nLayer, base.cfg.nEmbd,
217 |              Date().timeIntervalSince(t), Double(GPU.activeMemory) / 1e9, footprintGB() - f0))
    |                                                      |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                      `- note: use 'Memory.activeMemory' instead
218 |
219 | /// Строки задачи: отложенные — с конца, обучающие — с начала (не пересекаются).
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:251:71: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
249 |             let unpacked = base.unpackTopLayers(args.unpack ?? n)
250 |             print(String(format: "развёрнуто в плотные: %d весов верхних %d слоёв; MLX активная %.2f ГБ",
251 |                          unpacked.count, args.unpack ?? n, Double(GPU.activeMemory) / 1e9))
    |                                                                       |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                       `- note: use 'Memory.activeMemory' instead
252 |         }
253 |         mode = .topLayers(n)
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:394:102: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
392 |             let v = base.withoutGradientPath { arm.1() }
393 |             eval(v)
394 |             if round > 0 { times[i].append(Date().timeIntervalSince(t0)); peaks[i].append(Double(GPU.peakMemory) / 1e9) }
    |                                                                                                      |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                                                      `- note: use 'Memory.peakMemory' instead
395 |             if reference == nil { reference = v }
396 |             else if round == 0 {
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:415:29: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
413 |     // Разность пика и активной памяти до фазы — её временное потребление.
414 |     var stepNo = 0
415 |     var before = Double(GPU.activeMemory) / 1e9
    |                             |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                             `- note: use 'Memory.activeMemory' instead
416 |     SequentialBody.probe = { name in
417 |         if name == "batch" { stepNo += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:418:33: warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
416 |     SequentialBody.probe = { name in
417 |         if name == "batch" { stepNo += 1 }
418 |         let active = Double(GPU.activeMemory) / 1e9, peak = Double(GPU.peakMemory) / 1e9
    |                                 |- warning: 'activeMemory' is deprecated: renamed to 'Memory.activeMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                 `- note: use 'Memory.activeMemory' instead
419 |         if stepNo == 3 {       // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
420 |             print(String(format: "  ПРИБОР %-10@ активная %.3f  пик за фазу %.3f  (+%.3f к началу фазы)  кэш %.3f",
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:418:72: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
416 |     SequentialBody.probe = { name in
417 |         if name == "batch" { stepNo += 1 }
418 |         let active = Double(GPU.activeMemory) / 1e9, peak = Double(GPU.peakMemory) / 1e9
    |                                                                        |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                        `- note: use 'Memory.peakMemory' instead
419 |         if stepNo == 3 {       // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
420 |             print(String(format: "  ПРИБОР %-10@ активная %.3f  пик за фазу %.3f  (+%.3f к началу фазы)  кэш %.3f",
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:421:84: warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
419 |         if stepNo == 3 {       // третий шаг: установившийся (моменты Adam заведены, ядра собраны)
420 |             print(String(format: "  ПРИБОР %-10@ активная %.3f  пик за фазу %.3f  (+%.3f к началу фазы)  кэш %.3f",
421 |                          name as NSString, active, peak, peak - before, Double(GPU.cacheMemory) / 1e9))
    |                                                                                    |- warning: 'cacheMemory' is deprecated: renamed to 'Memory.cacheMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                                                                    `- note: use 'Memory.cacheMemory' instead
422 |         }
423 |         before = active
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:440:47: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
438 |             if s.step > 2 {
439 |                 abTime[arm].append(Date().timeIntervalSince(last))
440 |                 abPeak[arm].append(Double(GPU.peakMemory) / 1e9)
    |                                               |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                               `- note: use 'Memory.peakMemory' instead
441 |             }
442 |             SequentialBody.pipelined = s.step % 2 == 1
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:466:29: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
464 |     print(String(format: "после обучения: %@ | %d шагов за %.1f с (%.2f с/шаг) | пик MLX %.2f ГБ, footprint +%.2f ГБ",
465 |                  r.after?.description ?? "—", r.steps, r.seconds, r.seconds / Double(max(1, r.steps)),
466 |                  Double(GPU.peakMemory) / 1e9, footprintGB() - f0))
    |                             |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                             `- note: use 'Memory.peakMemory' instead
467 |     report["before"] = r.before?.headline ?? Double.nan
468 |     report["after"] = r.after?.headline ?? Double.nan
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:470:42: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
468 |     report["after"] = r.after?.headline ?? Double.nan
469 |     report["final_loss"] = Double(r.finalLoss); report["train_seconds"] = r.seconds
470 |     report["train_peak_gb"] = Double(GPU.peakMemory) / 1e9
    |                                          |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                          `- note: use 'Memory.peakMemory' instead
471 |
472 |     if args.thenState > 0 {
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:541:29: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
539 |     print(String(format: "оценка: %@ | %.1f с (%.1f мс на строку) | пик MLX %.2f ГБ, пик footprint оценки %.2f ГБ",
540 |                  before.description, evalSeconds, evalSeconds * 1e3 / Double(heldOut.count),
541 |                  Double(GPU.peakMemory) / 1e9, watch.take()))
    |                             |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                             `- note: use 'Memory.peakMemory' instead
542 |     report["before"] = before.headline; report["eval_seconds"] = evalSeconds
543 |     report["eval_peak_gb"] = Double(GPU.peakMemory) / 1e9
/Users/admin/builder/spi-builder-workspace/Sources/EmbedRun/main.swift:543:41: warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
541 |                  Double(GPU.peakMemory) / 1e9, watch.take()))
542 |     report["before"] = before.headline; report["eval_seconds"] = evalSeconds
543 |     report["eval_peak_gb"] = Double(GPU.peakMemory) / 1e9
    |                                         |- warning: 'peakMemory' is deprecated: renamed to 'Memory.peakMemory' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                                         `- note: use 'Memory.peakMemory' instead
544 | }
545 | report["footprint_gb"] = footprintGB() - f0
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
  "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",
        "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"
}
Done.