[INFO] cloning repository https://github.com/lucienhuangfu/eLLM
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lucienhuangfu/eLLM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flucienhuangfu%2FeLLM", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flucienhuangfu%2FeLLM'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1506b2d1f6cbd31799e1e0861bdc956158f15da1
[INFO] checking lucienhuangfu/eLLM against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flucienhuangfu%2FeLLM" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/lucienhuangfu/eLLM
[INFO] finished tweaking git repo https://github.com/lucienhuangfu/eLLM
[INFO] tweaked toml for git repo https://github.com/lucienhuangfu/eLLM written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lucienhuangfu/eLLM on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 258 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.8.2)
[INFO] [stderr]       Adding env_logger v0.9.3 (available: v0.11.10)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding matchit v0.8.4 (available: v0.8.6)
[INFO] [stderr]       Adding nom v7.1.3 (available: v8.0.0)
[INFO] [stderr]       Adding numpy v0.20.0 (available: v0.28.0)
[INFO] [stderr]       Adding pyo3 v0.20.3 (available: v0.28.3)
[INFO] [stderr]       Adding rand v0.8.6 (available: v0.10.1)
[INFO] [stderr]       Adding safetensors v0.4.5 (available: v0.7.0)
[INFO] [stderr]       Adding tokenizers v0.22.2 (available: v0.23.1)
[INFO] [stderr]       Adding zip v0.6.6 (available: v8.6.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.unwind-tables
[INFO] [stderr] warning: unused manifest key: toolchain
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 379acb0d39e5de1fe35e7382a5fe244646bc19c131c58ea6b303c17f7c51db7b
[INFO] running `Command { std: "docker" "start" "-a" "379acb0d39e5de1fe35e7382a5fe244646bc19c131c58ea6b303c17f7c51db7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "379acb0d39e5de1fe35e7382a5fe244646bc19c131c58ea6b303c17f7c51db7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "379acb0d39e5de1fe35e7382a5fe244646bc19c131c58ea6b303c17f7c51db7b", kill_on_drop: false }`
[INFO] [stdout] 379acb0d39e5de1fe35e7382a5fe244646bc19c131c58ea6b303c17f7c51db7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa9cd5d87ac46fbba245a4d05a233167c00d7de7f257dc9e80ffee19782cd5e1
[INFO] running `Command { std: "docker" "start" "-a" "aa9cd5d87ac46fbba245a4d05a233167c00d7de7f257dc9e80ffee19782cd5e1", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.unwind-tables
[INFO] [stderr] warning: unused manifest key: toolchain
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking password-hash v0.4.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking unit-prefix v0.5.2
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking onig v6.5.3
[INFO] [stderr]     Checking macro_rules_attribute v0.2.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking dary_heap v0.3.9
[INFO] [stderr]     Checking rayon-cond v0.4.0
[INFO] [stderr]     Checking spm_precompiled v0.1.4
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking indicatif v0.18.4
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking monostate v0.1.18
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking unicode-normalization-alignments v0.1.12
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking iter-read v1.1.0
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking constant_time_eq v0.1.5
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]     Checking memo-map v0.3.3
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking minijinja v2.19.0
[INFO] [stderr]     Checking serde-pickle v1.2.0
[INFO] [stderr]     Checking core_affinity v0.8.3
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking safetensors v0.4.5
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking tokenizers v0.22.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking zip v0.6.6
[INFO] [stderr]     Checking eLLM v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::kernel::generic::from_usize::FromUsize`
[INFO] [stdout]  --> src/compiler/map/rms_map.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::kernel::generic::from_usize::FromUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::generic::from_usize::FromUsize`
[INFO] [stdout]  --> src/compiler/map/topk_softmax.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::kernel::generic::from_usize::FromUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::kernel`
[INFO] [stdout]  --> src/compiler/mul/attention.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::super::super::kernel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::compiler::assign::assign`
[INFO] [stdout]  --> src/compiler/mul/attention.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::compiler::assign::assign;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::kernel`
[INFO] [stdout]  --> src/compiler/mul/experts_matmul_mul.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::super::super::kernel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::kernel`
[INFO] [stdout]  --> src/compiler/mul/experts_merge_add.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::super::super::kernel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/compiler/operator.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^             ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/kernel/generic/complex_mul.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/kernel/generic/silu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/kernel/generic/silu.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::sigmoid::{self, Sigmoid};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/kernel/generic/experts_topk_softmax_norm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Inv`
[INFO] [stdout]  --> src/kernel/x86_64/f32_256/experts_topk_softmax_norm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num_traits::Inv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `__m512i`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/activation.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     __m512h, __m512i, _mm512_abs_ph, _mm512_add_epi16, _mm512_add_ph, _mm512_and_si512,
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f16`
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/activation.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::f16;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `_MM_HINT_T1`, `_mm512_add_ph`, and `_mm512_reduce_add_ph`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/flash_attention.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     __m512h, _mm512_add_ph, _mm512_fmadd_ph, _mm512_load_ph, _mm512_mul_ph, _mm512_reduce_add_ph,
[INFO] [stdout]   |              ^^^^^^^^^^^^^                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     _mm512_set1_ph, _mm512_setzero_ph, _mm512_store_ph, _mm_prefetch, _MM_HINT_T1, _MM_HINT_T2,
[INFO] [stdout]   |                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `_mm512_fmadd_ph`, `_mm512_loadu_ph`, `_mm512_mul_ph`, `_mm512_set1_ph`, and `_mm512_storeu_ph`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/moe_silu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     _mm512_fmadd_ph, _mm512_loadu_ph, _mm512_mul_ph, _mm512_set1_ph, _mm512_storeu_ph,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f16`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/moe_silu.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::f16;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::x86_64::f16_512::activation::sigmoid512`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/moe_silu.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::kernel::x86_64::f16_512::activation::sigmoid512;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `_mm512_setzero_ph`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/fused_gate_up_silu_mul_block.rs:4:70
[INFO] [stdout]   |
[INFO] [stdout] 4 |     _mm512_fmadd_ph, _mm512_loadu_ph, _mm512_mul_ph, _mm512_set1_ph, _mm512_setzero_ph,
[INFO] [stdout]   |                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/ptensor/tensor.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/attention.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^             ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/sparse_moe_block.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^             ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/decoder_layer.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^             ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_affinity`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core_affinity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::SyncUnsafeCell`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::SyncUnsafeCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Barrier`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Barrier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/qwen3_moe/model.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/qwen3_moe/model.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::compiler::map::rms_map::RMSMap`
[INFO] [stdout]   --> src/qwen3_moe/model.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::super::compiler::map::rms_map::RMSMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `avx512_target_feature` has been stable since 1.89.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![feature(avx512_target_feature)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `stdarch_x86_avx512` has been stable since 1.89.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![feature(stdarch_x86_avx512)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::generic::from_usize::FromUsize`
[INFO] [stdout]  --> src/compiler/map/rms_map.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::kernel::generic::from_usize::FromUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq`
[INFO] [stdout]    --> src/compiler/map/rms_map.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     use rand::seq;
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::generic::from_usize::FromUsize`
[INFO] [stdout]  --> src/compiler/map/topk_softmax.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::kernel::generic::from_usize::FromUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_cpus`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     use num_cpus;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_ulps_eq`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     use approx::assert_ulps_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::kernel`
[INFO] [stdout]  --> src/compiler/mul/attention.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::super::super::kernel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::compiler::assign::assign`
[INFO] [stdout]  --> src/compiler/mul/attention.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::compiler::assign::assign;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_ulps_eq`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     use approx::assert_ulps_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::kernel`
[INFO] [stdout]  --> src/compiler/mul/experts_matmul_mul.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::super::super::kernel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_abs_diff_eq`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |     use approx::assert_abs_diff_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 507 |     use rand::prelude::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:508:9
[INFO] [stdout]     |
[INFO] [stdout] 508 |     use std::collections::HashSet;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::super::kernel`
[INFO] [stdout]  --> src/compiler/mul/experts_merge_add.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::super::super::kernel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_abs_diff_eq`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |     use approx::assert_abs_diff_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/compiler/operator.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^             ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/kernel/generic/complex_mul.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/kernel/generic/silu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/kernel/generic/silu.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::sigmoid::{self, Sigmoid};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/kernel/generic/experts_topk_softmax_norm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assert_ulps_eq`
[INFO] [stdout]   --> src/kernel/generic/experts_topk_softmax_norm.rs:74:38
[INFO] [stdout]    |
[INFO] [stdout] 74 |     use approx::{assert_relative_eq, assert_ulps_eq};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/kernel/x86_64/f32_256/bitonic_sort.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Inv`
[INFO] [stdout]  --> src/kernel/x86_64/f32_256/experts_topk_softmax_norm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use num_traits::Inv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_ulps_eq`
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/add.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use approx::assert_ulps_eq;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `__m512i`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/activation.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     __m512h, __m512i, _mm512_abs_ph, _mm512_add_epi16, _mm512_add_ph, _mm512_and_si512,
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_ulps_eq`
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/silu.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     use approx::assert_ulps_eq;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `_MM_HINT_T1`, `_mm512_add_ph`, and `_mm512_reduce_add_ph`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/flash_attention.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     __m512h, _mm512_add_ph, _mm512_fmadd_ph, _mm512_load_ph, _mm512_mul_ph, _mm512_reduce_add_ph,
[INFO] [stdout]   |              ^^^^^^^^^^^^^                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |     _mm512_set1_ph, _mm512_setzero_ph, _mm512_store_ph, _mm_prefetch, _MM_HINT_T1, _MM_HINT_T2,
[INFO] [stdout]   |                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/moe_merge.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     use std::mem;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/moe_down.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use std::mem;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `_mm512_fmadd_ph`, `_mm512_loadu_ph`, `_mm512_mul_ph`, `_mm512_set1_ph`, and `_mm512_storeu_ph`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/moe_silu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     _mm512_fmadd_ph, _mm512_loadu_ph, _mm512_mul_ph, _mm512_set1_ph, _mm512_storeu_ph,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::kernel::x86_64::f16_512::activation::sigmoid512`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/moe_silu.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::kernel::x86_64::f16_512::activation::sigmoid512;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `_mm512_setzero_ph`
[INFO] [stdout]  --> src/kernel/x86_64/f16_512/fused_gate_up_silu_mul_block.rs:4:70
[INFO] [stdout]   |
[INFO] [stdout] 4 |     _mm512_fmadd_ph, _mm512_loadu_ph, _mm512_mul_ph, _mm512_set1_ph, _mm512_setzero_ph,
[INFO] [stdout]   |                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assert_ulps_eq`
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/experts_topk_softmax_norm.rs:202:38
[INFO] [stdout]     |
[INFO] [stdout] 202 |     use approx::{assert_relative_eq, assert_ulps_eq};
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/ptensor/tensor.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assert_abs_diff_eq`
[INFO] [stdout]    --> src/ptensor/tensor.rs:770:18
[INFO] [stdout]     |
[INFO] [stdout] 770 |     use approx::{assert_abs_diff_eq, assert_ulps_eq};
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/attention.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^             ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `approx::assert_ulps_eq`
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use approx::assert_ulps_eq;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/sparse_moe_block.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/decoder_layer.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]    --> src/qwen3_moe/decoder_layer.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use std::slice;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_affinity`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core_affinity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::SyncUnsafeCell`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::SyncUnsafeCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Div` and `Mul`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ptr::null;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Barrier`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Barrier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `RwLock`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, RwLock};
[INFO] [stdout]   |                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/qwen3_moe/model.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/qwen3_moe/model.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::compiler::map::rms_map::RMSMap`
[INFO] [stdout]   --> src/qwen3_moe/model.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::super::compiler::map::rms_map::RMSMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use std::cell::RefCell;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     use std::rc::Rc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     use std::thread;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::memory::cache::Cache`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     use crate::memory::cache::Cache;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ptensor::tensor::Tensor`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     use crate::ptensor::tensor::Tensor;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `avx512_target_feature` has been stable since 1.89.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![feature(avx512_target_feature)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `stdarch_x86_avx512` has been stable since 1.89.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![feature(stdarch_x86_avx512)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/ptensor/tensor.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/compiler/map/experts_softmax_norm.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 ptr: unsafe { allocate_init::<T>(length, T::default()) },
[INFO] [stdout]    |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/map/experts_softmax_norm.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         position_begin: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         input_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_values_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         topk_values_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_values_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_indices_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         topk_indices_ptr: *mut usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `experts_indicator`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         experts_indicator: *mut bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_experts_indicator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indice_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         indice_ptr: *mut bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indice_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         weight_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_index`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         token_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_length`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         input_length: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_length`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         output_length: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/rms_map.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut ptr1 = self.ptr1.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/rms_map.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let mut output_ptr = self.output_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/map/rms_map.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         position_begin: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut input_indices_ptr = self.input_indices_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut input_values_ptr = self.input_values_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut output_indices_ptr = self.output_indices_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_values_ptr = self.output_values_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let mut output_sequences_ptr = self.output_sequences.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_indices_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         input_indices_ptr: *const usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_values_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         input_values_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_values_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_indices_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         output_indices_ptr: *mut usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_values_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         output_values_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_values_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_token_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         output_token_ptr: *mut usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_token_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_num`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         thread_num: usize,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_size`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         topk_size: usize,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/zip_map/add_zip.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             position_begin: usize,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut ptr1 = self.ptr1.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut ptr2 = self.ptr2.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_ptr = self.output_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_start`
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         position_start: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr1`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:144:23
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr2`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:144:47
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:144:71
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut ptr1 = self.ptr1.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut ptr2 = self.ptr2.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut output_ptr = self.output_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             position_begin: usize,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr1`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:198:23
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr2`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:198:47
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:198:71
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_index`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         position_index: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_interval`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         position_interval: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_size`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         batch_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_num`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         cpu_num: usize,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         thread_id: usize,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         q_ptr: *const T,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_q_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         k_ptr: *const T,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         v_ptr: *const T,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `residual_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         residual_ptr: *const T,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_residual_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         output_ptr: *mut T,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |         position: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         q_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_q_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         k_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         v_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `residual_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         residual_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_residual_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         output_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         position: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         q_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_q_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         k_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         v_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `residual_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         residual_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_residual_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         output_ptr: *mut f32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         position: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_index`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         position_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_interval`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |         position_interval: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_tile`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:483:24
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn compute1(&self, a_tile: *const f16, b_panel: *const f16, acc: *mut f16) {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:483:44
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn compute1(&self, a_tile: *const f16, b_panel: *const f16, acc: *mut f16) {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:483:65
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn compute1(&self, a_tile: *const f16, b_panel: *const f16, acc: *mut f16) {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_param`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let call_param = MatMulParams {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:509:24
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn compute2(&self, out_row: *mut f16, acc_row: *const f16, factor: *const f16, len: usize) {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:509:43
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn compute2(&self, out_row: *mut f16, acc_row: *const f16, factor: *const f16, len: usize) {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_acc_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:509:84
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn compute2(&self, out_row: *mut f16, acc_row: *const f16, factor: *const f16, len: usize) {
[INFO] [stdout]     |                                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor_val`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:510:13
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let factor_val = unsafe { *factor };
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:370:29
[INFO] [stdout]     |
[INFO] [stdout] 370 |                         let gate_panel =
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:372:29
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         let up_panel =
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_tile`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |         a_tile: *const f16,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         gate_panel: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         up_panel: *const f16,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_acc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         gate_acc: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_acc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 474 |         up_acc: *mut f16,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |         kc: usize,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_kc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:489:24
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn compute2(&self, gate_row: *const f16, up_row: *const f16, c_row: *mut f16) {
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:489:46
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn compute2(&self, gate_row: *const f16, up_row: *const f16, c_row: *mut f16) {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:489:66
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn compute2(&self, gate_row: *const f16, up_row: *const f16, c_row: *mut f16) {
[INFO] [stdout]     |                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_row`
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:154:25
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn merge_add(&self, out_row: *mut f16, add_row: *const f16, len: usize) {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_row`
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:154:44
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn merge_add(&self, out_row: *mut f16, add_row: *const f16, len: usize) {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:154:65
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn merge_add(&self, out_row: *mut f16, add_row: *const f16, len: usize) {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         a: *const f16,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_panel`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         b_panel: *const f16,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         c: *mut f16,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lda`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |         lda: usize,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_lda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ldc`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         ldc: usize,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ldc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kc`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |         kc: usize,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_kc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_head`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:436:24
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn compute2(&self, c_head: *mut f16, rope_head: *const f16, ldc: usize) {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rope_head`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:436:42
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn compute2(&self, c_head: *mut f16, rope_head: *const f16, ldc: usize) {
[INFO] [stdout]     |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rope_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ldc`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:436:65
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn compute2(&self, c_head: *mut f16, rope_head: *const f16, ldc: usize) {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ldc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/compiler/operator.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             _ => panic!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/compiler/operator.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout]  77 |             Self::AddRMSZipMap(operator) => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  86 |             Self::AddZipMap(operator) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  95 |             Self::Attention(operator) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 104 |             Self::ComplexZipMap(operator) => {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 243 |             _ => panic!(),
[INFO] [stdout]     |             ^ ...and 12 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_indices_ptr`
[INFO] [stdout]   --> src/kernel/generic/experts_topk_softmax_norm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     topk_indices_ptr: *mut usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/kernel/generic/flash_attention.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     for i in 0..=position {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/memory/allocator.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let mut data_ptr: *mut T = alloc::alloc(layout) as *mut T;
[INFO] [stdout]   |             ----^^^^^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]   --> src/ptensor/tensor.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         weight: *const T,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:320:33
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let experts_indicator = unsafe { allocate_init(num_experts, false) };
[INFO] [stdout]     |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let indice_ptr = unsafe { allocate_init(length, false) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let weight_ptr = unsafe { allocate_init(length, T::default()) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |             unsafe { allocate_init(num_experts_per_tok * self.shape[0] * self.shape[1], 0usize) };
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ptensor/tensor.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut topk_indices_ptr =
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope_name`
[INFO] [stdout]    --> src/ptensor/tensor.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         scope_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scope_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:560:26
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let indice_ptr = unsafe { allocate_init(output_shape.iter().product(), 0usize) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:157:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut view_key_position_tensor = view_key_states.permute(vec![1, 2, 0, 3]);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut view_value_states = value_states.view(vec![
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let mut view_value_states2 = view_value_states.permute(vec![1, 2, 0, 3]);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let mut view_context_tensor = attn_output.view(vec![
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence_length`
[INFO] [stdout]   --> src/qwen3_moe/decoder_layer.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         sequence_length: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tensor_name`
[INFO] [stdout]    --> src/qwen3_moe/decoder_layer.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         tensor_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tensor_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/compiler/mul/attention.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Attention<T> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 13 |     q_ptr: ConstPtr<T>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     k_ptr: ConstPtr<T>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     v_ptr: ConstPtr<T>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     // residual_ptr: ConstPtr<T>,
[INFO] [stdout] 17 |     output_ptr: MutPtr<T>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     batch_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     attention_head_num: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     kv_head_num: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     head_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 22 |     kv_strides: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     inverse_sqrt_head: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Attention` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ptr2`, `indice_ptr`, `value_ptr`, and `topk` are never read
[INFO] [stdout]   --> src/compiler/mul/matmul_topk.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MatMulTopK<T>
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     ptr2: ConstPtr<T>,         // ✅ B_nt[N×K]
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     indice_ptr: MutPtr<usize>, // indices buffer: [batch_max][thread_max][TOPK]
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     value_ptr: MutPtr<T>,      // values buffer : [batch_max][thread_max][TOPK]
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     topk: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MatMulTopK` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]   --> src/memory/cache.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Cache<T> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     parameters: HashMap<String, Vec<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_key_value_groups`, `attention_dropout`, `is_causal`, `layer_idx`, `cache`, and `operator_queue` are never read
[INFO] [stdout]   --> src/qwen3_moe/attention.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Attention<T>
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     num_key_value_groups: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     attention_dropout: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     is_causal: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 33 |     layer_idx: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     cache: Rc<RefCell<Cache<T>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     operator_queue: Rc<RefCell<Vec<Operator<T>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hidden_size`, `norm_topk_prob`, `cache`, and `operator_queue` are never read
[INFO] [stdout]   --> src/qwen3_moe/sparse_moe_block.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SparseMoeBlock<T>
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     hidden_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     norm_topk_prob: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     cache: Rc<RefCell<Cache<T>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     operator_queue: Rc<RefCell<Vec<Operator<T>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SparseMoeBlock` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sequence_length`, `hidden_size`, and `head_dim` are never read
[INFO] [stdout]   --> src/qwen3_moe/decoder_layer.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DecoderLayer<T>
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     sequence_length: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     hidden_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 30 |     head_dim: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `word_embedding` and `position_embedding` are never read
[INFO] [stdout]   --> src/qwen3_moe/model.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Model<T>
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     word_embedding: Rc<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     position_embedding: Rc<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]   --> src/kernel/generic/flash_attention.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |     q: *const T, K: *const T, V: *const T, o: *mut T, inverse_sqrt_head: T, length: usize, stride: usize, position: usize
[INFO] [stdout]    |                  ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]   --> src/kernel/generic/flash_attention.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |     q: *const T, K: *const T, V: *const T, o: *mut T, inverse_sqrt_head: T, length: usize, stride: usize, position: usize
[INFO] [stdout]    |                               ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cephes_LOG2EF` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f32_256/activation.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let cephes_LOG2EF = _mm256_set1_ps(1.44269504088896341f32);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cephes_log2_ef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `inv_LOG2EF` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f32_256/activation.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let inv_LOG2EF    = _mm256_set1_ps(0.693147180559945f32);
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `inv_log2_ef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cephes_LOG2EF` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/activation.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let cephes_LOG2EF = _mm512_set1_ph(1.44269504088896341);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cephes_log2_ef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/flash_attention.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     K: *const f16,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/flash_attention.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     V: *const f16,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `test` is declared but not used
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `duration_millis_float` is declared but not used
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(duration_millis_float)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `stdarch_x86_avx512_bf16` is declared but not used
[INFO] [stdout]  --> src/lib.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | #![feature(stdarch_x86_avx512_bf16)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `duration_millis_float` is declared but not used
[INFO] [stdout]  --> src/bin/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(duration_millis_float)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `duration_millis_float` is declared but not used
[INFO] [stdout]  --> src/bin/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(duration_millis_float)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/qwen3_moe/model.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/ptensor/tensor.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/qwen3_moe/decoder_layer.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/qwen3_moe/sparse_moe_block.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::{Add, AddAssign, Div, Mul, Neg, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super`
[INFO] [stdout]   --> src/kernel/generic/experts_topk_softmax_norm.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     use super::*;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/map/lookup_rms_map.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let mut o = LookupRMSMap::new(
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/compiler/map/experts_softmax_norm.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 ptr: unsafe { allocate_init::<T>(length, T::default()) },
[INFO] [stdout]    |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/map/experts_softmax_norm.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         position_begin: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         input_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_values_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         topk_values_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_values_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_indices_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         topk_indices_ptr: *mut usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `experts_indicator`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         experts_indicator: *mut bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_experts_indicator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indice_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         indice_ptr: *mut bool,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indice_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight_ptr`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         weight_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_index`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         token_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_length`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         input_length: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_length`
[INFO] [stdout]    --> src/compiler/map/experts_softmax_norm.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         output_length: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/rms_map.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let mut ptr1 = self.ptr1.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/rms_map.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let mut output_ptr = self.output_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/map/rms_map.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         position_begin: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/map/rms_map.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut operator = RMSMap::new(
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strides`
[INFO] [stdout]    --> src/compiler/map/rms_map.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let strides = vec![batch_size * hidden_size, hidden_size, 1]; // 对应的步长
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/compiler/map/rms_map.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let weight = vec![1.0f32; hidden_size];
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut input_indices_ptr = self.input_indices_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut input_values_ptr = self.input_values_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut output_indices_ptr = self.output_indices_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_values_ptr = self.output_values_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/map/topk_softmax.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let mut output_sequences_ptr = self.output_sequences.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_indices_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         input_indices_ptr: *const usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_values_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         input_values_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_values_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_indices_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         output_indices_ptr: *mut usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_values_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         output_values_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_values_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_token_ptr`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         output_token_ptr: *mut usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_token_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_num`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         thread_num: usize,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_size`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         topk_size: usize,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sums`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let sums = vec![0.0f32; batch_size * position_interval];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_sums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sums`
[INFO] [stdout]    --> src/compiler/map/topk_softmax.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let sums = vec![0.0 as f16; batch_size * position_interval];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_sums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/zip_map/add_zip.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             position_begin: usize,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/zip_map/add_zip.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 | ...   let mut operator = AddZipMap::new(input_data1.as_ptr(), input_data2.as_ptr(), output_data.as_mut_ptr(), batch_size, head_num,...
[INFO] [stdout]     |           ----^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_strides1`
[INFO] [stdout]    --> src/compiler/zip_map/add_zip.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let input_strides1 = get_strides(&shapes);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_strides1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_strides2`
[INFO] [stdout]    --> src/compiler/zip_map/add_zip.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let input_strides2 = get_strides(&shapes);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_strides2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_strides`
[INFO] [stdout]    --> src/compiler/zip_map/add_zip.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let output_strides = get_strides(&shapes); 
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_strides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut ptr1 = self.ptr1.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut ptr2 = self.ptr2.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_ptr = self.output_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_start`
[INFO] [stdout]   --> src/compiler/zip_map/add_rms_zip.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         position_start: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr1`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:144:23
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr2`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:144:47
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:144:71
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:198:13
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut operator = AddRMSZipMap::new(
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_strides1`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let input_strides1 = vec![batch_size * hidden_size, hidden_size, 1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_strides1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_strides2`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let input_strides2 = vec![batch_size * hidden_size, hidden_size, 1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_strides2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_strides`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let output_strides = vec![batch_size * hidden_size, hidden_size, 1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_strides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/compiler/zip_map/add_rms_zip.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let weight = vec![1.0f32; hidden_size];
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut ptr1 = self.ptr1.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut ptr2 = self.ptr2.ptr;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut output_ptr = self.output_ptr.ptr;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_begin`
[INFO] [stdout]   --> src/compiler/zip_map/silu_mul_zip.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             position_begin: usize,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_strides2`
[INFO] [stdout]    --> src/compiler/zip_map/silu_mul_zip.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let input_strides2 = input_strides1.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_strides2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_strides`
[INFO] [stdout]    --> src/compiler/zip_map/silu_mul_zip.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let output_strides = input_strides1.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_strides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr1`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:198:23
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_ptr2`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:198:47
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_ptr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:198:71
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn compute(&self, input_ptr1: *const f64, input_ptr2: *const f64, output_ptr: *mut f64) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/zip_map/complex_zip.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let mut operator: ComplexZipMap<f32> = ComplexZipMap::new(
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_index`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         position_index: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_interval`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         position_interval: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_size`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         batch_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_num`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         cpu_num: usize,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]   --> src/compiler/mul/attention.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         thread_id: usize,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         q_ptr: *const T,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_q_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         k_ptr: *const T,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         v_ptr: *const T,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `residual_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         residual_ptr: *const T,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_residual_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         output_ptr: *mut T,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |         position: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |         q_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_q_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         k_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         v_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `residual_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         residual_ptr: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_residual_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         output_ptr: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         position: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         q_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_q_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         k_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_k_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         v_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `residual_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         residual_ptr: *const f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_residual_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_ptr`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         output_ptr: *mut f32,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/compiler/mul/attention.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         position: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_index`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         position_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_interval`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |         position_interval: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_tile`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:483:24
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn compute1(&self, a_tile: *const f16, b_panel: *const f16, acc: *mut f16) {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:483:44
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn compute1(&self, a_tile: *const f16, b_panel: *const f16, acc: *mut f16) {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:483:65
[INFO] [stdout]     |
[INFO] [stdout] 483 |     fn compute1(&self, a_tile: *const f16, b_panel: *const f16, acc: *mut f16) {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_param`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let call_param = MatMulParams {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:509:24
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn compute2(&self, out_row: *mut f16, acc_row: *const f16, factor: *const f16, len: usize) {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `acc_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:509:43
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn compute2(&self, out_row: *mut f16, acc_row: *const f16, factor: *const f16, len: usize) {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_acc_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:509:84
[INFO] [stdout]     |
[INFO] [stdout] 509 |     fn compute2(&self, out_row: *mut f16, acc_row: *const f16, factor: *const f16, len: usize) {
[INFO] [stdout]     |                                                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `factor_val`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:510:13
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let factor_val = unsafe { *factor };
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_factor_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:370:29
[INFO] [stdout]     |
[INFO] [stdout] 370 |                         let gate_panel =
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:372:29
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         let up_panel =
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_tile`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |         a_tile: *const f16,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         gate_panel: *const f16,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_panel`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:472:9
[INFO] [stdout]     |
[INFO] [stdout] 472 |         up_panel: *const f16,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_acc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         gate_acc: *mut f16,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_acc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 474 |         up_acc: *mut f16,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_acc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kc`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |         kc: usize,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_kc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gate_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:489:24
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn compute2(&self, gate_row: *const f16, up_row: *const f16, c_row: *mut f16) {
[INFO] [stdout]     |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gate_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `up_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:489:46
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn compute2(&self, gate_row: *const f16, up_row: *const f16, c_row: *mut f16) {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_up_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_row`
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:489:66
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn compute2(&self, gate_row: *const f16, up_row: *const f16, c_row: *mut f16) {
[INFO] [stdout]     |                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_row`
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:154:25
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn merge_add(&self, out_row: *mut f16, add_row: *const f16, len: usize) {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_row`
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:154:44
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn merge_add(&self, out_row: *mut f16, add_row: *const f16, len: usize) {
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:154:65
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn merge_add(&self, out_row: *mut f16, add_row: *const f16, len: usize) {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/compiler/mul/experts_merge_add.rs:441:9
[INFO] [stdout]     |
[INFO] [stdout] 441 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         a: *const f16,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b_panel`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         b_panel: *const f16,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_panel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |         c: *mut f16,
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lda`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |         lda: usize,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_lda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ldc`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         ldc: usize,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ldc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kc`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |         kc: usize,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_kc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_head`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:436:24
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn compute2(&self, c_head: *mut f16, rope_head: *const f16, ldc: usize) {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_c_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rope_head`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:436:42
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn compute2(&self, c_head: *mut f16, rope_head: *const f16, ldc: usize) {
[INFO] [stdout]     |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rope_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ldc`
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:436:65
[INFO] [stdout]     |
[INFO] [stdout] 436 |     fn compute2(&self, c_head: *mut f16, rope_head: *const f16, ldc: usize) {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ldc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout] 629 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/compiler/operator.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             _ => panic!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/compiler/operator.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout]  77 |             Self::AddRMSZipMap(operator) => {
[INFO] [stdout]     |             ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  86 |             Self::AddZipMap(operator) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  95 |             Self::Attention(operator) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 104 |             Self::ComplexZipMap(operator) => {
[INFO] [stdout]     |             ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 243 |             _ => panic!(),
[INFO] [stdout]     |             ^ ...and 12 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/compiler/operator.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let weight = [1.0f32; 18];
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/operator.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let mut operator = Operator::ComplexZipMap(ComplexZipMap::<f32>::new(
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/operator.rs:446:13
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let mut input_data2: Vec<f32> = vec![1.0; length];
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/compiler/operator.rs:450:13
[INFO] [stdout]     |
[INFO] [stdout] 450 |         let mut operator = Operator::SiluMulZipMap(SiluMulZipMap::new(
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sums`
[INFO] [stdout]    --> src/compiler/operator.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout] 590 |         let sums = vec![0.0f32; batch_size * position_interval];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_sums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `topk_indices_ptr`
[INFO] [stdout]   --> src/kernel/generic/experts_topk_softmax_norm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     topk_indices_ptr: *mut usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_topk_indices_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/kernel/generic/experts_topk_softmax_norm.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/kernel/generic/experts_topk_softmax_norm.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/kernel/generic/full_topk_softmax.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]   --> src/kernel/generic/rms_norm.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let weight = [1.0f32; 18];
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]   --> src/kernel/generic/rms_norm.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let weight = [1.0f32; 18];
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/kernel/generic/flash_attention.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     for i in 0..=position {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/kernel/generic/truncated_topk_softmax.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/kernel/x86_64/f32_256/experts_topk_softmax_norm.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sums`
[INFO] [stdout]   --> src/kernel/x86_64/f32_256/truncated_topk_softmax.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let sums = vec![0.0f32; thread_num];
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_sums`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/activation.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut v = allocate_init::<f16>(length, 0.0);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/activation.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut res = allocate_init::<f16>(length, 0.0);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/activation.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut v = allocate_init::<f16>(length, 0.0);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/activation.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let mut res = allocate_init::<f16>(length, 0.0);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/activation.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut v = allocate_init::<f16>(length, 0.0);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/activation.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let mut res = allocate_init::<f16>(length, 0.0);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/complex_mul.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             unsafe {
[INFO] [stdout]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/complex_mul.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         for j in 0..length {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/rms_norm.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let weight = allocate_init::<f16>(length, 1.0);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/rms_norm.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let weight = allocate_init::<f16>(length, 1.0);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/dot_product.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut x1 = allocate_init::<f16>(length, 1.0);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/dot_product.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut x2 = allocate_init::<f16>(length, 1.0);
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/flash_attention.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let mut exp: Vec<f16> = vec![5.0; 32];
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/fused_gate_up_silu_mul_block.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let u = k_total as f32;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/experts_topk_softmax_norm.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/truncated_topk_softmax.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/memory/allocator.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let mut data_ptr: *mut T = alloc::alloc(layout) as *mut T;
[INFO] [stdout]   |             ----^^^^^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]   --> src/ptensor/tensor.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         weight: *const T,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:320:33
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let experts_indicator = unsafe { allocate_init(num_experts, false) };
[INFO] [stdout]     |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let indice_ptr = unsafe { allocate_init(length, false) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let weight_ptr = unsafe { allocate_init(length, T::default()) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |             unsafe { allocate_init(num_experts_per_tok * self.shape[0] * self.shape[1], 0usize) };
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ptensor/tensor.rs:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut topk_indices_ptr =
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope_name`
[INFO] [stdout]    --> src/ptensor/tensor.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         scope_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scope_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ptensor/tensor.rs:560:26
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let indice_ptr = unsafe { allocate_init(output_shape.iter().product(), 0usize) };
[INFO] [stdout]     |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2019:33
[INFO] [stdout]      |
[INFO] [stdout] 2019 |         let experts_indicator = unsafe { allocate_init(num_experts, false) };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2020:26
[INFO] [stdout]      |
[INFO] [stdout] 2020 |         let indice_ptr = unsafe { allocate_init(num_experts * b, false) };
[INFO] [stdout]      |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2184:33
[INFO] [stdout]      |
[INFO] [stdout] 2184 |         let experts_indicator = unsafe { allocate_init(num_experts, false) };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2185:26
[INFO] [stdout]      |
[INFO] [stdout] 2185 |         let indice_ptr = unsafe { allocate_init(num_experts * b, false) };
[INFO] [stdout]      |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2186:26
[INFO] [stdout]      |
[INFO] [stdout] 2186 |         let weight_ptr = unsafe { allocate_init(num_experts * b, 0.0f16) };
[INFO] [stdout]      |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2187:32
[INFO] [stdout]      |
[INFO] [stdout] 2187 |         let topk_indices_ptr = unsafe { allocate_init(b * num_experts_per_tok, 0usize) };
[INFO] [stdout]      |                                ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2351:33
[INFO] [stdout]      |
[INFO] [stdout] 2351 |         let experts_indicator = unsafe { allocate_init(num_experts, false) };
[INFO] [stdout]      |                                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]     --> src/ptensor/tensor.rs:2352:26
[INFO] [stdout]      |
[INFO] [stdout] 2352 |         let indice_ptr = unsafe { allocate_init(num_experts * num_tokens, false) };
[INFO] [stdout]      |                          ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/ptensor/tensor.rs:2503:13
[INFO] [stdout]      |
[INFO] [stdout] 2503 |         let mut a = vec![0.0f16; M * K];
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:157:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut view_key_position_tensor = view_key_states.permute(vec![1, 2, 0, 3]);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut view_value_states = value_states.view(vec![
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let mut view_value_states2 = view_value_states.permute(vec![1, 2, 0, 3]);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let mut view_context_tensor = attn_output.view(vec![
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverse_sqrt_head`
[INFO] [stdout]    --> src/qwen3_moe/attention.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let inverse_sqrt_head = 1.0 / (config.hidden_size as f32).sqrt();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverse_sqrt_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence_length`
[INFO] [stdout]   --> src/qwen3_moe/decoder_layer.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         sequence_length: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tensor_name`
[INFO] [stdout]    --> src/qwen3_moe/decoder_layer.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         tensor_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tensor_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/qwen3_moe/model.rs:234:29
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let output_tensor = unsafe { model.forward(sequences) };
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/model.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let mut sequences = allocate_init::<usize>((sequence_length + 1) * batch_size, 0);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_tensor`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let output_tensor = unsafe { model.forward(sequences) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/qwen3_moe/model.rs:271:29
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let output_tensor = unsafe { model.forward(sequences) };
[INFO] [stdout]     |                             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/qwen3_moe/model.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let mut sequences =
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_tensor`
[INFO] [stdout]    --> src/qwen3_moe/model.rs:271:13
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let output_tensor = unsafe { model.forward(sequences) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/compiler/mul/attention.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Attention<T> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 13 |     q_ptr: ConstPtr<T>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     k_ptr: ConstPtr<T>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     v_ptr: ConstPtr<T>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     // residual_ptr: ConstPtr<T>,
[INFO] [stdout] 17 |     output_ptr: MutPtr<T>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     batch_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     attention_head_num: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     kv_head_num: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     head_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 22 |     kv_strides: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     inverse_sqrt_head: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Attention` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `silu_f32` is never used
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:511:8
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn silu_f32(x: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ref_one` is never used
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:515:8
[INFO] [stdout]     |
[INFO] [stdout] 515 |     fn ref_one(
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose_expert_kxn_to_nt` is never used
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:552:8
[INFO] [stdout]     |
[INFO] [stdout] 552 |     fn transpose_expert_kxn_to_nt(src: &[f16], e: usize, h: usize, i: usize) -> Vec<f16> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_all_threads` is never used
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_silu_mul_matmul.rs:566:8
[INFO] [stdout]     |
[INFO] [stdout] 566 |     fn run_all_threads(runner: &ExpertsMatMulSilu<f16>, batch: usize, cpu_num: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `avail_threads_cap` is never used
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:541:8
[INFO] [stdout]     |
[INFO] [stdout] 541 |     fn avail_threads_cap(cap: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gemm_ref_f16_acc_f32_from_wnt` is never used
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:550:8
[INFO] [stdout]     |
[INFO] [stdout] 550 |     fn gemm_ref_f16_acc_f32_from_wnt(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_runner` is never used
[INFO] [stdout]    --> src/compiler/mul/matmul3.rs:569:8
[INFO] [stdout]     |
[INFO] [stdout] 569 |     fn run_runner(runner: &MatMul3<f16>, m: usize, thread_num: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ptr2`, `indice_ptr`, `value_ptr`, and `topk` are never read
[INFO] [stdout]   --> src/compiler/mul/matmul_topk.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MatMulTopK<T>
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     ptr2: ConstPtr<T>,         // ✅ B_nt[N×K]
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     indice_ptr: MutPtr<usize>, // indices buffer: [batch_max][thread_max][TOPK]
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     value_ptr: MutPtr<T>,      // values buffer : [batch_max][thread_max][TOPK]
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     topk: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MatMulTopK` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `silu_f32` is never used
[INFO] [stdout]    --> src/compiler/operator.rs:953:4
[INFO] [stdout]     |
[INFO] [stdout] 953 | fn silu_f32(x: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ref_experts_silu_f32` is never used
[INFO] [stdout]    --> src/compiler/operator.rs:959:4
[INFO] [stdout]     |
[INFO] [stdout] 959 | fn ref_experts_silu_f32(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_operator_all_threads` is never used
[INFO] [stdout]     --> src/compiler/operator.rs:1004:4
[INFO] [stdout]      |
[INFO] [stdout] 1004 | fn run_operator_all_threads(op: &Operator<f16>, batch: usize, cpu_num: usize) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f32_from_f16` is never used
[INFO] [stdout]     --> src/compiler/operator.rs:1240:4
[INFO] [stdout]      |
[INFO] [stdout] 1240 | fn f32_from_f16(x: f16) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_of` is never used
[INFO] [stdout]     --> src/compiler/operator.rs:1272:4
[INFO] [stdout]      |
[INFO] [stdout] 1272 | fn slot_of(topk: &[usize], b: usize, ktop: usize, e: usize) -> usize {
[INFO] [stdout]      |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ref_down_f32` is never used
[INFO] [stdout]     --> src/compiler/operator.rs:1279:4
[INFO] [stdout]      |
[INFO] [stdout] 1279 | fn ref_down_f32(
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_close` is never used
[INFO] [stdout]     --> src/compiler/operator.rs:1559:4
[INFO] [stdout]      |
[INFO] [stdout] 1559 | fn assert_close(got: f32, exp: f32, tol: f32, msg: &str) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ref_merge_add_f32` is never used
[INFO] [stdout]     --> src/compiler/operator.rs:1566:4
[INFO] [stdout]      |
[INFO] [stdout] 1566 | fn ref_merge_add_f32(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_vec` is never used
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/moe_silu.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn random_vec(len: usize) -> Vec<f16> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parameters` is never read
[INFO] [stdout]   --> src/memory/cache.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Cache<T> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     parameters: HashMap<String, Vec<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cache` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f32_from_f16` is never used
[INFO] [stdout]    --> src/ptensor/tensor.rs:786:8
[INFO] [stdout]     |
[INFO] [stdout] 786 |     fn f32_from_f16(x: f16) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_operator_all_threads` is never used
[INFO] [stdout]    --> src/ptensor/tensor.rs:818:8
[INFO] [stdout]     |
[INFO] [stdout] 818 |     fn run_operator_all_threads(op: &Operator<f16>, batch: usize, cpu_num: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `idx_b_nt` is never used
[INFO] [stdout]    --> src/ptensor/tensor.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 832 |     fn idx_b_nt(j: usize, kk: usize, k: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ref_experts_silu_f32` is never used
[INFO] [stdout]     --> src/ptensor/tensor.rs:1891:8
[INFO] [stdout]      |
[INFO] [stdout] 1891 |     fn ref_experts_silu_f32(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_of` is never used
[INFO] [stdout]     --> src/ptensor/tensor.rs:1932:8
[INFO] [stdout]      |
[INFO] [stdout] 1932 |     fn slot_of(topk: &[usize], b: usize, ktop: usize, e: usize) -> usize {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ref_down_f32` is never used
[INFO] [stdout]     --> src/ptensor/tensor.rs:1937:8
[INFO] [stdout]      |
[INFO] [stdout] 1937 |     fn ref_down_f32(
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_if_no_avx512fp16` is never used
[INFO] [stdout]     --> src/ptensor/tensor.rs:2485:8
[INFO] [stdout]      |
[INFO] [stdout] 2485 |     fn skip_if_no_avx512fp16() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_key_value_groups`, `attention_dropout`, `is_causal`, `layer_idx`, `cache`, and `operator_queue` are never read
[INFO] [stdout]   --> src/qwen3_moe/attention.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Attention<T>
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     num_key_value_groups: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     attention_dropout: T,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     is_causal: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 33 |     layer_idx: usize,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     cache: Rc<RefCell<Cache<T>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 40 |     operator_queue: Rc<RefCell<Vec<Operator<T>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hidden_size`, `norm_topk_prob`, `cache`, and `operator_queue` are never read
[INFO] [stdout]   --> src/qwen3_moe/sparse_moe_block.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SparseMoeBlock<T>
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     hidden_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     norm_topk_prob: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     cache: Rc<RefCell<Cache<T>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     operator_queue: Rc<RefCell<Vec<Operator<T>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SparseMoeBlock` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f16_from_bits` is never used
[INFO] [stdout]    --> src/qwen3_moe/sparse_moe_block.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn f16_from_bits(bits: u16) -> f16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sequence_length`, `hidden_size`, and `head_dim` are never read
[INFO] [stdout]   --> src/qwen3_moe/decoder_layer.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DecoderLayer<T>
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     sequence_length: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     hidden_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 30 |     head_dim: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `word_embedding` and `position_embedding` are never read
[INFO] [stdout]   --> src/qwen3_moe/model.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Model<T>
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     word_embedding: Rc<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     position_embedding: Rc<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/compiler/mul/experts_matmul_mul.rs:543:34
[INFO] [stdout]     |
[INFO] [stdout] 543 |         let bits: u16 = unsafe { mem::transmute(x) };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 543 -         let bits: u16 = unsafe { mem::transmute(x) };
[INFO] [stdout] 543 +         let bits: u16 = unsafe { f16::to_bits(x) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]     --> src/compiler/operator.rs:1241:30
[INFO] [stdout]      |
[INFO] [stdout] 1241 |     let bits: u16 = unsafe { mem::transmute(x) };
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: replace this with
[INFO] [stdout]      |
[INFO] [stdout] 1241 -     let bits: u16 = unsafe { mem::transmute(x) };
[INFO] [stdout] 1241 +     let bits: u16 = unsafe { f16::to_bits(x) };
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]   --> src/kernel/generic/flash_attention.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |     q: *const T, K: *const T, V: *const T, o: *mut T, inverse_sqrt_head: T, length: usize, stride: usize, position: usize
[INFO] [stdout]    |                  ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]   --> src/kernel/generic/flash_attention.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |     q: *const T, K: *const T, V: *const T, o: *mut T, inverse_sqrt_head: T, length: usize, stride: usize, position: usize
[INFO] [stdout]    |                               ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/kernel/generic/flash_attention.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let K: Vec<f32> = vec![1.0;row_size*length];
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]    --> src/kernel/generic/flash_attention.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let V: Vec<f32> = vec![1.0;row_size*length];
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cephes_LOG2EF` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f32_256/activation.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let cephes_LOG2EF = _mm256_set1_ps(1.44269504088896341f32);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cephes_log2_ef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `inv_LOG2EF` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f32_256/activation.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let inv_LOG2EF    = _mm256_set1_ps(0.693147180559945f32);
[INFO] [stdout]    |         ^^^^^^^^^^ help: convert the identifier to snake case: `inv_log2_ef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cephes_LOG2EF` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/activation.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let cephes_LOG2EF = _mm512_set1_ph(1.44269504088896341);
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `cephes_log2_ef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/flash_attention.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     K: *const f16,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]   --> src/kernel/x86_64/f16_512/flash_attention.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     V: *const f16,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/flash_attention.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let K = allocate_init::<f16>(row_size * length, 1.0);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/flash_attention.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let V = allocate_init::<f16>(row_size * length, 1.0);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/kernel/x86_64/f16_512/matmul_rms_complex.rs:214:18
[INFO] [stdout]     |
[INFO] [stdout] 214 |         unsafe { mem::transmute::<f16, u16>(x) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 214 -         unsafe { mem::transmute::<f16, u16>(x) }
[INFO] [stdout] 214 +         unsafe { f16::to_bits(x) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/ptensor/tensor.rs:788:34
[INFO] [stdout]     |
[INFO] [stdout] 788 |         let bits: u16 = unsafe { mem::transmute(x) };
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 788 -         let bits: u16 = unsafe { mem::transmute(x) };
[INFO] [stdout] 788 +         let bits: u16 = unsafe { f16::to_bits(x) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/qwen3_moe/sparse_moe_block.rs:199:18
[INFO] [stdout]     |
[INFO] [stdout] 199 |         unsafe { mem::transmute::<f16, u16>(x) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 199 -         unsafe { mem::transmute::<f16, u16>(x) }
[INFO] [stdout] 199 +         unsafe { f16::to_bits(x) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/qwen3_moe/sparse_moe_block.rs:204:18
[INFO] [stdout]     |
[INFO] [stdout] 204 |         unsafe { mem::transmute::<u16, f16>(bits) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 204 -         unsafe { mem::transmute::<u16, f16>(bits) }
[INFO] [stdout] 204 +         unsafe { f16::from_bits(bits) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `test` is declared but not used
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(test)]
[INFO] [stdout]   |            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `duration_millis_float` is declared but not used
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(duration_millis_float)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `stdarch_x86_avx512_bf16` is declared but not used
[INFO] [stdout]  --> src/lib.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | #![feature(stdarch_x86_avx512_bf16)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "aa9cd5d87ac46fbba245a4d05a233167c00d7de7f257dc9e80ffee19782cd5e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa9cd5d87ac46fbba245a4d05a233167c00d7de7f257dc9e80ffee19782cd5e1", kill_on_drop: false }`
[INFO] [stdout] aa9cd5d87ac46fbba245a4d05a233167c00d7de7f257dc9e80ffee19782cd5e1
