diff --git a/benchmarks/edge_harness/experiments/profile_llamacpp_spark_text.py b/benchmarks/edge_harness/experiments/profile_llamacpp_spark_text.py new file mode 100644 index 000000000..b63ea9e96 --- /dev/null +++ b/benchmarks/edge_harness/experiments/profile_llamacpp_spark_text.py @@ -0,0 +1,195 @@ +#!/usr/bin/env python3 +"""Check two complete Spark text requests and profile a resident llama.cpp stage. + +The target llama-server must already be running on the intended local device. +This measures HTTP request wall time, including tokenization and delivery, not +Omni pipeline time. The caller must retain the server launch and placement log. +""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import math +import platform +import time +import urllib.request +from urllib.parse import urlparse +from pathlib import Path + + +def _read_json(url: str, body: dict | None = None, timeout: float = 60) -> dict: + payload = None if body is None else json.dumps(body).encode("utf-8") + request = urllib.request.Request( + url, data=payload, + headers={"Content-Type": "application/json"} if body is not None else {}, + ) + with urllib.request.urlopen(request, timeout=timeout) as response: + return json.load(response) + + +def _sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as stream: + for chunk in iter(lambda: stream.read(8 * 1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def _percentile(samples: list[float], fraction: float) -> float: + ordered = sorted(samples) + return ordered[math.ceil(fraction * len(ordered)) - 1] + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--endpoint", default="http://127.0.0.1:18173") + parser.add_argument("--model-file", type=Path, required=True) + parser.add_argument("--expected-model-sha256", required=True) + parser.add_argument("--warmups", type=int, default=1) + parser.add_argument("--repeats", type=int, default=20) + parser.add_argument("--profile-case", choices=("short", "inventory_120"), + default="inventory_120") + parser.add_argument("--cache-prompt", action="store_true", + help="Permit prompt/KV reuse across serial requests") + parser.add_argument("--cancel-check", action="store_true", + help="Close a live stream and verify the following request") + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args() + if args.warmups < 0 or args.repeats < 1: + parser.error("warmups must be nonnegative and repeats positive") + actual_sha = _sha256(args.model_file) + if actual_sha != args.expected_model_sha256.lower(): + raise ValueError("The GGUF differs from the pinned model artifact") + + base = args.endpoint.rstrip("/") + if urlparse(base).hostname not in {"127.0.0.1", "localhost", "::1"}: + raise ValueError("This single-device probe requires a local llama-server") + health = _read_json(base + "/health") + if health.get("status") != "ok": + raise RuntimeError(f"Server not ready: {health}") + props = _read_json(base + "/props") + if Path(props.get("model_path", "")).resolve() != args.model_file.resolve(): + raise RuntimeError("The server did not load the pinned GGUF path") + if props.get("total_slots") != 1: + raise RuntimeError("Expected one server slot for the serial profile") + + inventory = "Here is an inventory listing. " + " ".join( + f"Item {i}: the code for warehouse district {i} is {1000 + 7 * i}." + for i in range(1, 121) + ) + " What is the code for warehouse district 73? Answer with just the number." + cases = [ + ("short", "What is the capital of France? Answer in one word.", "Paris"), + ("inventory_120", inventory, "1511"), + ] + + def run(name: str, prompt: str, expected: str) -> dict: + started = time.perf_counter() + result = _read_json(base + "/v1/chat/completions", { + "model": props["model_alias"], + "messages": [{"role": "user", "content": prompt}], + "temperature": 0, + "max_tokens": 96, + "stream": False, + "cache_prompt": args.cache_prompt, + }) + wall_s = time.perf_counter() - started + choice = result["choices"][0] + content = choice["message"]["content"].strip() + row = { + "case": name, + "wall_s": wall_s, + "content": content, + "expected": expected, + "correct": content == expected, + "finish_reason": choice["finish_reason"], + "usage": result.get("usage"), + } + if not row["correct"] or row["finish_reason"] != "stop": + raise RuntimeError(f"Complete-response gate failed: {row}") + return row + + checks = [run(*case) for case in cases] + profile_case = next(case for case in cases if case[0] == args.profile_case) + warmups = [run(*profile_case) for _ in range(args.warmups)] + measured = [run(*profile_case) for _ in range(args.repeats)] + times = [row["wall_s"] for row in measured] + cancellation = None + if args.cancel_check: + body = json.dumps({ + "model": props["model_alias"], + "messages": [{"role": "user", "content": "Count from 1 to 500, separated by spaces."}], + "temperature": 0, + "max_tokens": 512, + "stream": True, + "cache_prompt": False, + }).encode("utf-8") + request = urllib.request.Request( + base + "/v1/chat/completions", data=body, + headers={"Content-Type": "application/json"}, + ) + started = time.perf_counter() + first_delta = None + first_delta_wall_s = None + with urllib.request.urlopen(request, timeout=30) as response: + for _ in range(100): + line = response.readline() + if not line: + break + if not line.startswith(b"data: {"): + continue + event = json.loads(line[6:]) + delta = event["choices"][0].get("delta", {}).get("content") + if delta: + first_delta = delta + first_delta_wall_s = time.perf_counter() - started + break + if not first_delta: + raise RuntimeError("Did not observe a live token before stream cancellation") + recovery = run(*cases[0]) + cancellation = { + "first_delta": first_delta, + "stream_closed_after_first_content": True, + "first_delta_wall_s": first_delta_wall_s, + "recovery": recovery, + } + report = { + "scope": "Standalone llama.cpp full-model text path; no Omni stage binding", + "platform": platform.platform(), + "model_path": str(args.model_file), + "model_sha256": actual_sha, + "server": { + "endpoint": base, + "build_info": props.get("build_info"), + "model_alias": props["model_alias"], + "model_ftype": props.get("model_ftype"), + "total_slots": props["total_slots"], + }, + "quality_checks": checks, + "warmups": warmups, + "samples": measured, + "cancellation": cancellation, + "profile": { + "case": args.profile_case, + "cache_prompt": args.cache_prompt, + "repeats": args.repeats, + "concurrency": 1, + "p50_wall_s": _percentile(times, 0.5), + "p95_wall_s": _percentile(times, 0.95), + "min_wall_s": min(times), + "max_wall_s": max(times), + "cached_prompt_tokens": [ + row["usage"].get("prompt_tokens_details", {}).get("cached_tokens", 0) + for row in measured + ], + }, + "status": "passed", + } + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(report, indent=2) + "\n", encoding="utf-8") + print(json.dumps({"status": report["status"], "profile": report["profile"]}, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/README.md b/benchmarks/edge_harness/results/e2e_expansion_20260923/README.md index 492a3ec26..cd881ad8b 100644 --- a/benchmarks/edge_harness/results/e2e_expansion_20260923/README.md +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/README.md @@ -1,9 +1,11 @@ # 2026-09-23 WSL CPU and native Windows expansion -This extends the [60-cell device × model matrix](../e2e_profiling_20260922/evidence/summary/README.md) with previously unrun WSL CPU and native Windows paths. The September 22 timing tables remain historical. MiniCPM-o now has separate 20-request serial text-to-speech timing runs on WSL CPU and native Windows GPU, plus one synthetic image and one synthetic audio input on each platform; each InternVLA timing remains one observation. A Spark output-head component also has a separate 20-request Omni graph-stage profile on the HX370 AMD NPU. None is a sustained or full-modality profile. The [checkpoint manifests](../e2e_recovery_20260923/README.md) pin the earlier real weights; the [Spark component record](evidence/spark_amd_npu_output_head/README.md) pins its checkpoint revision and graph hashes. No model, precision or context was silently substituted. +This extends the [60-cell device × model matrix](../e2e_profiling_20260922/evidence/summary/README.md) with previously unrun WSL CPU and native Windows paths. The September 22 timing tables remain historical. MiniCPM-o now has separate 20-request serial text-to-speech timing runs on WSL CPU and native Windows GPU, plus one synthetic image and one synthetic audio input on each platform; each InternVLA timing remains one observation. Spark has a 20-request Omni output-head component profile on the HX370 AMD NPU and separate 20-request **complete text** profiles through standalone llama.cpp on native Windows CPU and Radeon 890M. None is a sustained or full-modality profile; the standalone Spark paths still need Omni integration. The [checkpoint manifests](../e2e_recovery_20260923/README.md) pin the earlier real weights; the [Spark NPU component record](evidence/spark_amd_npu_output_head/README.md) and [CPU/Radeon whole-model record](evidence/spark_radeon890m_llamacpp/README.md) pin their respective artifacts. No model, precision or context was silently substituted. | Device / model | Verified depth | Observed output and time | Remaining gate | |---|---|---|---| +| Native Windows HX370 CPU / Spark-X2.5-1.7B Q4_K_M GGUF, revision `1f7fa33b1245c14730da39e125714ad3a327901b` | Scoped complete standalone llama.cpp text path (P for two named inputs; outside Omni) | Correct `Paris` and 120-item inventory answer `1511`; 1 warmup + 20 uncached serial full inventory requests p50/p95 6.65/6.86 s, 20/20 correct. Stream-close recovery passed. | Omni whole-model stage binding, broader quality, explicit loading-peak admission and sustained behavior; [raw evidence](evidence/spark_radeon890m_llamacpp/README.md). | +| Native Windows HX370 Radeon 890M / Spark-X2.5-1.7B same GGUF | Scoped complete standalone llama.cpp Vulkan1 text path (P for two named inputs; outside Omni) | All 29 logged layer assignments on Vulkan1, with a separate Vulkan_Host buffer; correct `Paris` and `1511`; 1 warmup + 20 uncached serial inventory requests p50/p95 2.18/2.20 s, 20/20 correct. Stream-close recovery passed. | Omni binding, state and memory contract, broad quality, GPU-memory attribution and sustained power/thermal behavior; [raw evidence](evidence/spark_radeon890m_llamacpp/README.md). | | Native Windows HX370 AMD NPU / Spark-X2.5-1.7B output head, revision `448e61eb392c00f2c403185c5b56d5e0665bfaab` | Real-weight RMS norm + full-logit projection component through Omni `external.graph.v1` (B+C, not P) | One fused NPU partition and seven CPU nodes; 4/4 captured activations top-1 match, 55.43–56.81 dB full-logit SNR. One warmup + 20 serial repeated-input component requests: p50/p95 10.21/12.44 ms, versus 17.97/20.29 ms for the original FP32 CPU head through Omni. NPU startup 18.21 s and peak worker RSS 3.52 GiB. [Raw evidence](evidence/spark_amd_npu_output_head/README.md). | Actual vLLM handoff and full generation, transfer cost, quality across inputs/context, memory admission, cancellation and sustained power/thermal behavior. | | WSL CPU / MiniCPM-o 4.5, revision `503e754207c94da6bb26850b4469f367c9ea3582` | Scoped complete three-stage text-to-text+speech path (P for this input only) | Coherent text and a 5.2 s mono 24 kHz WAV. First request 27.09 s after 73.65 s startup; separate 1-warmup/20-measured serial run: startup 73.89 s, request wall p50 21.86 s/p95 22.97 s. | Speech intelligibility/alignment, real image/audio quality, video input, concurrency, interruption, power and thermal behavior. | | WSL CPU / MiniCPM-o 4.5, same revision | Scoped three-stage **image**-to-text+speech path (P for one synthetic image) | For the 448×448 red square, returned a correct description and nonzero 5.2 s WAV. Startup 112.44 s; one request 37.70 s. Text and token IDs differed from WSL GPU while describing the same visible content. | Real-image suite, speech meaning, repeated latency, memory admission and clean shutdown. | diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/.gitattributes b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/.gitattributes new file mode 100644 index 000000000..eecd6aa72 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/.gitattributes @@ -0,0 +1,4 @@ +# Keep measured and failed native-Windows outputs byte-for-byte. +*.json -text -eol +*.log -text -eol +*.txt -text -eol diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md new file mode 100644 index 000000000..db0c06c61 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md @@ -0,0 +1,31 @@ +# Spark-X2.5-1.7B Q4_K_M on native Windows CPU and Radeon 890M + +This is a **scoped, complete text-model path in standalone llama.cpp**, with real weights, prefill, autoregressive decode, KV state and answer delivery. It is **not** yet an Omni `StageRuntime` backend, and it says nothing about other Spark variants or the TTS/MiniCPM/VLA cells. The current [device × model matrix](../../../e2e_profiling_20260922/evidence/summary/README.md) distinguishes this backend result from Omni integration. + +The GGUF is [XHToken/Spark-X2.5-1.7B-GGUF](https://huggingface.co/XHToken/Spark-X2.5-1.7B-GGUF/tree/1f7fa33b1245c14730da39e125714ad3a327901b) revision `1f7fa33b1245c14730da39e125714ad3a327901b`, file `Spark-X2.5-1.7B-Q4_K_M.gguf` (1,107,457,856 bytes; SHA-256 `902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4`). It remains in local model storage, not Git. The Windows Vulkan binary is [llama.cpp b11124](https://github.com/ggml-org/llama.cpp/releases/tag/b11124), build commit `1a679828f`; the release ZIP SHA-256 is `ece009eff2a18884246b4aef785ce4efd9eb36f4fc38e3d6727af6fe53bd2c75`. See the [artifact manifest](artifact_manifest.json) and [Vulkan enumeration](vulkaninfo_summary.log). The host was Windows 11 build 26200 on Ryzen AI 9 HX 370 with Radeon 890M driver `25.20.18.06 (LLPC)`. An RTX 5090 Laptop GPU was present, so the Radeon command explicitly selected `-dev Vulkan1`; the [placement log](spark_igpu_q4km_placement_20260923.log) records all 29 logged layer assignments on Vulkan1, a 1,051 MiB Vulkan1 model buffer and a separate 210 MiB Vulkan_Host buffer. The CPU command used `-dev none -ngl 0`. Both used a 4,096-token context, one slot, temperature zero, reasoning off for server requests, and default f16 KV cache. + +Both backends returned `Paris` for the short question and `1511` for the 120-item inventory (district 73), with `finish_reason=stop`. The inventory generated by the profile script used 2,463 prompt tokens and five completion tokens. The [Radeon profile](spark_igpu_server_inventory_profile20_nocache_20260923.json) and [native CPU profile](spark_cpu_server_inventory_profile20_nocache_20260923.json) each contain the two quality checks, one excluded warmup, and all 20 measured serial HTTP request wall times. `cache_prompt=false` was sent and every measured response reported zero cached prompt tokens. Nearest-rank timings are: + +| Full text request, 120-item inventory | Radeon 890M Vulkan1 | Native Windows CPU | +|---|---:|---:| +| p50 request wall | 2.18 s | 6.65 s | +| p95 request wall | 2.20 s | 6.86 s | +| Correct measured responses | 20/20 | 20/20 | + +The [Radeon cancellation check](spark_igpu_server_cancel_20260923.json) and CPU profile each closed a live stream after its first content delta, then submitted a new question that correctly returned `Paris`. This checks subsequent request recovery; it does not prove the exact point at which llama.cpp stopped backend compute. A [single post-profile process snapshot](process_snapshot.json) records working sets of 1.84 GB for Radeon and 2.14 GB for CPU. These are neither peaks nor complete iGPU memory attribution. + +The [three-repetition synthetic llama-bench](spark_igpu_q4km_bench_20260923.json) at p128/n32 recorded mean prompt throughput 1,602 tok/s and generation throughput 67.34 tok/s on Vulkan1; the [same-artifact CPU bench](spark_cpu_q4km_bench_20260923.json) recorded 402.22 and 54.61 tok/s. These are separate kernel-oriented measurements, not the complete-request times above. Their logs and the [one-repetition verbose placement check](spark_igpu_q4km_placement_20260923.log) are retained. + +Two unsuccessful CLI attempts are retained: [context 2,048 refused](spark_igpu_inventory_answer_20260923.log) because the prompt needed 2,463 tokens, and [context 4,096 with reasoning enabled](spark_igpu_inventory_answer_ctx4096_20260923.log) exhausted a 256-token output limit before giving a final answer. The [reasoning-off 4,096-token run](spark_igpu_inventory_answer_no_reason_20260923.log) returned `1511`. The short reasoning-enabled [CLI run](spark_igpu_q4km_answer_20260923.log) returned `Paris`. These are workload/configuration boundaries, not general model failures. + +To reproduce on this Windows host, download the pinned GGUF, verify its SHA-256, and use the pinned llama.cpp Vulkan release. Start one backend at a time with the full model resident: + +```powershell +$bin = 'C:\Users\zhout\w2\llama-vulkan-b11124\bin' +$model = 'C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf' +& "$bin\llama-server.exe" -m $model -dev Vulkan1 -ngl 99 -c 4096 -np 1 --host 127.0.0.1 --port 18173 --reasoning off --no-webui +``` + +Run [the profile script](../../../../experiments/profile_llamacpp_spark_text.py) in another terminal with `--model-file $model`, `--expected-model-sha256 902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4`, `--profile-case inventory_120`, `--cancel-check`, and an `--output` path. For CPU, launch the same binary with `-dev none -ngl 0` on another port and set `--endpoint` accordingly. The fixed artifact, context, precision, prompt and cache policy are required for comparison. + +The next project gate is to wrap this **whole autoregressive session** as a bounded llama.cpp stage behind Omni's request/event, memory-admission, state, streaming and cancellation contracts, then compare it with the current vLLM CPU/CUDA paths. The two-answer quality check, one repeated input, absent load-peak/power/thermal data, and client-close-only cancellation check do not establish broader release qualification. diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/artifact_manifest.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/artifact_manifest.json new file mode 100644 index 000000000..2c8cde880 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/artifact_manifest.json @@ -0,0 +1,21 @@ +{ + "schema_version": 1, + "model": "XHToken/Spark-X2.5-1.7B-GGUF", + "model_revision": "1f7fa33b1245c14730da39e125714ad3a327901b", + "model_file": "Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_file_bytes": 1107457856, + "model_sha256": "902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4", + "backend": "llama.cpp b11124-1a679828f Windows x64 Vulkan release", + "backend_release_zip_sha256": "ece009eff2a18884246b4aef785ce4efd9eb36f4fc38e3d6727af6fe53bd2c75", + "llama_server_exe_sha256": "9ffc5919acb4cb43c7be5f3053b59014cce70a87d3a801fcad49c4f459984f52", + "hardware": "AMD Ryzen AI 9 HX 370, Radeon 890M integrated GPU; RTX 5090 Laptop also installed but excluded from the Radeon run", + "os": "Windows 11 build 26200", + "radeon_vulkan_driver_info": "25.20.18.06 (LLPC)", + "radeon_device": "Vulkan1", + "context_tokens": 4096, + "parallel_slots": 1, + "precision": "Q4_K_M weights, default f16 KV cache", + "sampling": "temperature 0; llama-server --reasoning off; maximum 96 completion tokens", + "profile": "one warmup, 20 measured serial HTTP chat completions of 2463 prompt tokens and 5 completion tokens, cache_prompt=false", + "evidence_depth": "scoped complete standalone text route; not an Omni StageRuntime binding" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/process_snapshot.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/process_snapshot.json new file mode 100644 index 000000000..cd687ad07 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/process_snapshot.json @@ -0,0 +1,16 @@ +{ + "scope": "One Get-Process snapshot after each 20-request profile, before stopping that server; not a peak or GPU allocation measurement", + "radeon_server": { + "pid": 49832, + "device_argument": "Vulkan1", + "working_set_bytes": 1841168384, + "private_memory_bytes": 1844895744 + }, + "cpu_server": { + "pid": 53356, + "device_argument": "none", + "working_set_bytes": 2141794304, + "private_memory_bytes": 1061339136 + }, + "note": "Radeon 890M shares host RAM. Windows process working set cannot attribute all integrated-GPU allocations. No load peak, thermal or power measurement was captured." +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_q4km_bench_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_q4km_bench_20260923.json new file mode 100644 index 000000000..e884d1d5f --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_q4km_bench_20260923.json @@ -0,0 +1,92 @@ +[ + { + "build_commit": "1a679828f", + "build_number": 11124, + "cpu_info": "AMD Ryzen AI 9 HX 370 w/ Radeon 890M ", + "gpu_info": "NVIDIA GeForce RTX 5090 Laptop GPU, AMD Radeon(TM) 890M Graphics", + "backends": "Vulkan", + "model_filename": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_type": "spark2_5 1.7B Q4_K - Medium", + "model_size": 1102073856, + "model_n_params": 1707657216, + "n_batch": 2048, + "n_ubatch": 512, + "n_threads": 12, + "cpu_mask": "0x0", + "cpu_strict": false, + "poll": 50, + "type_k": "f16", + "type_v": "f16", + "n_gpu_layers": 0, + "n_cpu_moe": 0, + "split_mode": "layer", + "main_gpu": 0, + "no_kv_offload": false, + "flash_attn": -1, + "devices": "none", + "tensor_split": "0.00", + "tensor_buft_overrides": "none", + "load_mode": "auto", + "lazy_mode": "auto", + "embeddings": false, + "no_op_offload": 0, + "no_host": false, + "fit_target": 0, + "fit_min_ctx": 0, + "n_prompt": 128, + "n_gen": 0, + "n_depth": 0, + "test_time": "2026-09-23T10:41:21Z", + "avg_ns": 318299633, + "stddev_ns": 5501058, + "avg_ts": 402.216268, + "stddev_ts": 6.896283, + "samples_ns": [ 324510000, 314039100, 316349800 ], + "samples_ts": [ 394.441, 407.593, 404.615 ] + }, + { + "build_commit": "1a679828f", + "build_number": 11124, + "cpu_info": "AMD Ryzen AI 9 HX 370 w/ Radeon 890M ", + "gpu_info": "NVIDIA GeForce RTX 5090 Laptop GPU, AMD Radeon(TM) 890M Graphics", + "backends": "Vulkan", + "model_filename": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_type": "spark2_5 1.7B Q4_K - Medium", + "model_size": 1102073856, + "model_n_params": 1707657216, + "n_batch": 2048, + "n_ubatch": 512, + "n_threads": 12, + "cpu_mask": "0x0", + "cpu_strict": false, + "poll": 50, + "type_k": "f16", + "type_v": "f16", + "n_gpu_layers": 0, + "n_cpu_moe": 0, + "split_mode": "layer", + "main_gpu": 0, + "no_kv_offload": false, + "flash_attn": -1, + "devices": "none", + "tensor_split": "0.00", + "tensor_buft_overrides": "none", + "load_mode": "auto", + "lazy_mode": "auto", + "embeddings": false, + "no_op_offload": 0, + "no_host": false, + "fit_target": 0, + "fit_min_ctx": 0, + "n_prompt": 0, + "n_gen": 32, + "n_depth": 0, + "test_time": "2026-09-23T10:41:22Z", + "avg_ns": 586482766, + "stddev_ns": 20881467, + "avg_ts": 54.607989, + "stddev_ts": 1.914133, + "samples_ns": [ 579411400, 570055200, 609981700 ], + "samples_ts": [ 55.2285, 56.1349, 52.4606 ] + } +] diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_q4km_bench_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_q4km_bench_20260923.log new file mode 100644 index 000000000..ff7b2f636 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_q4km_bench_20260923.log @@ -0,0 +1,6 @@ +load_backend: loaded RPC backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-rpc.dll +ggml_vulkan: Found 2 Vulkan devices: +ggml_vulkan: 0 = NVIDIA GeForce RTX 5090 Laptop GPU (NVIDIA) | uma: 0 | fp16: 1 | bf16: 1 | fp4: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2 +ggml_vulkan: 1 = AMD Radeon(TM) 890M Graphics (AMD proprietary driver) | uma: 1 | fp16: 1 | bf16: 1 | fp4: 0 | warp size: 64 | shared memory: 32768 | int dot: 1 | matrix cores: KHR_coopmat +load_backend: loaded Vulkan backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-vulkan.dll +load_backend: loaded CPU backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-cpu-zen4.dll diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_server_20260923.err.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_server_20260923.err.log new file mode 100644 index 000000000..2984176b0 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_server_20260923.err.log @@ -0,0 +1,227 @@ +0.00.000.753 I srv llama_server: initializing ... +0.00.680.017 I cmn common_param: common_params_print_info: verbosity = 3 (adjust with the `-lv N` CLI arg) +0.00.680.147 I srv init_listene: The UI is disabled +0.00.680.148 I srv init_listene: Use --ui/--no-ui (or deprecated --webui/--no-webui) to enable/disable +0.00.680.206 W srv llama_server: security: no API key is set and CORS allows all origins (see https://github.com/ggml-org/llama.cpp/pull/25655) +0.00.698.255 I srv load_model: loading model 'C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf' +0.01.429.499 I cmn init: llama threadpool init, n_threads = 12 +0.01.556.894 I srv load_model: initializing, n_slots = 1, n_ctx_slot = 4096, kv_unified = 'false' +0.01.575.516 W srv init: chat template supports preserving reasoning, it is enabled by default (may use more tokens, disable via --no-reasoning-preserve) +0.01.575.549 I srv llama_server: model loaded +0.01.575.553 I srv llama_server: listening on http://127.0.0.1:18174 +0.13.249.422 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = -1 +0.13.249.475 I slot launch_slot_: id 0 | task 0 | processing task, is_child = 0 +0.13.377.851 I slot print_timing: id 0 | task 0 | prompt eval time = 109.36 ms / 28 tokens ( 3.91 ms per token, 256.05 tokens per second) +0.13.377.861 I slot print_timing: id 0 | task 0 | eval time = 18.98 ms / 2 tokens ( 18.98 ms per token, 52.69 tokens per second) +0.13.377.863 I slot print_timing: id 0 | task 0 | total time = 128.33 ms / 30 tokens +0.13.377.864 I slot print_timing: id 0 | task 0 | graphs reused = 1 +0.13.377.907 I slot release: id 0 | task 0 | stop processing: n_tokens = 29, truncated = 0 +0.13.408.295 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = 12699867 +0.13.408.973 I slot launch_slot_: id 0 | task 5 | processing task, is_child = 0 +0.18.412.680 I slot print_timing: id 0 | task 5 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.00 s / 389.11 tokens per second +0.19.797.975 I slot print_timing: id 0 | task 5 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.39 s / 384.88 tokens per second +0.19.922.141 I slot print_timing: id 0 | task 5 | prompt eval time = 6425.45 ms / 2463 tokens ( 2.61 ms per token, 383.32 tokens per second) +0.19.922.151 I slot print_timing: id 0 | task 5 | eval time = 87.69 ms / 5 tokens ( 21.92 ms per token, 45.62 tokens per second) +0.19.922.152 I slot print_timing: id 0 | task 5 | total time = 6513.14 ms / 2468 tokens +0.19.922.153 I slot print_timing: id 0 | task 5 | graphs reused = 4 +0.19.922.201 I slot release: id 0 | task 5 | stop processing: n_tokens = 2467, truncated = 0 +0.19.956.838 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +0.19.957.093 I slot launch_slot_: id 0 | task 14 | processing task, is_child = 0 +0.24.951.867 I slot print_timing: id 0 | task 14 | prompt processing, n_tokens = 1947, progress = 0.79, t = 4.99 s / 389.81 tokens per second +0.26.384.023 I slot print_timing: id 0 | task 14 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.43 s / 382.61 tokens per second +0.26.511.285 I slot print_timing: id 0 | task 14 | prompt eval time = 6462.69 ms / 2463 tokens ( 2.62 ms per token, 381.11 tokens per second) +0.26.511.296 I slot print_timing: id 0 | task 14 | eval time = 91.46 ms / 5 tokens ( 22.87 ms per token, 43.73 tokens per second) +0.26.511.298 I slot print_timing: id 0 | task 14 | total time = 6554.15 ms / 2468 tokens +0.26.511.299 I slot print_timing: id 0 | task 14 | graphs reused = 7 +0.26.511.360 I slot release: id 0 | task 14 | stop processing: n_tokens = 2467, truncated = 0 +0.26.526.973 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +0.26.527.237 I slot launch_slot_: id 0 | task 23 | processing task, is_child = 0 +0.31.527.649 I slot print_timing: id 0 | task 23 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.00 s / 389.37 tokens per second +0.32.950.045 I slot print_timing: id 0 | task 23 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.42 s / 382.86 tokens per second +0.33.078.228 I slot print_timing: id 0 | task 23 | prompt eval time = 6459.73 ms / 2463 tokens ( 2.62 ms per token, 381.29 tokens per second) +0.33.078.241 I slot print_timing: id 0 | task 23 | eval time = 91.23 ms / 5 tokens ( 22.81 ms per token, 43.85 tokens per second) +0.33.078.243 I slot print_timing: id 0 | task 23 | total time = 6550.96 ms / 2468 tokens +0.33.078.244 I slot print_timing: id 0 | task 23 | graphs reused = 10 +0.33.078.305 I slot release: id 0 | task 23 | stop processing: n_tokens = 2467, truncated = 0 +0.33.095.368 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +0.33.095.610 I slot launch_slot_: id 0 | task 32 | processing task, is_child = 0 +0.38.208.106 I slot print_timing: id 0 | task 32 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.11 s / 380.84 tokens per second +0.39.662.252 I slot print_timing: id 0 | task 32 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.57 s / 374.47 tokens per second +0.39.789.390 I slot print_timing: id 0 | task 32 | prompt eval time = 6603.22 ms / 2463 tokens ( 2.68 ms per token, 373.00 tokens per second) +0.39.789.408 I slot print_timing: id 0 | task 32 | eval time = 90.53 ms / 5 tokens ( 22.63 ms per token, 44.18 tokens per second) +0.39.789.409 I slot print_timing: id 0 | task 32 | total time = 6693.75 ms / 2468 tokens +0.39.789.411 I slot print_timing: id 0 | task 32 | graphs reused = 13 +0.39.789.503 I slot release: id 0 | task 32 | stop processing: n_tokens = 2467, truncated = 0 +0.39.824.522 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +0.39.824.746 I slot launch_slot_: id 0 | task 41 | processing task, is_child = 0 +0.45.094.702 I slot print_timing: id 0 | task 41 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.27 s / 369.46 tokens per second +0.46.568.773 I slot print_timing: id 0 | task 41 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.74 s / 364.62 tokens per second +0.46.695.855 I slot print_timing: id 0 | task 41 | prompt eval time = 6780.80 ms / 2463 tokens ( 2.75 ms per token, 363.23 tokens per second) +0.46.695.865 I slot print_timing: id 0 | task 41 | eval time = 90.29 ms / 5 tokens ( 22.57 ms per token, 44.30 tokens per second) +0.46.695.866 I slot print_timing: id 0 | task 41 | total time = 6871.08 ms / 2468 tokens +0.46.695.868 I slot print_timing: id 0 | task 41 | graphs reused = 16 +0.46.695.925 I slot release: id 0 | task 41 | stop processing: n_tokens = 2467, truncated = 0 +0.46.740.369 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +0.46.740.649 I slot launch_slot_: id 0 | task 50 | processing task, is_child = 0 +0.51.966.492 I slot print_timing: id 0 | task 50 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.23 s / 372.57 tokens per second +0.53.425.786 I slot print_timing: id 0 | task 50 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.69 s / 367.83 tokens per second +0.53.557.468 I slot print_timing: id 0 | task 50 | prompt eval time = 6723.11 ms / 2463 tokens ( 2.73 ms per token, 366.35 tokens per second) +0.53.557.479 I slot print_timing: id 0 | task 50 | eval time = 93.68 ms / 5 tokens ( 23.42 ms per token, 42.70 tokens per second) +0.53.557.481 I slot print_timing: id 0 | task 50 | total time = 6816.79 ms / 2468 tokens +0.53.557.482 I slot print_timing: id 0 | task 50 | graphs reused = 19 +0.53.557.541 I slot release: id 0 | task 50 | stop processing: n_tokens = 2467, truncated = 0 +0.53.579.546 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +0.53.579.780 I slot launch_slot_: id 0 | task 59 | processing task, is_child = 0 +0.58.828.506 I slot print_timing: id 0 | task 59 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.25 s / 370.95 tokens per second +1.00.247.999 I slot print_timing: id 0 | task 59 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.67 s / 368.77 tokens per second +1.00.375.273 I slot print_timing: id 0 | task 59 | prompt eval time = 6705.84 ms / 2463 tokens ( 2.72 ms per token, 367.29 tokens per second) +1.00.375.284 I slot print_timing: id 0 | task 59 | eval time = 89.63 ms / 5 tokens ( 22.41 ms per token, 44.63 tokens per second) +1.00.375.286 I slot print_timing: id 0 | task 59 | total time = 6795.47 ms / 2468 tokens +1.00.375.287 I slot print_timing: id 0 | task 59 | graphs reused = 22 +1.00.375.346 I slot release: id 0 | task 59 | stop processing: n_tokens = 2467, truncated = 0 +1.00.394.386 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.00.394.629 I slot launch_slot_: id 0 | task 68 | processing task, is_child = 0 +1.05.468.999 I slot print_timing: id 0 | task 68 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.07 s / 383.70 tokens per second +1.06.899.462 I slot print_timing: id 0 | task 68 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.50 s / 378.03 tokens per second +1.07.024.826 I slot print_timing: id 0 | task 68 | prompt eval time = 6541.89 ms / 2463 tokens ( 2.66 ms per token, 376.50 tokens per second) +1.07.024.837 I slot print_timing: id 0 | task 68 | eval time = 88.28 ms / 5 tokens ( 22.07 ms per token, 45.31 tokens per second) +1.07.024.839 I slot print_timing: id 0 | task 68 | total time = 6630.17 ms / 2468 tokens +1.07.024.840 I slot print_timing: id 0 | task 68 | graphs reused = 25 +1.07.024.901 I slot release: id 0 | task 68 | stop processing: n_tokens = 2467, truncated = 0 +1.07.041.049 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.07.041.234 I slot launch_slot_: id 0 | task 77 | processing task, is_child = 0 +1.12.106.202 I slot print_timing: id 0 | task 77 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.06 s / 384.41 tokens per second +1.13.548.801 I slot print_timing: id 0 | task 77 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.51 s / 377.87 tokens per second +1.13.676.825 I slot print_timing: id 0 | task 77 | prompt eval time = 6543.94 ms / 2463 tokens ( 2.66 ms per token, 376.38 tokens per second) +1.13.676.839 I slot print_timing: id 0 | task 77 | eval time = 91.63 ms / 5 tokens ( 22.91 ms per token, 43.65 tokens per second) +1.13.676.841 I slot print_timing: id 0 | task 77 | total time = 6635.57 ms / 2468 tokens +1.13.676.843 I slot print_timing: id 0 | task 77 | graphs reused = 28 +1.13.676.908 I slot release: id 0 | task 77 | stop processing: n_tokens = 2467, truncated = 0 +1.13.694.166 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.13.694.409 I slot launch_slot_: id 0 | task 86 | processing task, is_child = 0 +1.18.741.246 I slot print_timing: id 0 | task 86 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.05 s / 385.79 tokens per second +1.20.173.554 I slot print_timing: id 0 | task 86 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.48 s / 379.53 tokens per second +1.20.306.665 I slot print_timing: id 0 | task 86 | prompt eval time = 6517.54 ms / 2463 tokens ( 2.65 ms per token, 377.90 tokens per second) +1.20.306.674 I slot print_timing: id 0 | task 86 | eval time = 94.69 ms / 5 tokens ( 23.67 ms per token, 42.24 tokens per second) +1.20.306.676 I slot print_timing: id 0 | task 86 | total time = 6612.23 ms / 2468 tokens +1.20.306.676 I slot print_timing: id 0 | task 86 | graphs reused = 31 +1.20.306.722 I slot release: id 0 | task 86 | stop processing: n_tokens = 2467, truncated = 0 +1.20.323.832 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.20.324.144 I slot launch_slot_: id 0 | task 95 | processing task, is_child = 0 +1.25.380.378 I slot print_timing: id 0 | task 95 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.06 s / 385.07 tokens per second +1.26.815.774 I slot print_timing: id 0 | task 95 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.49 s / 378.80 tokens per second +1.26.983.293 I slot print_timing: id 0 | task 95 | prompt eval time = 6540.21 ms / 2463 tokens ( 2.66 ms per token, 376.59 tokens per second) +1.26.983.306 I slot print_timing: id 0 | task 95 | eval time = 118.91 ms / 5 tokens ( 29.73 ms per token, 33.64 tokens per second) +1.26.983.308 I slot print_timing: id 0 | task 95 | total time = 6659.12 ms / 2468 tokens +1.26.983.312 I slot print_timing: id 0 | task 95 | graphs reused = 34 +1.26.983.404 I slot release: id 0 | task 95 | stop processing: n_tokens = 2467, truncated = 0 +1.27.008.527 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.27.008.800 I slot launch_slot_: id 0 | task 104 | processing task, is_child = 0 +1.32.116.018 I slot print_timing: id 0 | task 104 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.11 s / 381.23 tokens per second +1.33.568.327 I slot print_timing: id 0 | task 104 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.56 s / 374.88 tokens per second +1.33.695.121 I slot print_timing: id 0 | task 104 | prompt eval time = 6596.75 ms / 2463 tokens ( 2.68 ms per token, 373.37 tokens per second) +1.33.695.137 I slot print_timing: id 0 | task 104 | eval time = 89.55 ms / 5 tokens ( 22.39 ms per token, 44.67 tokens per second) +1.33.695.139 I slot print_timing: id 0 | task 104 | total time = 6686.29 ms / 2468 tokens +1.33.695.140 I slot print_timing: id 0 | task 104 | graphs reused = 37 +1.33.695.199 I slot release: id 0 | task 104 | stop processing: n_tokens = 2467, truncated = 0 +1.33.714.810 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.33.715.040 I slot launch_slot_: id 0 | task 113 | processing task, is_child = 0 +1.38.833.727 I slot print_timing: id 0 | task 113 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.12 s / 380.37 tokens per second +1.40.285.078 I slot print_timing: id 0 | task 113 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.57 s / 374.28 tokens per second +1.40.414.623 I slot print_timing: id 0 | task 113 | prompt eval time = 6607.07 ms / 2463 tokens ( 2.68 ms per token, 372.78 tokens per second) +1.40.414.635 I slot print_timing: id 0 | task 113 | eval time = 92.49 ms / 5 tokens ( 23.12 ms per token, 43.25 tokens per second) +1.40.414.636 I slot print_timing: id 0 | task 113 | total time = 6699.55 ms / 2468 tokens +1.40.414.638 I slot print_timing: id 0 | task 113 | graphs reused = 40 +1.40.414.698 I slot release: id 0 | task 113 | stop processing: n_tokens = 2467, truncated = 0 +1.40.457.999 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.40.458.332 I slot launch_slot_: id 0 | task 122 | processing task, is_child = 0 +1.45.515.244 I slot print_timing: id 0 | task 122 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.06 s / 385.02 tokens per second +1.46.934.527 I slot print_timing: id 0 | task 122 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.48 s / 379.70 tokens per second +1.47.059.907 I slot print_timing: id 0 | task 122 | prompt eval time = 6511.84 ms / 2463 tokens ( 2.64 ms per token, 378.23 tokens per second) +1.47.059.920 I slot print_timing: id 0 | task 122 | eval time = 89.70 ms / 5 tokens ( 22.43 ms per token, 44.59 tokens per second) +1.47.059.921 I slot print_timing: id 0 | task 122 | total time = 6601.55 ms / 2468 tokens +1.47.059.923 I slot print_timing: id 0 | task 122 | graphs reused = 43 +1.47.059.982 I slot release: id 0 | task 122 | stop processing: n_tokens = 2467, truncated = 0 +1.47.075.104 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.47.075.451 I slot launch_slot_: id 0 | task 131 | processing task, is_child = 0 +1.52.162.919 I slot print_timing: id 0 | task 131 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.09 s / 382.71 tokens per second +1.53.588.986 I slot print_timing: id 0 | task 131 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.51 s / 377.52 tokens per second +1.53.714.560 I slot print_timing: id 0 | task 131 | prompt eval time = 6549.01 ms / 2463 tokens ( 2.66 ms per token, 376.09 tokens per second) +1.53.714.568 I slot print_timing: id 0 | task 131 | eval time = 90.07 ms / 5 tokens ( 22.52 ms per token, 44.41 tokens per second) +1.53.714.569 I slot print_timing: id 0 | task 131 | total time = 6639.08 ms / 2468 tokens +1.53.714.570 I slot print_timing: id 0 | task 131 | graphs reused = 46 +1.53.714.617 I slot release: id 0 | task 131 | stop processing: n_tokens = 2467, truncated = 0 +1.53.736.012 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +1.53.736.343 I slot launch_slot_: id 0 | task 140 | processing task, is_child = 0 +1.58.820.464 I slot print_timing: id 0 | task 140 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.08 s / 382.96 tokens per second +2.00.229.100 I slot print_timing: id 0 | task 140 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.49 s / 378.73 tokens per second +2.00.354.335 I slot print_timing: id 0 | task 140 | prompt eval time = 6528.77 ms / 2463 tokens ( 2.65 ms per token, 377.25 tokens per second) +2.00.354.349 I slot print_timing: id 0 | task 140 | eval time = 89.20 ms / 5 tokens ( 22.30 ms per token, 44.84 tokens per second) +2.00.354.351 I slot print_timing: id 0 | task 140 | total time = 6617.96 ms / 2468 tokens +2.00.354.352 I slot print_timing: id 0 | task 140 | graphs reused = 49 +2.00.354.411 I slot release: id 0 | task 140 | stop processing: n_tokens = 2467, truncated = 0 +2.00.373.667 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +2.00.373.920 I slot launch_slot_: id 0 | task 149 | processing task, is_child = 0 +2.05.440.828 I slot print_timing: id 0 | task 149 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.07 s / 384.26 tokens per second +2.06.876.459 I slot print_timing: id 0 | task 149 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.50 s / 378.16 tokens per second +2.07.005.166 I slot print_timing: id 0 | task 149 | prompt eval time = 6539.13 ms / 2463 tokens ( 2.65 ms per token, 376.66 tokens per second) +2.07.005.179 I slot print_timing: id 0 | task 149 | eval time = 92.08 ms / 5 tokens ( 23.02 ms per token, 43.44 tokens per second) +2.07.005.180 I slot print_timing: id 0 | task 149 | total time = 6631.21 ms / 2468 tokens +2.07.005.181 I slot print_timing: id 0 | task 149 | graphs reused = 52 +2.07.005.246 I slot release: id 0 | task 149 | stop processing: n_tokens = 2467, truncated = 0 +2.07.025.193 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +2.07.025.411 I slot launch_slot_: id 0 | task 158 | processing task, is_child = 0 +2.12.110.161 I slot print_timing: id 0 | task 158 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.08 s / 382.91 tokens per second +2.13.551.229 I slot print_timing: id 0 | task 158 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.53 s / 376.81 tokens per second +2.13.692.806 I slot print_timing: id 0 | task 158 | prompt eval time = 6563.20 ms / 2463 tokens ( 2.66 ms per token, 375.27 tokens per second) +2.13.692.820 I slot print_timing: id 0 | task 158 | eval time = 104.17 ms / 5 tokens ( 26.04 ms per token, 38.40 tokens per second) +2.13.692.822 I slot print_timing: id 0 | task 158 | total time = 6667.37 ms / 2468 tokens +2.13.692.823 I slot print_timing: id 0 | task 158 | graphs reused = 55 +2.13.692.884 I slot release: id 0 | task 158 | stop processing: n_tokens = 2467, truncated = 0 +2.13.717.566 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +2.13.717.836 I slot launch_slot_: id 0 | task 167 | processing task, is_child = 0 +2.18.883.955 I slot print_timing: id 0 | task 167 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.17 s / 376.88 tokens per second +2.20.332.089 I slot print_timing: id 0 | task 167 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.61 s / 371.78 tokens per second +2.20.455.551 I slot print_timing: id 0 | task 167 | prompt eval time = 6650.57 ms / 2463 tokens ( 2.70 ms per token, 370.34 tokens per second) +2.20.455.565 I slot print_timing: id 0 | task 167 | eval time = 87.12 ms / 5 tokens ( 21.78 ms per token, 45.91 tokens per second) +2.20.455.567 I slot print_timing: id 0 | task 167 | total time = 6737.69 ms / 2468 tokens +2.20.455.568 I slot print_timing: id 0 | task 167 | graphs reused = 58 +2.20.455.627 I slot release: id 0 | task 167 | stop processing: n_tokens = 2467, truncated = 0 +2.20.493.286 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +2.20.493.630 I slot launch_slot_: id 0 | task 176 | processing task, is_child = 0 +2.25.590.307 I slot print_timing: id 0 | task 176 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.10 s / 382.02 tokens per second +2.27.010.965 I slot print_timing: id 0 | task 176 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.52 s / 377.30 tokens per second +2.27.147.550 I slot print_timing: id 0 | task 176 | prompt eval time = 6558.48 ms / 2463 tokens ( 2.66 ms per token, 375.54 tokens per second) +2.27.147.562 I slot print_timing: id 0 | task 176 | eval time = 95.41 ms / 5 tokens ( 23.85 ms per token, 41.93 tokens per second) +2.27.147.564 I slot print_timing: id 0 | task 176 | total time = 6653.89 ms / 2468 tokens +2.27.147.565 I slot print_timing: id 0 | task 176 | graphs reused = 61 +2.27.147.624 I slot release: id 0 | task 176 | stop processing: n_tokens = 2467, truncated = 0 +2.27.189.739 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +2.27.190.004 I slot launch_slot_: id 0 | task 185 | processing task, is_child = 0 +2.32.259.050 I slot print_timing: id 0 | task 185 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.07 s / 384.10 tokens per second +2.33.664.868 I slot print_timing: id 0 | task 185 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.47 s / 379.78 tokens per second +2.33.793.530 I slot print_timing: id 0 | task 185 | prompt eval time = 6511.36 ms / 2463 tokens ( 2.64 ms per token, 378.26 tokens per second) +2.33.793.542 I slot print_timing: id 0 | task 185 | eval time = 92.14 ms / 5 tokens ( 23.03 ms per token, 43.41 tokens per second) +2.33.793.545 I slot print_timing: id 0 | task 185 | total time = 6603.49 ms / 2468 tokens +2.33.793.548 I slot print_timing: id 0 | task 185 | graphs reused = 64 +2.33.793.645 I slot release: id 0 | task 185 | stop processing: n_tokens = 2467, truncated = 0 +2.33.813.127 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +2.33.813.397 I slot launch_slot_: id 0 | task 194 | processing task, is_child = 0 +2.38.866.970 I slot print_timing: id 0 | task 194 | prompt processing, n_tokens = 1947, progress = 0.79, t = 5.05 s / 385.28 tokens per second +2.40.308.797 I slot print_timing: id 0 | task 194 | prompt processing, n_tokens = 2459, progress = 1.00, t = 6.50 s / 378.58 tokens per second +2.40.439.852 I slot print_timing: id 0 | task 194 | prompt eval time = 6531.97 ms / 2463 tokens ( 2.65 ms per token, 377.07 tokens per second) +2.40.439.862 I slot print_timing: id 0 | task 194 | eval time = 94.45 ms / 5 tokens ( 23.61 ms per token, 42.35 tokens per second) +2.40.439.864 I slot print_timing: id 0 | task 194 | total time = 6626.43 ms / 2468 tokens +2.40.439.865 I slot print_timing: id 0 | task 194 | graphs reused = 67 +2.40.439.926 I slot release: id 0 | task 194 | stop processing: n_tokens = 2467, truncated = 0 +2.40.461.612 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.400 (> 0.100 thold), f_keep = 0.005 +2.40.474.832 I slot launch_slot_: id 0 | task 203 | processing task, is_child = 0 +2.40.602.632 W srv stop: cancel task, id_task = 203 +2.40.622.755 I slot release: id 0 | task 203 | stop processing: n_tokens = 32, truncated = 0 +2.40.622.798 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.429 (> 0.100 thold), f_keep = 0.375 +2.40.624.131 I slot launch_slot_: id 0 | task 210 | processing task, is_child = 0 +2.40.755.107 I slot print_timing: id 0 | task 210 | prompt eval time = 110.42 ms / 28 tokens ( 3.94 ms per token, 253.57 tokens per second) +2.40.755.120 I slot print_timing: id 0 | task 210 | eval time = 20.52 ms / 2 tokens ( 20.52 ms per token, 48.73 tokens per second) +2.40.755.122 I slot print_timing: id 0 | task 210 | total time = 130.95 ms / 30 tokens +2.40.755.123 I slot print_timing: id 0 | task 210 | graphs reused = 68 +2.40.755.154 I slot release: id 0 | task 210 | stop processing: n_tokens = 29, truncated = 0 diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_server_inventory_profile20_nocache_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_server_inventory_profile20_nocache_20260923.json new file mode 100644 index 000000000..a48337101 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_cpu_server_inventory_profile20_nocache_20260923.json @@ -0,0 +1,441 @@ +{ + "scope": "Standalone llama.cpp full-model text path; no Omni stage binding", + "platform": "Windows-11-10.0.26200-SP0", + "model_path": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_sha256": "902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4", + "server": { + "endpoint": "http://127.0.0.1:18174", + "build_info": "b11124-1a679828f", + "model_alias": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_ftype": "Q4_K - Medium", + "total_slots": 1 + }, + "quality_checks": [ + { + "case": "short", + "wall_s": 0.14644759998191148, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.544336999999359, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "warmups": [ + { + "case": "inventory_120", + "wall_s": 6.589070199988782, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "samples": [ + { + "case": "inventory_120", + "wall_s": 6.566914899973199, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.711130399955437, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.906680799904279, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.861513999989256, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.817918199929409, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.649508300004527, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.65189790003933, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.629713200032711, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.676726399920881, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.711790299974382, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.719679599977098, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.645102599984966, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.654706100001931, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.639681099914014, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.651021700003184, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.687377099995501, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.762809899984859, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.692078499938361, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.645896199974231, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 6.646268200012855, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "cancellation": { + "first_delta": "1", + "stream_closed_after_first_content": true, + "first_delta_wall_s": 0.14118409994989634, + "recovery": { + "case": "short", + "wall_s": 0.17412430001422763, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + }, + "profile": { + "case": "inventory_120", + "cache_prompt": false, + "repeats": 20, + "concurrency": 1, + "p50_wall_s": 6.654706100001931, + "p95_wall_s": 6.861513999989256, + "min_wall_s": 6.566914899973199, + "max_wall_s": 6.906680799904279, + "cached_prompt_tokens": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "status": "passed" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_20260923.log new file mode 100644 index 000000000..919af7a9c --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_20260923.log @@ -0,0 +1,34 @@ +0.02.289.996 E srv send_error: task id = 0, error: request (2463 tokens) exceeds the available context size (2048 tokens), try increasing it + + +Loading model... + +▄▄ ▄▄ +██ ██ +██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄ +██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██ +██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀ + ██ ██ + ▀▀ ▀▀ + +build : b11124-1a679828f +model : C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf +ftype : Q4_K - Medium +modalities : text + +available commands: + /exit or Ctrl+C stop or exit + /regen regenerate the last response + /clear clear the chat history + /read add a text file + /glob add text files using globbing pattern + + + +> Here is an inventory listing. Item 1: the code for warehouse district 1 is 1007. Item 2: the code for warehouse district 2 is 1014. Item 3: the code for warehouse district 3 is 1021. Item 4: the code for warehouse district 4 is 1028. Item 5: the code for warehouse district 5 is 1035. Item 6: the code for warehouse district 6 is 1042. Item 7: the code for warehouse district 7 is 1049. Item 8: the code for warehouse district 8 is 1056. Item 9: the code for warehouse district 9 is 1063. Item 10: th ... (truncated) +Error: request (2463 tokens) exceeds the available context size (2048 tokens), try increasing it + +[ Prompt: 0.0 t/s | Generation: 0.0 t/s ] + + +Exiting... diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_ctx4096_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_ctx4096_20260923.log new file mode 100644 index 000000000..3dbd81d54 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_ctx4096_20260923.log @@ -0,0 +1,56 @@ + + +Loading model... + +▄▄ ▄▄ +██ ██ +██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄ +██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██ +██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀ + ██ ██ + ▀▀ ▀▀ + +build : b11124-1a679828f +model : C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf +ftype : Q4_K - Medium +modalities : text + +available commands: + /exit or Ctrl+C stop or exit + /regen regenerate the last response + /clear clear the chat history + /read add a text file + /glob add text files using globbing pattern + + + +> Here is an inventory listing. Item 1: the code for warehouse district 1 is 1007. Item 2: the code for warehouse district 2 is 1014. Item 3: the code for warehouse district 3 is 1021. Item 4: the code for warehouse district 4 is 1028. Item 5: the code for warehouse district 5 is 1035. Item 6: the code for warehouse district 6 is 1042. Item 7: the code for warehouse district 7 is 1049. Item 8: the code for warehouse district 8 is 1056. Item 9: the code for warehouse district 9 is 1063. Item 10: th ... (truncated) + +[Start thinking] + +We are given an inventory listing with item 1 to item 120, each with a code for warehouse district. The question asks: "What is the code for warehouse district 73?" We need to find the code corresponding to item 73. + +Looking at the listing: +Item 1: code 1007 (district 1) +Item 2: 1014 (district 2) +... +We need to find the code for district 73. The listing goes from item 1 to item 120. Item 73 is the 73rd item. + +Let's count the items to find the code for item 73. + +The listing is given as: +Item 1: 1007 +Item 2: 1014 +Item 3: 1021 +Item 4: 1028 +Item 5: 1035 +Item 6: 1042 +Item 7: 1049 +Item 8: 1056 +Item 9: 1063 +Item 10: + +[ Prompt: 925.3 t/s | Generation: 54.2 t/s ] + + +Exiting... diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_no_reason_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_no_reason_20260923.log new file mode 100644 index 000000000..5b3a9c0cf --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_answer_no_reason_20260923.log @@ -0,0 +1,33 @@ + + +Loading model... + +▄▄ ▄▄ +██ ██ +██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄ +██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██ +██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀ + ██ ██ + ▀▀ ▀▀ + +build : b11124-1a679828f +model : C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf +ftype : Q4_K - Medium +modalities : text + +available commands: + /exit or Ctrl+C stop or exit + /regen regenerate the last response + /clear clear the chat history + /read add a text file + /glob add text files using globbing pattern + + + +> Here is an inventory listing. Item 1: the code for warehouse district 1 is 1007. Item 2: the code for warehouse district 2 is 1014. Item 3: the code for warehouse district 3 is 1021. Item 4: the code for warehouse district 4 is 1028. Item 5: the code for warehouse district 5 is 1035. Item 6: the code for warehouse district 6 is 1042. Item 7: the code for warehouse district 7 is 1049. Item 8: the code for warehouse district 8 is 1056. Item 9: the code for warehouse district 9 is 1063. Item 10: th ... (truncated) +1511 + +[ Prompt: 1193.4 t/s | Generation: 52.1 t/s ] + + +Exiting... diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_prompt_20260923.txt b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_prompt_20260923.txt new file mode 100644 index 000000000..50c8a583a --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_inventory_prompt_20260923.txt @@ -0,0 +1 @@ +Here is an inventory listing. Item 1: the code for warehouse district 1 is 1007. Item 2: the code for warehouse district 2 is 1014. Item 3: the code for warehouse district 3 is 1021. Item 4: the code for warehouse district 4 is 1028. Item 5: the code for warehouse district 5 is 1035. Item 6: the code for warehouse district 6 is 1042. Item 7: the code for warehouse district 7 is 1049. Item 8: the code for warehouse district 8 is 1056. Item 9: the code for warehouse district 9 is 1063. Item 10: the code for warehouse district 10 is 1070. Item 11: the code for warehouse district 11 is 1077. Item 12: the code for warehouse district 12 is 1084. Item 13: the code for warehouse district 13 is 1091. Item 14: the code for warehouse district 14 is 1098. Item 15: the code for warehouse district 15 is 1105. Item 16: the code for warehouse district 16 is 1112. Item 17: the code for warehouse district 17 is 1119. Item 18: the code for warehouse district 18 is 1126. Item 19: the code for warehouse district 19 is 1133. Item 20: the code for warehouse district 20 is 1140. Item 21: the code for warehouse district 21 is 1147. Item 22: the code for warehouse district 22 is 1154. Item 23: the code for warehouse district 23 is 1161. Item 24: the code for warehouse district 24 is 1168. Item 25: the code for warehouse district 25 is 1175. Item 26: the code for warehouse district 26 is 1182. Item 27: the code for warehouse district 27 is 1189. Item 28: the code for warehouse district 28 is 1196. Item 29: the code for warehouse district 29 is 1203. Item 30: the code for warehouse district 30 is 1210. Item 31: the code for warehouse district 31 is 1217. Item 32: the code for warehouse district 32 is 1224. Item 33: the code for warehouse district 33 is 1231. Item 34: the code for warehouse district 34 is 1238. Item 35: the code for warehouse district 35 is 1245. Item 36: the code for warehouse district 36 is 1252. Item 37: the code for warehouse district 37 is 1259. Item 38: the code for warehouse district 38 is 1266. Item 39: the code for warehouse district 39 is 1273. Item 40: the code for warehouse district 40 is 1280. Item 41: the code for warehouse district 41 is 1287. Item 42: the code for warehouse district 42 is 1294. Item 43: the code for warehouse district 43 is 1301. Item 44: the code for warehouse district 44 is 1308. Item 45: the code for warehouse district 45 is 1315. Item 46: the code for warehouse district 46 is 1322. Item 47: the code for warehouse district 47 is 1329. Item 48: the code for warehouse district 48 is 1336. Item 49: the code for warehouse district 49 is 1343. Item 50: the code for warehouse district 50 is 1350. Item 51: the code for warehouse district 51 is 1357. Item 52: the code for warehouse district 52 is 1364. Item 53: the code for warehouse district 53 is 1371. Item 54: the code for warehouse district 54 is 1378. Item 55: the code for warehouse district 55 is 1385. Item 56: the code for warehouse district 56 is 1392. Item 57: the code for warehouse district 57 is 1399. Item 58: the code for warehouse district 58 is 1406. Item 59: the code for warehouse district 59 is 1413. Item 60: the code for warehouse district 60 is 1420. Item 61: the code for warehouse district 61 is 1427. Item 62: the code for warehouse district 62 is 1434. Item 63: the code for warehouse district 63 is 1441. Item 64: the code for warehouse district 64 is 1448. Item 65: the code for warehouse district 65 is 1455. Item 66: the code for warehouse district 66 is 1462. Item 67: the code for warehouse district 67 is 1469. Item 68: the code for warehouse district 68 is 1476. Item 69: the code for warehouse district 69 is 1483. Item 70: the code for warehouse district 70 is 1490. Item 71: the code for warehouse district 71 is 1497. Item 72: the code for warehouse district 72 is 1504. Item 73: the code for warehouse district 73 is 1511. Item 74: the code for warehouse district 74 is 1518. Item 75: the code for warehouse district 75 is 1525. Item 76: the code for warehouse district 76 is 1532. Item 77: the code for warehouse district 77 is 1539. Item 78: the code for warehouse district 78 is 1546. Item 79: the code for warehouse district 79 is 1553. Item 80: the code for warehouse district 80 is 1560. Item 81: the code for warehouse district 81 is 1567. Item 82: the code for warehouse district 82 is 1574. Item 83: the code for warehouse district 83 is 1581. Item 84: the code for warehouse district 84 is 1588. Item 85: the code for warehouse district 85 is 1595. Item 86: the code for warehouse district 86 is 1602. Item 87: the code for warehouse district 87 is 1609. Item 88: the code for warehouse district 88 is 1616. Item 89: the code for warehouse district 89 is 1623. Item 90: the code for warehouse district 90 is 1630. Item 91: the code for warehouse district 91 is 1637. Item 92: the code for warehouse district 92 is 1644. Item 93: the code for warehouse district 93 is 1651. Item 94: the code for warehouse district 94 is 1658. Item 95: the code for warehouse district 95 is 1665. Item 96: the code for warehouse district 96 is 1672. Item 97: the code for warehouse district 97 is 1679. Item 98: the code for warehouse district 98 is 1686. Item 99: the code for warehouse district 99 is 1693. Item 100: the code for warehouse district 100 is 1700. Item 101: the code for warehouse district 101 is 1707. Item 102: the code for warehouse district 102 is 1714. Item 103: the code for warehouse district 103 is 1721. Item 104: the code for warehouse district 104 is 1728. Item 105: the code for warehouse district 105 is 1735. Item 106: the code for warehouse district 106 is 1742. Item 107: the code for warehouse district 107 is 1749. Item 108: the code for warehouse district 108 is 1756. Item 109: the code for warehouse district 109 is 1763. Item 110: the code for warehouse district 110 is 1770. Item 111: the code for warehouse district 111 is 1777. Item 112: the code for warehouse district 112 is 1784. Item 113: the code for warehouse district 113 is 1791. Item 114: the code for warehouse district 114 is 1798. Item 115: the code for warehouse district 115 is 1805. Item 116: the code for warehouse district 116 is 1812. Item 117: the code for warehouse district 117 is 1819. Item 118: the code for warehouse district 118 is 1826. Item 119: the code for warehouse district 119 is 1833. Item 120: the code for warehouse district 120 is 1840. What is the code for warehouse district 73? Answer with just the number. diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_answer_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_answer_20260923.log new file mode 100644 index 000000000..1fa3ce58b --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_answer_20260923.log @@ -0,0 +1,39 @@ + + +Loading model... + +▄▄ ▄▄ +██ ██ +██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄ +██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██ +██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀ + ██ ██ + ▀▀ ▀▀ + +build : b11124-1a679828f +model : C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf +ftype : Q4_K - Medium +modalities : text + +available commands: + /exit or Ctrl+C stop or exit + /regen regenerate the last response + /clear clear the chat history + /read add a text file + /glob add text files using globbing pattern + + + +> What is the capital of France? Answer in one word. + +[Start thinking] + +We are asked: "What is the capital of France? Answer in one word." So the answer should be a single word: "Paris". But we need to output just the word? The instruction says "Answer in one word." So we should output "Paris". But let's make sure: The capital of France is Paris. So the answer is Paris. +[End thinking] + +Paris + +[ Prompt: 267.3 t/s | Generation: 62.9 t/s ] + + +Exiting... diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_bench_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_bench_20260923.json new file mode 100644 index 000000000..d0f14468f --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_bench_20260923.json @@ -0,0 +1,92 @@ +[ + { + "build_commit": "1a679828f", + "build_number": 11124, + "cpu_info": "AMD Ryzen AI 9 HX 370 w/ Radeon 890M ", + "gpu_info": "NVIDIA GeForce RTX 5090 Laptop GPU, AMD Radeon(TM) 890M Graphics", + "backends": "Vulkan", + "model_filename": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_type": "spark2_5 1.7B Q4_K - Medium", + "model_size": 1102073856, + "model_n_params": 1707657216, + "n_batch": 2048, + "n_ubatch": 512, + "n_threads": 12, + "cpu_mask": "0x0", + "cpu_strict": false, + "poll": 50, + "type_k": "f16", + "type_v": "f16", + "n_gpu_layers": 99, + "n_cpu_moe": 0, + "split_mode": "layer", + "main_gpu": 0, + "no_kv_offload": false, + "flash_attn": -1, + "devices": "Vulkan1", + "tensor_split": "0.00", + "tensor_buft_overrides": "none", + "load_mode": "auto", + "lazy_mode": "auto", + "embeddings": false, + "no_op_offload": 0, + "no_host": false, + "fit_target": 0, + "fit_min_ctx": 0, + "n_prompt": 128, + "n_gen": 0, + "n_depth": 0, + "test_time": "2026-09-23T10:40:08Z", + "avg_ns": 79903533, + "stddev_ns": 642773, + "avg_ts": 1602.000451, + "stddev_ts": 12.827994, + "samples_ns": [ 79585000, 80643300, 79482300 ], + "samples_ts": [ 1608.34, 1587.24, 1610.42 ] + }, + { + "build_commit": "1a679828f", + "build_number": 11124, + "cpu_info": "AMD Ryzen AI 9 HX 370 w/ Radeon 890M ", + "gpu_info": "NVIDIA GeForce RTX 5090 Laptop GPU, AMD Radeon(TM) 890M Graphics", + "backends": "Vulkan", + "model_filename": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_type": "spark2_5 1.7B Q4_K - Medium", + "model_size": 1102073856, + "model_n_params": 1707657216, + "n_batch": 2048, + "n_ubatch": 512, + "n_threads": 12, + "cpu_mask": "0x0", + "cpu_strict": false, + "poll": 50, + "type_k": "f16", + "type_v": "f16", + "n_gpu_layers": 99, + "n_cpu_moe": 0, + "split_mode": "layer", + "main_gpu": 0, + "no_kv_offload": false, + "flash_attn": -1, + "devices": "Vulkan1", + "tensor_split": "0.00", + "tensor_buft_overrides": "none", + "load_mode": "auto", + "lazy_mode": "auto", + "embeddings": false, + "no_op_offload": 0, + "no_host": false, + "fit_target": 0, + "fit_min_ctx": 0, + "n_prompt": 0, + "n_gen": 32, + "n_depth": 0, + "test_time": "2026-09-23T10:40:09Z", + "avg_ns": 475194133, + "stddev_ns": 2768818, + "avg_ts": 67.342423, + "stddev_ts": 0.392295, + "samples_ns": [ 472460200, 477996400, 475125800 ], + "samples_ts": [ 67.7306, 66.9461, 67.3506 ] + } +] diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_bench_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_bench_20260923.log new file mode 100644 index 000000000..ff7b2f636 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_bench_20260923.log @@ -0,0 +1,6 @@ +load_backend: loaded RPC backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-rpc.dll +ggml_vulkan: Found 2 Vulkan devices: +ggml_vulkan: 0 = NVIDIA GeForce RTX 5090 Laptop GPU (NVIDIA) | uma: 0 | fp16: 1 | bf16: 1 | fp4: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2 +ggml_vulkan: 1 = AMD Radeon(TM) 890M Graphics (AMD proprietary driver) | uma: 1 | fp16: 1 | bf16: 1 | fp4: 0 | warp size: 64 | shared memory: 32768 | int dot: 1 | matrix cores: KHR_coopmat +load_backend: loaded Vulkan backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-vulkan.dll +load_backend: loaded CPU backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-cpu-zen4.dll diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_placement_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_placement_20260923.json new file mode 100644 index 000000000..b2acbfd0c --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_placement_20260923.json @@ -0,0 +1,92 @@ +[ + { + "build_commit": "1a679828f", + "build_number": 11124, + "cpu_info": "AMD Ryzen AI 9 HX 370 w/ Radeon 890M ", + "gpu_info": "NVIDIA GeForce RTX 5090 Laptop GPU, AMD Radeon(TM) 890M Graphics", + "backends": "Vulkan", + "model_filename": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_type": "spark2_5 1.7B Q4_K - Medium", + "model_size": 1102073856, + "model_n_params": 1707657216, + "n_batch": 2048, + "n_ubatch": 512, + "n_threads": 12, + "cpu_mask": "0x0", + "cpu_strict": false, + "poll": 50, + "type_k": "f16", + "type_v": "f16", + "n_gpu_layers": 99, + "n_cpu_moe": 0, + "split_mode": "layer", + "main_gpu": 0, + "no_kv_offload": false, + "flash_attn": -1, + "devices": "Vulkan1", + "tensor_split": "0.00", + "tensor_buft_overrides": "none", + "load_mode": "auto", + "lazy_mode": "auto", + "embeddings": false, + "no_op_offload": 0, + "no_host": false, + "fit_target": 0, + "fit_min_ctx": 0, + "n_prompt": 128, + "n_gen": 0, + "n_depth": 0, + "test_time": "2026-09-23T10:40:43Z", + "avg_ns": 87737000, + "stddev_ns": 0, + "avg_ts": 1458.905593, + "stddev_ts": 0.000000, + "samples_ns": [ 87737000 ], + "samples_ts": [ 1458.91 ] + }, + { + "build_commit": "1a679828f", + "build_number": 11124, + "cpu_info": "AMD Ryzen AI 9 HX 370 w/ Radeon 890M ", + "gpu_info": "NVIDIA GeForce RTX 5090 Laptop GPU, AMD Radeon(TM) 890M Graphics", + "backends": "Vulkan", + "model_filename": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_type": "spark2_5 1.7B Q4_K - Medium", + "model_size": 1102073856, + "model_n_params": 1707657216, + "n_batch": 2048, + "n_ubatch": 512, + "n_threads": 12, + "cpu_mask": "0x0", + "cpu_strict": false, + "poll": 50, + "type_k": "f16", + "type_v": "f16", + "n_gpu_layers": 99, + "n_cpu_moe": 0, + "split_mode": "layer", + "main_gpu": 0, + "no_kv_offload": false, + "flash_attn": -1, + "devices": "Vulkan1", + "tensor_split": "0.00", + "tensor_buft_overrides": "none", + "load_mode": "auto", + "lazy_mode": "auto", + "embeddings": false, + "no_op_offload": 0, + "no_host": false, + "fit_target": 0, + "fit_min_ctx": 0, + "n_prompt": 0, + "n_gen": 32, + "n_depth": 0, + "test_time": "2026-09-23T10:40:43Z", + "avg_ns": 507961300, + "stddev_ns": 0, + "avg_ts": 62.996925, + "stddev_ts": 0.000000, + "samples_ns": [ 507961300 ], + "samples_ts": [ 62.9969 ] + } +] diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_placement_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_placement_20260923.log new file mode 100644 index 000000000..b661fb847 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_placement_20260923.log @@ -0,0 +1,3080 @@ +load_backend: loaded RPC backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-rpc.dll +ggml_vulkan: Found 2 Vulkan devices: +ggml_vulkan: 0 = NVIDIA GeForce RTX 5090 Laptop GPU (NVIDIA) | uma: 0 | fp16: 1 | bf16: 1 | fp4: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2 +ggml_vulkan: 1 = AMD Radeon(TM) 890M Graphics (AMD proprietary driver) | uma: 1 | fp16: 1 | bf16: 1 | fp4: 0 | warp size: 64 | shared memory: 32768 | int dot: 1 | matrix cores: KHR_coopmat +load_backend: loaded Vulkan backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-vulkan.dll +load_backend: loaded CPU backend from C:\Users\zhout\w2\llama-vulkan-b11124\bin\ggml-cpu-zen4.dll +llama_model_loader: loaded meta data with 37 key-value pairs and 226 tensors from C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf (version GGUF V3 (latest)) +llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output. +llama_model_loader: - kv 0: general.architecture str = spark2_5 +llama_model_loader: - kv 1: general.type str = model +llama_model_loader: - kv 2: general.sampling.top_k i32 = 0 +llama_model_loader: - kv 3: general.sampling.top_p f32 = 0.950000 +llama_model_loader: - kv 4: general.sampling.temp f32 = 1.000000 +llama_model_loader: - kv 5: general.name str = Hf_Format +llama_model_loader: - kv 6: general.size_label str = 1.7B +llama_model_loader: - kv 7: spark2_5.block_count u32 = 28 +llama_model_loader: - kv 8: spark2_5.context_length u32 = 1048576 +llama_model_loader: - kv 9: spark2_5.embedding_length u32 = 2048 +llama_model_loader: - kv 10: spark2_5.feed_forward_length u32 = 6656 +llama_model_loader: - kv 11: spark2_5.attention.head_count u32 = 8 +llama_model_loader: - kv 12: spark2_5.attention.head_count_kv u32 = 2 +llama_model_loader: - kv 13: spark2_5.rope.freq_base f32 = 5000000.000000 +llama_model_loader: - kv 14: spark2_5.rope.freq_base_swa f32 = 10000.000000 +llama_model_loader: - kv 15: spark2_5.attention.layer_norm_rms_epsilon f32 = 0.000001 +llama_model_loader: - kv 16: spark2_5.attention.key_length u32 = 256 +llama_model_loader: - kv 17: spark2_5.attention.value_length u32 = 256 +llama_model_loader: - kv 18: spark2_5.vocab_size u32 = 131072 +llama_model_loader: - kv 19: spark2_5.attention.sliding_window u32 = 512 +llama_model_loader: - kv 20: spark2_5.attention.sliding_window_pattern arr[bool,28] = [true, true, true, false, true, true,... +llama_model_loader: - kv 21: spark2_5.rope.dimension_count u32 = 64 +llama_model_loader: - kv 22: spark2_5.rope.dimension_count_swa u32 = 256 +llama_model_loader: - kv 23: tokenizer.ggml.model str = gpt2 +llama_model_loader: - kv 24: tokenizer.ggml.pre str = spark2_5 +llama_model_loader: - kv 25: tokenizer.ggml.tokens arr[str,131072] = ["<|start▁of▁sentence|>", "<�... +llama_model_loader: - kv 26: tokenizer.ggml.token_type arr[i32,131072] = [3, 3, 3, 4, 4, 3, 3, 3, 4, 4, 4, 3, ... +llama_model_loader: - kv 27: tokenizer.ggml.merges arr[str,130716] = ["Ġ Ġ", "Ġ t", "i n", "Ġ a", "Ġ�... +llama_model_loader: - kv 28: tokenizer.ggml.bos_token_id u32 = 0 +llama_model_loader: - kv 29: tokenizer.ggml.eos_token_id u32 = 1 +llama_model_loader: - kv 30: tokenizer.ggml.unknown_token_id u32 = 5 +llama_model_loader: - kv 31: tokenizer.ggml.padding_token_id u32 = 2 +llama_model_loader: - kv 32: tokenizer.ggml.add_bos_token bool = false +llama_model_loader: - kv 33: tokenizer.ggml.add_eos_token bool = false +llama_model_loader: - kv 34: tokenizer.chat_template str = {%- if not messages %}\n {{- raise_... +llama_model_loader: - kv 35: general.quantization_version u32 = 2 +llama_model_loader: - kv 36: general.file_type u32 = 15 +llama_model_loader: - type f32: 57 tensors +llama_model_loader: - type q4_K: 140 tensors +llama_model_loader: - type q6_K: 29 tensors +print_info: file format = GGUF V3 (latest) +print_info: file type = Q4_K - Medium +print_info: file size = 1.03 GiB (5.16 BPW) +llama_prepare_model_devices: using device Vulkan1 (AMD Radeon(TM) 890M Graphics) (unknown id) - 46080 MiB free +init_tokenizer: initializing tokenizer for type 2 +load: 86 unused tokens +load: control token: 0 '<|start▁of▁sentence|>' is not marked as EOG +load: control token: 5 '' is not marked as EOG +load: control token: 11 '<|fim▁begin|>' is not marked as EOG +load: control token: 7 '<|end▁of▁text|>' is not marked as EOG +load: control token: 2 '<|▁pad▁|>' is not marked as EOG +load: control token: 6 '<|start▁of▁text|>' is not marked as EOG +load: control token: 12 '<|fim▁hole|>' is not marked as EOG +load: control token: 13 '<|fim▁end|>' is not marked as EOG +load: control token: 130975 '<|Developer|>' is not marked as EOG +load: control token: 130976 '<|Bot|>' is not marked as EOG +load: control token: 130972 '<|System|>' is not marked as EOG +load: control token: 130973 '<|User|>' is not marked as EOG +load: control token: 130974 '<|Tool|>' is not marked as EOG +load: printing all EOG tokens: +load: - 1 ('<|end▁of▁sentence|>') +load: special tokens cache size = 113 +load: token to piece cache size = 0.7975 MB +print_info: arch = spark2_5 +print_info: vocab_only = 0 +print_info: no_alloc = 0 +print_info: n_ctx_train = 1048576 +print_info: n_embd_inp = 2048 +print_info: n_embd = 2048 +print_info: n_embd_out = 2048 +print_info: n_layer = 28 +print_info: n_layer_all = 28 +print_info: n_head = 8 +print_info: n_head_kv = 2 +print_info: n_rot = 64 +print_info: n_swa = 512 +print_info: is_swa_any = 1 +print_info: non_causal_type = 0 +print_info: n_embd_head_k = 256 +print_info: n_embd_head_v = 256 +print_info: n_gqa = 4 +print_info: n_embd_k_gqa = 512 +print_info: n_embd_v_gqa = 512 +print_info: f_norm_eps = 0.0e+00 +print_info: f_norm_rms_eps = 1.0e-06 +print_info: f_clamp_kqv = 0.0e+00 +print_info: f_max_alibi_bias = 0.0e+00 +print_info: f_logit_scale = 0.0e+00 +print_info: f_attn_scale = 0.0e+00 +print_info: f_attn_value_scale = 0.0000 +print_info: n_ff = 6656 +print_info: n_expert = 0 +print_info: n_expert_used = 0 +print_info: n_expert_groups = 0 +print_info: n_group_used = 0 +print_info: causal attn = 1 +print_info: pooling type = -1 +print_info: rope type = 2 +print_info: rope scaling = linear +print_info: freq_base_train = 5000000.0 +print_info: freq_scale_train = 1 +print_info: freq_base_swa = 10000.0 +print_info: freq_scale_swa = 1 +print_info: n_embd_head_k_swa = 256 +print_info: n_embd_head_v_swa = 256 +print_info: n_rot_swa = 256 +print_info: n_ctx_orig_yarn = 1048576 +print_info: rope_yarn_log_mul = 0.0000 +print_info: rope_finetuned = unknown +print_info: model type = 1.7B +print_info: model params = 1.71 B +print_info: general.name = Hf_Format +print_info: vocab type = BPE +print_info: n_vocab = 131072 +print_info: n_merges = 130716 +print_info: BOS token = 0 '<|start▁of▁sentence|>' +print_info: EOS token = 1 '<|end▁of▁sentence|>' +print_info: EOT token = 1 '<|end▁of▁sentence|>' +print_info: UNK token = 5 '' +print_info: PAD token = 2 '<|▁pad▁|>' +print_info: LF token = 198 'Ċ' +print_info: FIM PRE token = 11 '<|fim▁begin|>' +print_info: FIM SUF token = 12 '<|fim▁hole|>' +print_info: FIM MID token = 13 '<|fim▁end|>' +print_info: EOG token = 1 '<|end▁of▁sentence|>' +print_info: max token length = 210 +load_tensors: loading model tensors, this can take a while... (load_mode = none) +load_tensors: layer 0 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 1 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 2 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 3 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 4 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 5 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 6 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 7 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 8 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 9 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 10 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 11 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 12 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 13 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 14 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 15 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 16 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 17 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 18 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 19 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 20 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 21 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 22 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 23 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 24 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 25 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 26 assigned to device Vulkan1, is_swa = 1 +load_tensors: layer 27 assigned to device Vulkan1, is_swa = 0 +load_tensors: layer 28 assigned to device Vulkan1, is_swa = 0 +create_tensor: loading tensor token_embd.weight +create_tensor: loading tensor output_norm.weight +create_tensor: loading tensor output.weight +create_tensor: loading tensor token_embd.weight +create_tensor: loading tensor blk.0.attn_norm.weight +create_tensor: loading tensor blk.0.attn_qkv.weight +create_tensor: loading tensor blk.0.attn_qkv.bias +create_tensor: loading tensor blk.0.attn_q.bias +create_tensor: loading tensor blk.0.attn_k.bias +create_tensor: loading tensor blk.0.attn_v.bias +create_tensor: loading tensor blk.0.attn_gate.weight +create_tensor: loading tensor blk.0.attn_output.weight +create_tensor: loading tensor blk.0.ffn_norm.weight +create_tensor: loading tensor blk.0.ffn_gate.weight +create_tensor: loading tensor blk.0.ffn_up.weight +create_tensor: loading tensor blk.0.ffn_down.weight +create_tensor: loading tensor blk.1.attn_norm.weight +create_tensor: loading tensor blk.1.attn_qkv.weight +create_tensor: loading tensor blk.1.attn_qkv.bias +create_tensor: loading tensor blk.1.attn_q.bias +create_tensor: loading tensor blk.1.attn_k.bias +create_tensor: loading tensor blk.1.attn_v.bias +create_tensor: loading tensor blk.1.attn_gate.weight +create_tensor: loading tensor blk.1.attn_output.weight +create_tensor: loading tensor blk.1.ffn_norm.weight +create_tensor: loading tensor blk.1.ffn_gate.weight +create_tensor: loading tensor blk.1.ffn_up.weight +create_tensor: loading tensor blk.1.ffn_down.weight +create_tensor: loading tensor blk.2.attn_norm.weight +create_tensor: loading tensor blk.2.attn_qkv.weight +create_tensor: loading tensor blk.2.attn_qkv.bias +create_tensor: loading tensor blk.2.attn_q.bias +create_tensor: loading tensor blk.2.attn_k.bias +create_tensor: loading tensor blk.2.attn_v.bias +create_tensor: loading tensor blk.2.attn_gate.weight +create_tensor: loading tensor blk.2.attn_output.weight +create_tensor: loading tensor blk.2.ffn_norm.weight +create_tensor: loading tensor blk.2.ffn_gate.weight +create_tensor: loading tensor blk.2.ffn_up.weight +create_tensor: loading tensor blk.2.ffn_down.weight +create_tensor: loading tensor blk.3.attn_norm.weight +create_tensor: loading tensor blk.3.attn_qkv.weight +create_tensor: loading tensor blk.3.attn_qkv.bias +create_tensor: loading tensor blk.3.attn_q.bias +create_tensor: loading tensor blk.3.attn_k.bias +create_tensor: loading tensor blk.3.attn_v.bias +create_tensor: loading tensor blk.3.attn_gate.weight +create_tensor: loading tensor blk.3.attn_output.weight +create_tensor: loading tensor blk.3.ffn_norm.weight +create_tensor: loading tensor blk.3.ffn_gate.weight +create_tensor: loading tensor blk.3.ffn_up.weight +create_tensor: loading tensor blk.3.ffn_down.weight +create_tensor: loading tensor blk.4.attn_norm.weight +create_tensor: loading tensor blk.4.attn_qkv.weight +create_tensor: loading tensor blk.4.attn_qkv.bias +create_tensor: loading tensor blk.4.attn_q.bias +create_tensor: loading tensor blk.4.attn_k.bias +create_tensor: loading tensor blk.4.attn_v.bias +create_tensor: loading tensor blk.4.attn_gate.weight +create_tensor: loading tensor blk.4.attn_output.weight +create_tensor: loading tensor blk.4.ffn_norm.weight +create_tensor: loading tensor blk.4.ffn_gate.weight +create_tensor: loading tensor blk.4.ffn_up.weight +create_tensor: loading tensor blk.4.ffn_down.weight +create_tensor: loading tensor blk.5.attn_norm.weight +create_tensor: loading tensor blk.5.attn_qkv.weight +create_tensor: loading tensor blk.5.attn_qkv.bias +create_tensor: loading tensor blk.5.attn_q.bias +create_tensor: loading tensor blk.5.attn_k.bias +create_tensor: loading tensor blk.5.attn_v.bias +create_tensor: loading tensor blk.5.attn_gate.weight +create_tensor: loading tensor blk.5.attn_output.weight +create_tensor: loading tensor blk.5.ffn_norm.weight +create_tensor: loading tensor blk.5.ffn_gate.weight +create_tensor: loading tensor blk.5.ffn_up.weight +create_tensor: loading tensor blk.5.ffn_down.weight +create_tensor: loading tensor blk.6.attn_norm.weight +create_tensor: loading tensor blk.6.attn_qkv.weight +create_tensor: loading tensor blk.6.attn_qkv.bias +create_tensor: loading tensor blk.6.attn_q.bias +create_tensor: loading tensor blk.6.attn_k.bias +create_tensor: loading tensor blk.6.attn_v.bias +create_tensor: loading tensor blk.6.attn_gate.weight +create_tensor: loading tensor blk.6.attn_output.weight +create_tensor: loading tensor blk.6.ffn_norm.weight +create_tensor: loading tensor blk.6.ffn_gate.weight +create_tensor: loading tensor blk.6.ffn_up.weight +create_tensor: loading tensor blk.6.ffn_down.weight +create_tensor: loading tensor blk.7.attn_norm.weight +create_tensor: loading tensor blk.7.attn_qkv.weight +create_tensor: loading tensor blk.7.attn_qkv.bias +create_tensor: loading tensor blk.7.attn_q.bias +create_tensor: loading tensor blk.7.attn_k.bias +create_tensor: loading tensor blk.7.attn_v.bias +create_tensor: loading tensor blk.7.attn_gate.weight +create_tensor: loading tensor blk.7.attn_output.weight +create_tensor: loading tensor blk.7.ffn_norm.weight +create_tensor: loading tensor blk.7.ffn_gate.weight +create_tensor: loading tensor blk.7.ffn_up.weight +create_tensor: loading tensor blk.7.ffn_down.weight +create_tensor: loading tensor blk.8.attn_norm.weight +create_tensor: loading tensor blk.8.attn_qkv.weight +create_tensor: loading tensor blk.8.attn_qkv.bias +create_tensor: loading tensor blk.8.attn_q.bias +create_tensor: loading tensor blk.8.attn_k.bias +create_tensor: loading tensor blk.8.attn_v.bias +create_tensor: loading tensor blk.8.attn_gate.weight +create_tensor: loading tensor blk.8.attn_output.weight +create_tensor: loading tensor blk.8.ffn_norm.weight +create_tensor: loading tensor blk.8.ffn_gate.weight +create_tensor: loading tensor blk.8.ffn_up.weight +create_tensor: loading tensor blk.8.ffn_down.weight +create_tensor: loading tensor blk.9.attn_norm.weight +create_tensor: loading tensor blk.9.attn_qkv.weight +create_tensor: loading tensor blk.9.attn_qkv.bias +create_tensor: loading tensor blk.9.attn_q.bias +create_tensor: loading tensor blk.9.attn_k.bias +create_tensor: loading tensor blk.9.attn_v.bias +create_tensor: loading tensor blk.9.attn_gate.weight +create_tensor: loading tensor blk.9.attn_output.weight +create_tensor: loading tensor blk.9.ffn_norm.weight +create_tensor: loading tensor blk.9.ffn_gate.weight +create_tensor: loading tensor blk.9.ffn_up.weight +create_tensor: loading tensor blk.9.ffn_down.weight +create_tensor: loading tensor blk.10.attn_norm.weight +create_tensor: loading tensor blk.10.attn_qkv.weight +create_tensor: loading tensor blk.10.attn_qkv.bias +create_tensor: loading tensor blk.10.attn_q.bias +create_tensor: loading tensor blk.10.attn_k.bias +create_tensor: loading tensor blk.10.attn_v.bias +create_tensor: loading tensor blk.10.attn_gate.weight +create_tensor: loading tensor blk.10.attn_output.weight +create_tensor: loading tensor blk.10.ffn_norm.weight +create_tensor: loading tensor blk.10.ffn_gate.weight +create_tensor: loading tensor blk.10.ffn_up.weight +create_tensor: loading tensor blk.10.ffn_down.weight +create_tensor: loading tensor blk.11.attn_norm.weight +create_tensor: loading tensor blk.11.attn_qkv.weight +create_tensor: loading tensor blk.11.attn_qkv.bias +create_tensor: loading tensor blk.11.attn_q.bias +create_tensor: loading tensor blk.11.attn_k.bias +create_tensor: loading tensor blk.11.attn_v.bias +create_tensor: loading tensor blk.11.attn_gate.weight +create_tensor: loading tensor blk.11.attn_output.weight +create_tensor: loading tensor blk.11.ffn_norm.weight +create_tensor: loading tensor blk.11.ffn_gate.weight +create_tensor: loading tensor blk.11.ffn_up.weight +create_tensor: loading tensor blk.11.ffn_down.weight +create_tensor: loading tensor blk.12.attn_norm.weight +create_tensor: loading tensor blk.12.attn_qkv.weight +create_tensor: loading tensor blk.12.attn_qkv.bias +create_tensor: loading tensor blk.12.attn_q.bias +create_tensor: loading tensor blk.12.attn_k.bias +create_tensor: loading tensor blk.12.attn_v.bias +create_tensor: loading tensor blk.12.attn_gate.weight +create_tensor: loading tensor blk.12.attn_output.weight +create_tensor: loading tensor blk.12.ffn_norm.weight +create_tensor: loading tensor blk.12.ffn_gate.weight +create_tensor: loading tensor blk.12.ffn_up.weight +create_tensor: loading tensor blk.12.ffn_down.weight +create_tensor: loading tensor blk.13.attn_norm.weight +create_tensor: loading tensor blk.13.attn_qkv.weight +create_tensor: loading tensor blk.13.attn_qkv.bias +create_tensor: loading tensor blk.13.attn_q.bias +create_tensor: loading tensor blk.13.attn_k.bias +create_tensor: loading tensor blk.13.attn_v.bias +create_tensor: loading tensor blk.13.attn_gate.weight +create_tensor: loading tensor blk.13.attn_output.weight +create_tensor: loading tensor blk.13.ffn_norm.weight +create_tensor: loading tensor blk.13.ffn_gate.weight +create_tensor: loading tensor blk.13.ffn_up.weight +create_tensor: loading tensor blk.13.ffn_down.weight +create_tensor: loading tensor blk.14.attn_norm.weight +create_tensor: loading tensor blk.14.attn_qkv.weight +create_tensor: loading tensor blk.14.attn_qkv.bias +create_tensor: loading tensor blk.14.attn_q.bias +create_tensor: loading tensor blk.14.attn_k.bias +create_tensor: loading tensor blk.14.attn_v.bias +create_tensor: loading tensor blk.14.attn_gate.weight +create_tensor: loading tensor blk.14.attn_output.weight +create_tensor: loading tensor blk.14.ffn_norm.weight +create_tensor: loading tensor blk.14.ffn_gate.weight +create_tensor: loading tensor blk.14.ffn_up.weight +create_tensor: loading tensor blk.14.ffn_down.weight +create_tensor: loading tensor blk.15.attn_norm.weight +create_tensor: loading tensor blk.15.attn_qkv.weight +create_tensor: loading tensor blk.15.attn_qkv.bias +create_tensor: loading tensor blk.15.attn_q.bias +create_tensor: loading tensor blk.15.attn_k.bias +create_tensor: loading tensor blk.15.attn_v.bias +create_tensor: loading tensor blk.15.attn_gate.weight +create_tensor: loading tensor blk.15.attn_output.weight +create_tensor: loading tensor blk.15.ffn_norm.weight +create_tensor: loading tensor blk.15.ffn_gate.weight +create_tensor: loading tensor blk.15.ffn_up.weight +create_tensor: loading tensor blk.15.ffn_down.weight +create_tensor: loading tensor blk.16.attn_norm.weight +create_tensor: loading tensor blk.16.attn_qkv.weight +create_tensor: loading tensor blk.16.attn_qkv.bias +create_tensor: loading tensor blk.16.attn_q.bias +create_tensor: loading tensor blk.16.attn_k.bias +create_tensor: loading tensor blk.16.attn_v.bias +create_tensor: loading tensor blk.16.attn_gate.weight +create_tensor: loading tensor blk.16.attn_output.weight +create_tensor: loading tensor blk.16.ffn_norm.weight +create_tensor: loading tensor blk.16.ffn_gate.weight +create_tensor: loading tensor blk.16.ffn_up.weight +create_tensor: loading tensor blk.16.ffn_down.weight +create_tensor: loading tensor blk.17.attn_norm.weight +create_tensor: loading tensor blk.17.attn_qkv.weight +create_tensor: loading tensor blk.17.attn_qkv.bias +create_tensor: loading tensor blk.17.attn_q.bias +create_tensor: loading tensor blk.17.attn_k.bias +create_tensor: loading tensor blk.17.attn_v.bias +create_tensor: loading tensor blk.17.attn_gate.weight +create_tensor: loading tensor blk.17.attn_output.weight +create_tensor: loading tensor blk.17.ffn_norm.weight +create_tensor: loading tensor blk.17.ffn_gate.weight +create_tensor: loading tensor blk.17.ffn_up.weight +create_tensor: loading tensor blk.17.ffn_down.weight +create_tensor: loading tensor blk.18.attn_norm.weight +create_tensor: loading tensor blk.18.attn_qkv.weight +create_tensor: loading tensor blk.18.attn_qkv.bias +create_tensor: loading tensor blk.18.attn_q.bias +create_tensor: loading tensor blk.18.attn_k.bias +create_tensor: loading tensor blk.18.attn_v.bias +create_tensor: loading tensor blk.18.attn_gate.weight +create_tensor: loading tensor blk.18.attn_output.weight +create_tensor: loading tensor blk.18.ffn_norm.weight +create_tensor: loading tensor blk.18.ffn_gate.weight +create_tensor: loading tensor blk.18.ffn_up.weight +create_tensor: loading tensor blk.18.ffn_down.weight +create_tensor: loading tensor blk.19.attn_norm.weight +create_tensor: loading tensor blk.19.attn_qkv.weight +create_tensor: loading tensor blk.19.attn_qkv.bias +create_tensor: loading tensor blk.19.attn_q.bias +create_tensor: loading tensor blk.19.attn_k.bias +create_tensor: loading tensor blk.19.attn_v.bias +create_tensor: loading tensor blk.19.attn_gate.weight +create_tensor: loading tensor blk.19.attn_output.weight +create_tensor: loading tensor blk.19.ffn_norm.weight +create_tensor: loading tensor blk.19.ffn_gate.weight +create_tensor: loading tensor blk.19.ffn_up.weight +create_tensor: loading tensor blk.19.ffn_down.weight +create_tensor: loading tensor blk.20.attn_norm.weight +create_tensor: loading tensor blk.20.attn_qkv.weight +create_tensor: loading tensor blk.20.attn_qkv.bias +create_tensor: loading tensor blk.20.attn_q.bias +create_tensor: loading tensor blk.20.attn_k.bias +create_tensor: loading tensor blk.20.attn_v.bias +create_tensor: loading tensor blk.20.attn_gate.weight +create_tensor: loading tensor blk.20.attn_output.weight +create_tensor: loading tensor blk.20.ffn_norm.weight +create_tensor: loading tensor blk.20.ffn_gate.weight +create_tensor: loading tensor blk.20.ffn_up.weight +create_tensor: loading tensor blk.20.ffn_down.weight +create_tensor: loading tensor blk.21.attn_norm.weight +create_tensor: loading tensor blk.21.attn_qkv.weight +create_tensor: loading tensor blk.21.attn_qkv.bias +create_tensor: loading tensor blk.21.attn_q.bias +create_tensor: loading tensor blk.21.attn_k.bias +create_tensor: loading tensor blk.21.attn_v.bias +create_tensor: loading tensor blk.21.attn_gate.weight +create_tensor: loading tensor blk.21.attn_output.weight +create_tensor: loading tensor blk.21.ffn_norm.weight +create_tensor: loading tensor blk.21.ffn_gate.weight +create_tensor: loading tensor blk.21.ffn_up.weight +create_tensor: loading tensor blk.21.ffn_down.weight +create_tensor: loading tensor blk.22.attn_norm.weight +create_tensor: loading tensor blk.22.attn_qkv.weight +create_tensor: loading tensor blk.22.attn_qkv.bias +create_tensor: loading tensor blk.22.attn_q.bias +create_tensor: loading tensor blk.22.attn_k.bias +create_tensor: loading tensor blk.22.attn_v.bias +create_tensor: loading tensor blk.22.attn_gate.weight +create_tensor: loading tensor blk.22.attn_output.weight +create_tensor: loading tensor blk.22.ffn_norm.weight +create_tensor: loading tensor blk.22.ffn_gate.weight +create_tensor: loading tensor blk.22.ffn_up.weight +create_tensor: loading tensor blk.22.ffn_down.weight +create_tensor: loading tensor blk.23.attn_norm.weight +create_tensor: loading tensor blk.23.attn_qkv.weight +create_tensor: loading tensor blk.23.attn_qkv.bias +create_tensor: loading tensor blk.23.attn_q.bias +create_tensor: loading tensor blk.23.attn_k.bias +create_tensor: loading tensor blk.23.attn_v.bias +create_tensor: loading tensor blk.23.attn_gate.weight +create_tensor: loading tensor blk.23.attn_output.weight +create_tensor: loading tensor blk.23.ffn_norm.weight +create_tensor: loading tensor blk.23.ffn_gate.weight +create_tensor: loading tensor blk.23.ffn_up.weight +create_tensor: loading tensor blk.23.ffn_down.weight +create_tensor: loading tensor blk.24.attn_norm.weight +create_tensor: loading tensor blk.24.attn_qkv.weight +create_tensor: loading tensor blk.24.attn_qkv.bias +create_tensor: loading tensor blk.24.attn_q.bias +create_tensor: loading tensor blk.24.attn_k.bias +create_tensor: loading tensor blk.24.attn_v.bias +create_tensor: loading tensor blk.24.attn_gate.weight +create_tensor: loading tensor blk.24.attn_output.weight +create_tensor: loading tensor blk.24.ffn_norm.weight +create_tensor: loading tensor blk.24.ffn_gate.weight +create_tensor: loading tensor blk.24.ffn_up.weight +create_tensor: loading tensor blk.24.ffn_down.weight +create_tensor: loading tensor blk.25.attn_norm.weight +create_tensor: loading tensor blk.25.attn_qkv.weight +create_tensor: loading tensor blk.25.attn_qkv.bias +create_tensor: loading tensor blk.25.attn_q.bias +create_tensor: loading tensor blk.25.attn_k.bias +create_tensor: loading tensor blk.25.attn_v.bias +create_tensor: loading tensor blk.25.attn_gate.weight +create_tensor: loading tensor blk.25.attn_output.weight +create_tensor: loading tensor blk.25.ffn_norm.weight +create_tensor: loading tensor blk.25.ffn_gate.weight +create_tensor: loading tensor blk.25.ffn_up.weight +create_tensor: loading tensor blk.25.ffn_down.weight +create_tensor: loading tensor blk.26.attn_norm.weight +create_tensor: loading tensor blk.26.attn_qkv.weight +create_tensor: loading tensor blk.26.attn_qkv.bias +create_tensor: loading tensor blk.26.attn_q.bias +create_tensor: loading tensor blk.26.attn_k.bias +create_tensor: loading tensor blk.26.attn_v.bias +create_tensor: loading tensor blk.26.attn_gate.weight +create_tensor: loading tensor blk.26.attn_output.weight +create_tensor: loading tensor blk.26.ffn_norm.weight +create_tensor: loading tensor blk.26.ffn_gate.weight +create_tensor: loading tensor blk.26.ffn_up.weight +create_tensor: loading tensor blk.26.ffn_down.weight +create_tensor: loading tensor blk.27.attn_norm.weight +create_tensor: loading tensor blk.27.attn_qkv.weight +create_tensor: loading tensor blk.27.attn_qkv.bias +create_tensor: loading tensor blk.27.attn_q.bias +create_tensor: loading tensor blk.27.attn_k.bias +create_tensor: loading tensor blk.27.attn_v.bias +create_tensor: loading tensor blk.27.attn_gate.weight +create_tensor: loading tensor blk.27.attn_output.weight +create_tensor: loading tensor blk.27.ffn_norm.weight +create_tensor: loading tensor blk.27.ffn_gate.weight +create_tensor: loading tensor blk.27.ffn_up.weight +create_tensor: loading tensor blk.27.ffn_down.weight +create_tensor: loading tensor blk.0.attn_output.scale +create_tensor: loading tensor blk.0.attn_qkv.scale +create_tensor: loading tensor blk.0.attn_gate.scale +create_tensor: loading tensor blk.0.ffn_gate.scale +create_tensor: loading tensor blk.0.ffn_down.scale +create_tensor: loading tensor blk.0.ffn_up.scale +create_tensor: loading tensor blk.0.attn_output.input_scale +create_tensor: loading tensor blk.0.attn_qkv.input_scale +create_tensor: loading tensor blk.0.attn_gate.input_scale +create_tensor: loading tensor blk.0.ffn_gate.input_scale +create_tensor: loading tensor blk.0.ffn_down.input_scale +create_tensor: loading tensor blk.0.ffn_up.input_scale +create_tensor: loading tensor blk.1.attn_output.scale +create_tensor: loading tensor blk.1.attn_qkv.scale +create_tensor: loading tensor blk.1.attn_gate.scale +create_tensor: loading tensor blk.1.ffn_gate.scale +create_tensor: loading tensor blk.1.ffn_down.scale +create_tensor: loading tensor blk.1.ffn_up.scale +create_tensor: loading tensor blk.1.attn_output.input_scale +create_tensor: loading tensor blk.1.attn_qkv.input_scale +create_tensor: loading tensor blk.1.attn_gate.input_scale +create_tensor: loading tensor blk.1.ffn_gate.input_scale +create_tensor: loading tensor blk.1.ffn_down.input_scale +create_tensor: loading tensor blk.1.ffn_up.input_scale +create_tensor: loading tensor blk.2.attn_output.scale +create_tensor: loading tensor blk.2.attn_qkv.scale +create_tensor: loading tensor blk.2.attn_gate.scale +create_tensor: loading tensor blk.2.ffn_gate.scale +create_tensor: loading tensor blk.2.ffn_down.scale +create_tensor: loading tensor blk.2.ffn_up.scale +create_tensor: loading tensor blk.2.attn_output.input_scale +create_tensor: loading tensor blk.2.attn_qkv.input_scale +create_tensor: loading tensor blk.2.attn_gate.input_scale +create_tensor: loading tensor blk.2.ffn_gate.input_scale +create_tensor: loading tensor blk.2.ffn_down.input_scale +create_tensor: loading tensor blk.2.ffn_up.input_scale +create_tensor: loading tensor blk.3.attn_output.scale +create_tensor: loading tensor blk.3.attn_qkv.scale +create_tensor: loading tensor blk.3.attn_gate.scale +create_tensor: loading tensor blk.3.ffn_gate.scale +create_tensor: loading tensor blk.3.ffn_down.scale +create_tensor: loading tensor blk.3.ffn_up.scale +create_tensor: loading tensor blk.3.attn_output.input_scale +create_tensor: loading tensor blk.3.attn_qkv.input_scale +create_tensor: loading tensor blk.3.attn_gate.input_scale +create_tensor: loading tensor blk.3.ffn_gate.input_scale +create_tensor: loading tensor blk.3.ffn_down.input_scale +create_tensor: loading tensor blk.3.ffn_up.input_scale +create_tensor: loading tensor blk.4.attn_output.scale +create_tensor: loading tensor blk.4.attn_qkv.scale +create_tensor: loading tensor blk.4.attn_gate.scale +create_tensor: loading tensor blk.4.ffn_gate.scale +create_tensor: loading tensor blk.4.ffn_down.scale +create_tensor: loading tensor blk.4.ffn_up.scale +create_tensor: loading tensor blk.4.attn_output.input_scale +create_tensor: loading tensor blk.4.attn_qkv.input_scale +create_tensor: loading tensor blk.4.attn_gate.input_scale +create_tensor: loading tensor blk.4.ffn_gate.input_scale +create_tensor: loading tensor blk.4.ffn_down.input_scale +create_tensor: loading tensor blk.4.ffn_up.input_scale +create_tensor: loading tensor blk.5.attn_output.scale +create_tensor: loading tensor blk.5.attn_qkv.scale +create_tensor: loading tensor blk.5.attn_gate.scale +create_tensor: loading tensor blk.5.ffn_gate.scale +create_tensor: loading tensor blk.5.ffn_down.scale +create_tensor: loading tensor blk.5.ffn_up.scale +create_tensor: loading tensor blk.5.attn_output.input_scale +create_tensor: loading tensor blk.5.attn_qkv.input_scale +create_tensor: loading tensor blk.5.attn_gate.input_scale +create_tensor: loading tensor blk.5.ffn_gate.input_scale +create_tensor: loading tensor blk.5.ffn_down.input_scale +create_tensor: loading tensor blk.5.ffn_up.input_scale +create_tensor: loading tensor blk.6.attn_output.scale +create_tensor: loading tensor blk.6.attn_qkv.scale +create_tensor: loading tensor blk.6.attn_gate.scale +create_tensor: loading tensor blk.6.ffn_gate.scale +create_tensor: loading tensor blk.6.ffn_down.scale +create_tensor: loading tensor blk.6.ffn_up.scale +create_tensor: loading tensor blk.6.attn_output.input_scale +create_tensor: loading tensor blk.6.attn_qkv.input_scale +create_tensor: loading tensor blk.6.attn_gate.input_scale +create_tensor: loading tensor blk.6.ffn_gate.input_scale +create_tensor: loading tensor blk.6.ffn_down.input_scale +create_tensor: loading tensor blk.6.ffn_up.input_scale +create_tensor: loading tensor blk.7.attn_output.scale +create_tensor: loading tensor blk.7.attn_qkv.scale +create_tensor: loading tensor blk.7.attn_gate.scale +create_tensor: loading tensor blk.7.ffn_gate.scale +create_tensor: loading tensor blk.7.ffn_down.scale +create_tensor: loading tensor blk.7.ffn_up.scale +create_tensor: loading tensor blk.7.attn_output.input_scale +create_tensor: loading tensor blk.7.attn_qkv.input_scale +create_tensor: loading tensor blk.7.attn_gate.input_scale +create_tensor: loading tensor blk.7.ffn_gate.input_scale +create_tensor: loading tensor blk.7.ffn_down.input_scale +create_tensor: loading tensor blk.7.ffn_up.input_scale +create_tensor: loading tensor blk.8.attn_output.scale +create_tensor: loading tensor blk.8.attn_qkv.scale +create_tensor: loading tensor blk.8.attn_gate.scale +create_tensor: loading tensor blk.8.ffn_gate.scale +create_tensor: loading tensor blk.8.ffn_down.scale +create_tensor: loading tensor blk.8.ffn_up.scale +create_tensor: loading tensor blk.8.attn_output.input_scale +create_tensor: loading tensor blk.8.attn_qkv.input_scale +create_tensor: loading tensor blk.8.attn_gate.input_scale +create_tensor: loading tensor blk.8.ffn_gate.input_scale +create_tensor: loading tensor blk.8.ffn_down.input_scale +create_tensor: loading tensor blk.8.ffn_up.input_scale +create_tensor: loading tensor blk.9.attn_output.scale +create_tensor: loading tensor blk.9.attn_qkv.scale +create_tensor: loading tensor blk.9.attn_gate.scale +create_tensor: loading tensor blk.9.ffn_gate.scale +create_tensor: loading tensor blk.9.ffn_down.scale +create_tensor: loading tensor blk.9.ffn_up.scale +create_tensor: loading tensor blk.9.attn_output.input_scale +create_tensor: loading tensor blk.9.attn_qkv.input_scale +create_tensor: loading tensor blk.9.attn_gate.input_scale +create_tensor: loading tensor blk.9.ffn_gate.input_scale +create_tensor: loading tensor blk.9.ffn_down.input_scale +create_tensor: loading tensor blk.9.ffn_up.input_scale +create_tensor: loading tensor blk.10.attn_output.scale +create_tensor: loading tensor blk.10.attn_qkv.scale +create_tensor: loading tensor blk.10.attn_gate.scale +create_tensor: loading tensor blk.10.ffn_gate.scale +create_tensor: loading tensor blk.10.ffn_down.scale +create_tensor: loading tensor blk.10.ffn_up.scale +create_tensor: loading tensor blk.10.attn_output.input_scale +create_tensor: loading tensor blk.10.attn_qkv.input_scale +create_tensor: loading tensor blk.10.attn_gate.input_scale +create_tensor: loading tensor blk.10.ffn_gate.input_scale +create_tensor: loading tensor blk.10.ffn_down.input_scale +create_tensor: loading tensor blk.10.ffn_up.input_scale +create_tensor: loading tensor blk.11.attn_output.scale +create_tensor: loading tensor blk.11.attn_qkv.scale +create_tensor: loading tensor blk.11.attn_gate.scale +create_tensor: loading tensor blk.11.ffn_gate.scale +create_tensor: loading tensor blk.11.ffn_down.scale +create_tensor: loading tensor blk.11.ffn_up.scale +create_tensor: loading tensor blk.11.attn_output.input_scale +create_tensor: loading tensor blk.11.attn_qkv.input_scale +create_tensor: loading tensor blk.11.attn_gate.input_scale +create_tensor: loading tensor blk.11.ffn_gate.input_scale +create_tensor: loading tensor blk.11.ffn_down.input_scale +create_tensor: loading tensor blk.11.ffn_up.input_scale +create_tensor: loading tensor blk.12.attn_output.scale +create_tensor: loading tensor blk.12.attn_qkv.scale +create_tensor: loading tensor blk.12.attn_gate.scale +create_tensor: loading tensor blk.12.ffn_gate.scale +create_tensor: loading tensor blk.12.ffn_down.scale +create_tensor: loading tensor blk.12.ffn_up.scale +create_tensor: loading tensor blk.12.attn_output.input_scale +create_tensor: loading tensor blk.12.attn_qkv.input_scale +create_tensor: loading tensor blk.12.attn_gate.input_scale +create_tensor: loading tensor blk.12.ffn_gate.input_scale +create_tensor: loading tensor blk.12.ffn_down.input_scale +create_tensor: loading tensor blk.12.ffn_up.input_scale +create_tensor: loading tensor blk.13.attn_output.scale +create_tensor: loading tensor blk.13.attn_qkv.scale +create_tensor: loading tensor blk.13.attn_gate.scale +create_tensor: loading tensor blk.13.ffn_gate.scale +create_tensor: loading tensor blk.13.ffn_down.scale +create_tensor: loading tensor blk.13.ffn_up.scale +create_tensor: loading tensor blk.13.attn_output.input_scale +create_tensor: loading tensor blk.13.attn_qkv.input_scale +create_tensor: loading tensor blk.13.attn_gate.input_scale +create_tensor: loading tensor blk.13.ffn_gate.input_scale +create_tensor: loading tensor blk.13.ffn_down.input_scale +create_tensor: loading tensor blk.13.ffn_up.input_scale +create_tensor: loading tensor blk.14.attn_output.scale +create_tensor: loading tensor blk.14.attn_qkv.scale +create_tensor: loading tensor blk.14.attn_gate.scale +create_tensor: loading tensor blk.14.ffn_gate.scale +create_tensor: loading tensor blk.14.ffn_down.scale +create_tensor: loading tensor blk.14.ffn_up.scale +create_tensor: loading tensor blk.14.attn_output.input_scale +create_tensor: loading tensor blk.14.attn_qkv.input_scale +create_tensor: loading tensor blk.14.attn_gate.input_scale +create_tensor: loading tensor blk.14.ffn_gate.input_scale +create_tensor: loading tensor blk.14.ffn_down.input_scale +create_tensor: loading tensor blk.14.ffn_up.input_scale +create_tensor: loading tensor blk.15.attn_output.scale +create_tensor: loading tensor blk.15.attn_qkv.scale +create_tensor: loading tensor blk.15.attn_gate.scale +create_tensor: loading tensor blk.15.ffn_gate.scale +create_tensor: loading tensor blk.15.ffn_down.scale +create_tensor: loading tensor blk.15.ffn_up.scale +create_tensor: loading tensor blk.15.attn_output.input_scale +create_tensor: loading tensor blk.15.attn_qkv.input_scale +create_tensor: loading tensor blk.15.attn_gate.input_scale +create_tensor: loading tensor blk.15.ffn_gate.input_scale +create_tensor: loading tensor blk.15.ffn_down.input_scale +create_tensor: loading tensor blk.15.ffn_up.input_scale +create_tensor: loading tensor blk.16.attn_output.scale +create_tensor: loading tensor blk.16.attn_qkv.scale +create_tensor: loading tensor blk.16.attn_gate.scale +create_tensor: loading tensor blk.16.ffn_gate.scale +create_tensor: loading tensor blk.16.ffn_down.scale +create_tensor: loading tensor blk.16.ffn_up.scale +create_tensor: loading tensor blk.16.attn_output.input_scale +create_tensor: loading tensor blk.16.attn_qkv.input_scale +create_tensor: loading tensor blk.16.attn_gate.input_scale +create_tensor: loading tensor blk.16.ffn_gate.input_scale +create_tensor: loading tensor blk.16.ffn_down.input_scale +create_tensor: loading tensor blk.16.ffn_up.input_scale +create_tensor: loading tensor blk.17.attn_output.scale +create_tensor: loading tensor blk.17.attn_qkv.scale +create_tensor: loading tensor blk.17.attn_gate.scale +create_tensor: loading tensor blk.17.ffn_gate.scale +create_tensor: loading tensor blk.17.ffn_down.scale +create_tensor: loading tensor blk.17.ffn_up.scale +create_tensor: loading tensor blk.17.attn_output.input_scale +create_tensor: loading tensor blk.17.attn_qkv.input_scale +create_tensor: loading tensor blk.17.attn_gate.input_scale +create_tensor: loading tensor blk.17.ffn_gate.input_scale +create_tensor: loading tensor blk.17.ffn_down.input_scale +create_tensor: loading tensor blk.17.ffn_up.input_scale +create_tensor: loading tensor blk.18.attn_output.scale +create_tensor: loading tensor blk.18.attn_qkv.scale +create_tensor: loading tensor blk.18.attn_gate.scale +create_tensor: loading tensor blk.18.ffn_gate.scale +create_tensor: loading tensor blk.18.ffn_down.scale +create_tensor: loading tensor blk.18.ffn_up.scale +create_tensor: loading tensor blk.18.attn_output.input_scale +create_tensor: loading tensor blk.18.attn_qkv.input_scale +create_tensor: loading tensor blk.18.attn_gate.input_scale +create_tensor: loading tensor blk.18.ffn_gate.input_scale +create_tensor: loading tensor blk.18.ffn_down.input_scale +create_tensor: loading tensor blk.18.ffn_up.input_scale +create_tensor: loading tensor blk.19.attn_output.scale +create_tensor: loading tensor blk.19.attn_qkv.scale +create_tensor: loading tensor blk.19.attn_gate.scale +create_tensor: loading tensor blk.19.ffn_gate.scale +create_tensor: loading tensor blk.19.ffn_down.scale +create_tensor: loading tensor blk.19.ffn_up.scale +create_tensor: loading tensor blk.19.attn_output.input_scale +create_tensor: loading tensor blk.19.attn_qkv.input_scale +create_tensor: loading tensor blk.19.attn_gate.input_scale +create_tensor: loading tensor blk.19.ffn_gate.input_scale +create_tensor: loading tensor blk.19.ffn_down.input_scale +create_tensor: loading tensor blk.19.ffn_up.input_scale +create_tensor: loading tensor blk.20.attn_output.scale +create_tensor: loading tensor blk.20.attn_qkv.scale +create_tensor: loading tensor blk.20.attn_gate.scale +create_tensor: loading tensor blk.20.ffn_gate.scale +create_tensor: loading tensor blk.20.ffn_down.scale +create_tensor: loading tensor blk.20.ffn_up.scale +create_tensor: loading tensor blk.20.attn_output.input_scale +create_tensor: loading tensor blk.20.attn_qkv.input_scale +create_tensor: loading tensor blk.20.attn_gate.input_scale +create_tensor: loading tensor blk.20.ffn_gate.input_scale +create_tensor: loading tensor blk.20.ffn_down.input_scale +create_tensor: loading tensor blk.20.ffn_up.input_scale +create_tensor: loading tensor blk.21.attn_output.scale +create_tensor: loading tensor blk.21.attn_qkv.scale +create_tensor: loading tensor blk.21.attn_gate.scale +create_tensor: loading tensor blk.21.ffn_gate.scale +create_tensor: loading tensor blk.21.ffn_down.scale +create_tensor: loading tensor blk.21.ffn_up.scale +create_tensor: loading tensor blk.21.attn_output.input_scale +create_tensor: loading tensor blk.21.attn_qkv.input_scale +create_tensor: loading tensor blk.21.attn_gate.input_scale +create_tensor: loading tensor blk.21.ffn_gate.input_scale +create_tensor: loading tensor blk.21.ffn_down.input_scale +create_tensor: loading tensor blk.21.ffn_up.input_scale +create_tensor: loading tensor blk.22.attn_output.scale +create_tensor: loading tensor blk.22.attn_qkv.scale +create_tensor: loading tensor blk.22.attn_gate.scale +create_tensor: loading tensor blk.22.ffn_gate.scale +create_tensor: loading tensor blk.22.ffn_down.scale +create_tensor: loading tensor blk.22.ffn_up.scale +create_tensor: loading tensor blk.22.attn_output.input_scale +create_tensor: loading tensor blk.22.attn_qkv.input_scale +create_tensor: loading tensor blk.22.attn_gate.input_scale +create_tensor: loading tensor blk.22.ffn_gate.input_scale +create_tensor: loading tensor blk.22.ffn_down.input_scale +create_tensor: loading tensor blk.22.ffn_up.input_scale +create_tensor: loading tensor blk.23.attn_output.scale +create_tensor: loading tensor blk.23.attn_qkv.scale +create_tensor: loading tensor blk.23.attn_gate.scale +create_tensor: loading tensor blk.23.ffn_gate.scale +create_tensor: loading tensor blk.23.ffn_down.scale +create_tensor: loading tensor blk.23.ffn_up.scale +create_tensor: loading tensor blk.23.attn_output.input_scale +create_tensor: loading tensor blk.23.attn_qkv.input_scale +create_tensor: loading tensor blk.23.attn_gate.input_scale +create_tensor: loading tensor blk.23.ffn_gate.input_scale +create_tensor: loading tensor blk.23.ffn_down.input_scale +create_tensor: loading tensor blk.23.ffn_up.input_scale +create_tensor: loading tensor blk.24.attn_output.scale +create_tensor: loading tensor blk.24.attn_qkv.scale +create_tensor: loading tensor blk.24.attn_gate.scale +create_tensor: loading tensor blk.24.ffn_gate.scale +create_tensor: loading tensor blk.24.ffn_down.scale +create_tensor: loading tensor blk.24.ffn_up.scale +create_tensor: loading tensor blk.24.attn_output.input_scale +create_tensor: loading tensor blk.24.attn_qkv.input_scale +create_tensor: loading tensor blk.24.attn_gate.input_scale +create_tensor: loading tensor blk.24.ffn_gate.input_scale +create_tensor: loading tensor blk.24.ffn_down.input_scale +create_tensor: loading tensor blk.24.ffn_up.input_scale +create_tensor: loading tensor blk.25.attn_output.scale +create_tensor: loading tensor blk.25.attn_qkv.scale +create_tensor: loading tensor blk.25.attn_gate.scale +create_tensor: loading tensor blk.25.ffn_gate.scale +create_tensor: loading tensor blk.25.ffn_down.scale +create_tensor: loading tensor blk.25.ffn_up.scale +create_tensor: loading tensor blk.25.attn_output.input_scale +create_tensor: loading tensor blk.25.attn_qkv.input_scale +create_tensor: loading tensor blk.25.attn_gate.input_scale +create_tensor: loading tensor blk.25.ffn_gate.input_scale +create_tensor: loading tensor blk.25.ffn_down.input_scale +create_tensor: loading tensor blk.25.ffn_up.input_scale +create_tensor: loading tensor blk.26.attn_output.scale +create_tensor: loading tensor blk.26.attn_qkv.scale +create_tensor: loading tensor blk.26.attn_gate.scale +create_tensor: loading tensor blk.26.ffn_gate.scale +create_tensor: loading tensor blk.26.ffn_down.scale +create_tensor: loading tensor blk.26.ffn_up.scale +create_tensor: loading tensor blk.26.attn_output.input_scale +create_tensor: loading tensor blk.26.attn_qkv.input_scale +create_tensor: loading tensor blk.26.attn_gate.input_scale +create_tensor: loading tensor blk.26.ffn_gate.input_scale +create_tensor: loading tensor blk.26.ffn_down.input_scale +create_tensor: loading tensor blk.26.ffn_up.input_scale +create_tensor: loading tensor blk.27.attn_output.scale +create_tensor: loading tensor blk.27.attn_qkv.scale +create_tensor: loading tensor blk.27.attn_gate.scale +create_tensor: loading tensor blk.27.ffn_gate.scale +create_tensor: loading tensor blk.27.ffn_down.scale +create_tensor: loading tensor blk.27.ffn_up.scale +create_tensor: loading tensor blk.27.attn_output.input_scale +create_tensor: loading tensor blk.27.attn_qkv.input_scale +create_tensor: loading tensor blk.27.attn_gate.input_scale +create_tensor: loading tensor blk.27.ffn_gate.input_scale +create_tensor: loading tensor blk.27.ffn_down.input_scale +create_tensor: loading tensor blk.27.ffn_up.input_scale +load_tensors: offloading output layer to GPU +load_tensors: offloading 27 repeating layers to GPU +load_tensors: offloaded 29/29 layers to GPU +load_tensors: Vulkan1 model buffer size = 1051.02 MiB +load_tensors: Vulkan_Host model buffer size = 210.00 MiB +load_all_data: using async uploads for device Vulkan1, buffer type Vulkan1, backend Vulkan1 +....................................................................load_all_data: buffer type Vulkan_Host is not the default buffer type for device Vulkan0 for async uploads +. +llama_context: constructing llama_context +llama_context: n_seq_max = 1 +llama_context: n_ctx = 256 +llama_context: n_ctx_seq = 256 +llama_context: n_batch = 128 +llama_context: n_ubatch = 128 +llama_context: causal_attn = 1 +llama_context: flash_attn = auto +llama_context: kv_unified = false +llama_context: freq_base = 5000000.0 +llama_context: freq_scale = 1 +llama_context: n_rs_seq = 0 +llama_context: n_outputs_max = 128 +llama_context: n_outputs_max_per_seq = 1 +llama_context: n_ctx_seq (256) < n_ctx_train (1048576) -- the full capacity of the model will not be utilized +set_abort_callback: call +llama_context: Vulkan_Host output buffer size = 0.50 MiB +llama_kv_cache_iswa: creating non-SWA KV cache, size = 256 cells +llama_kv_cache: layer 0: filtered +llama_kv_cache: layer 1: filtered +llama_kv_cache: layer 2: filtered +llama_kv_cache: layer 3: dev = Vulkan1 +llama_kv_cache: layer 4: filtered +llama_kv_cache: layer 5: filtered +llama_kv_cache: layer 6: filtered +llama_kv_cache: layer 7: dev = Vulkan1 +llama_kv_cache: layer 8: filtered +llama_kv_cache: layer 9: filtered +llama_kv_cache: layer 10: filtered +llama_kv_cache: layer 11: dev = Vulkan1 +llama_kv_cache: layer 12: filtered +llama_kv_cache: layer 13: filtered +llama_kv_cache: layer 14: filtered +llama_kv_cache: layer 15: dev = Vulkan1 +llama_kv_cache: layer 16: filtered +llama_kv_cache: layer 17: filtered +llama_kv_cache: layer 18: filtered +llama_kv_cache: layer 19: dev = Vulkan1 +llama_kv_cache: layer 20: filtered +llama_kv_cache: layer 21: filtered +llama_kv_cache: layer 22: filtered +llama_kv_cache: layer 23: dev = Vulkan1 +llama_kv_cache: layer 24: filtered +llama_kv_cache: layer 25: filtered +llama_kv_cache: layer 26: filtered +llama_kv_cache: layer 27: dev = Vulkan1 +llama_kv_cache: Vulkan1 KV buffer size = 3.50 MiB +llama_kv_cache: size = 3.50 MiB ( 256 cells, 7 layers, 1/1 seqs), K (f16): 1.75 MiB, V (f16): 1.75 MiB +llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256 +llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256 +llama_kv_cache_iswa: creating SWA KV cache, size = 256 cells +llama_kv_cache: layer 0: dev = Vulkan1 +llama_kv_cache: layer 1: dev = Vulkan1 +llama_kv_cache: layer 2: dev = Vulkan1 +llama_kv_cache: layer 3: filtered +llama_kv_cache: layer 4: dev = Vulkan1 +llama_kv_cache: layer 5: dev = Vulkan1 +llama_kv_cache: layer 6: dev = Vulkan1 +llama_kv_cache: layer 7: filtered +llama_kv_cache: layer 8: dev = Vulkan1 +llama_kv_cache: layer 9: dev = Vulkan1 +llama_kv_cache: layer 10: dev = Vulkan1 +llama_kv_cache: layer 11: filtered +llama_kv_cache: layer 12: dev = Vulkan1 +llama_kv_cache: layer 13: dev = Vulkan1 +llama_kv_cache: layer 14: dev = Vulkan1 +llama_kv_cache: layer 15: filtered +llama_kv_cache: layer 16: dev = Vulkan1 +llama_kv_cache: layer 17: dev = Vulkan1 +llama_kv_cache: layer 18: dev = Vulkan1 +llama_kv_cache: layer 19: filtered +llama_kv_cache: layer 20: dev = Vulkan1 +llama_kv_cache: layer 21: dev = Vulkan1 +llama_kv_cache: layer 22: dev = Vulkan1 +llama_kv_cache: layer 23: filtered +llama_kv_cache: layer 24: dev = Vulkan1 +llama_kv_cache: layer 25: dev = Vulkan1 +llama_kv_cache: layer 26: dev = Vulkan1 +llama_kv_cache: layer 27: filtered +llama_kv_cache: Vulkan1 KV buffer size = 10.50 MiB +llama_kv_cache: size = 10.50 MiB ( 256 cells, 21 layers, 1/1 seqs), K (f16): 5.25 MiB, V (f16): 5.25 MiB +llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256 +llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256 +llama_context: enumerating backends +llama_context: backend_ptrs.size() = 2 +sched_reserve: reserving ... +sched_reserve: max_nodes = 1816 +sched_reserve: reserving full memory module +sched_reserve: worst-case: n_tokens = 128, n_seqs = 1, n_outputs = 1 +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: Flash Attention enabled +resolve_fused_ops: resolving fused DeepSeek V4 HC support: +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: fused DeepSeek V4 HC pre enabled +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: fused DeepSeek V4 HC comb enabled +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: fused DeepSeek V4 HC post enabled +graph_reserve: reserving a graph for ubatch with n_tokens = 128, n_seqs = 1, n_outputs = 128 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 128, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 128, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 128, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +graph_reserve: reserving a graph for ubatch with n_tokens = 128, n_seqs = 1, n_outputs = 128 +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 128, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 128, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 128, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 128, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 128, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 128, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +sched_reserve: Vulkan1 compute buffer size = 65.00 MiB +sched_reserve: Vulkan_Host compute buffer size = 2.13 MiB +sched_reserve: graph: nodes = 986, splits = 2, input objects = 4, input tensors = 9 +sched_reserve: reserve took 14.50 ms, sched copies = 1 +attach_threadpool: call +set_n_threads: n_threads = 12, n_threads_batch = 12 +set_n_threads: n_threads = 12, n_threads_batch = 12 +llama_perf_context_print: load time = 1192.43 ms +llama_perf_context_print: prompt eval time = 0.00 ms / 256 tokens ( 0.00 ms per token, inf tokens per second) +llama_perf_context_print: eval time = 0.00 ms / 1 runs ( 0.00 ms per token, inf tokens per second) +llama_perf_context_print: total time = 1280.33 ms / 257 tokens +llama_perf_context_print: graphs reused = 1 +~llama_context: Vulkan1 compute buffer size is 65.0000 MiB, matches expectation of 65.0000 MiB +~llama_context: Vulkan_Host compute buffer size is 2.1304 MiB, matches expectation of 2.1304 MiB +llama_context: constructing llama_context +llama_context: n_seq_max = 1 +llama_context: n_ctx = 256 +llama_context: n_ctx_seq = 256 +llama_context: n_batch = 32 +llama_context: n_ubatch = 32 +llama_context: causal_attn = 1 +llama_context: flash_attn = auto +llama_context: kv_unified = false +llama_context: freq_base = 5000000.0 +llama_context: freq_scale = 1 +llama_context: n_rs_seq = 0 +llama_context: n_outputs_max = 32 +llama_context: n_outputs_max_per_seq = 1 +llama_context: n_ctx_seq (256) < n_ctx_train (1048576) -- the full capacity of the model will not be utilized +set_abort_callback: call +llama_context: Vulkan_Host output buffer size = 0.50 MiB +llama_kv_cache_iswa: creating non-SWA KV cache, size = 256 cells +llama_kv_cache: layer 0: filtered +llama_kv_cache: layer 1: filtered +llama_kv_cache: layer 2: filtered +llama_kv_cache: layer 3: dev = Vulkan1 +llama_kv_cache: layer 4: filtered +llama_kv_cache: layer 5: filtered +llama_kv_cache: layer 6: filtered +llama_kv_cache: layer 7: dev = Vulkan1 +llama_kv_cache: layer 8: filtered +llama_kv_cache: layer 9: filtered +llama_kv_cache: layer 10: filtered +llama_kv_cache: layer 11: dev = Vulkan1 +llama_kv_cache: layer 12: filtered +llama_kv_cache: layer 13: filtered +llama_kv_cache: layer 14: filtered +llama_kv_cache: layer 15: dev = Vulkan1 +llama_kv_cache: layer 16: filtered +llama_kv_cache: layer 17: filtered +llama_kv_cache: layer 18: filtered +llama_kv_cache: layer 19: dev = Vulkan1 +llama_kv_cache: layer 20: filtered +llama_kv_cache: layer 21: filtered +llama_kv_cache: layer 22: filtered +llama_kv_cache: layer 23: dev = Vulkan1 +llama_kv_cache: layer 24: filtered +llama_kv_cache: layer 25: filtered +llama_kv_cache: layer 26: filtered +llama_kv_cache: layer 27: dev = Vulkan1 +llama_kv_cache: Vulkan1 KV buffer size = 3.50 MiB +llama_kv_cache: size = 3.50 MiB ( 256 cells, 7 layers, 1/1 seqs), K (f16): 1.75 MiB, V (f16): 1.75 MiB +llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256 +llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256 +llama_kv_cache_iswa: creating SWA KV cache, size = 256 cells +llama_kv_cache: layer 0: dev = Vulkan1 +llama_kv_cache: layer 1: dev = Vulkan1 +llama_kv_cache: layer 2: dev = Vulkan1 +llama_kv_cache: layer 3: filtered +llama_kv_cache: layer 4: dev = Vulkan1 +llama_kv_cache: layer 5: dev = Vulkan1 +llama_kv_cache: layer 6: dev = Vulkan1 +llama_kv_cache: layer 7: filtered +llama_kv_cache: layer 8: dev = Vulkan1 +llama_kv_cache: layer 9: dev = Vulkan1 +llama_kv_cache: layer 10: dev = Vulkan1 +llama_kv_cache: layer 11: filtered +llama_kv_cache: layer 12: dev = Vulkan1 +llama_kv_cache: layer 13: dev = Vulkan1 +llama_kv_cache: layer 14: dev = Vulkan1 +llama_kv_cache: layer 15: filtered +llama_kv_cache: layer 16: dev = Vulkan1 +llama_kv_cache: layer 17: dev = Vulkan1 +llama_kv_cache: layer 18: dev = Vulkan1 +llama_kv_cache: layer 19: filtered +llama_kv_cache: layer 20: dev = Vulkan1 +llama_kv_cache: layer 21: dev = Vulkan1 +llama_kv_cache: layer 22: dev = Vulkan1 +llama_kv_cache: layer 23: filtered +llama_kv_cache: layer 24: dev = Vulkan1 +llama_kv_cache: layer 25: dev = Vulkan1 +llama_kv_cache: layer 26: dev = Vulkan1 +llama_kv_cache: layer 27: filtered +llama_kv_cache: Vulkan1 KV buffer size = 10.50 MiB +llama_kv_cache: size = 10.50 MiB ( 256 cells, 21 layers, 1/1 seqs), K (f16): 5.25 MiB, V (f16): 5.25 MiB +llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256 +llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256 +llama_context: enumerating backends +llama_context: backend_ptrs.size() = 2 +sched_reserve: reserving ... +sched_reserve: max_nodes = 1816 +sched_reserve: reserving full memory module +sched_reserve: worst-case: n_tokens = 32, n_seqs = 1, n_outputs = 1 +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: Flash Attention enabled +resolve_fused_ops: resolving fused DeepSeek V4 HC support: +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: fused DeepSeek V4 HC pre enabled +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: fused DeepSeek V4 HC comb enabled +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +resolve_fused_ops: fused DeepSeek V4 HC post enabled +graph_reserve: reserving a graph for ubatch with n_tokens = 32, n_seqs = 1, n_outputs = 32 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 32, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 32, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 32, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +graph_reserve: reserving a graph for ubatch with n_tokens = 1, n_seqs = 1, n_outputs = 1 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 1, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 1, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 1, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 1, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 1, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +graph_reserve: reserving a graph for ubatch with n_tokens = 32, n_seqs = 1, n_outputs = 32 +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_124' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_264' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_404' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_544' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_684' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_824' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_964' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' inp_tokens' [i32, ne = { 32, 1, 1, 1 }] is used by node 'embd' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-0' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-1' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-2' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-3' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-4' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-5' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-6' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-7' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-8' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-9' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-10' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-11' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-12' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-13' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-14' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-15' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-16' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-17' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-18' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-19' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-20' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-21' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-22' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-23' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-24' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-25' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-26' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Qcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' inp_pos' [i32, ne = { 32, 1, 1, 1 }] is used by node 'Kcur_rope-27' (ROPE) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l0 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l1 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l2 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l4 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l5 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l6 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l8 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l9 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l10 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l12 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l13 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l14 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l16 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l17 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l18 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l20 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l21 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l22 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l24 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l25 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l26 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_k_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_k_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_19' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_54' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_89' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_159' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_194' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_229' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_299' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_334' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_369' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_439' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_474' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_509' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_579' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_614' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_649' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_719' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_754' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_789' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_859' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_894' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_kq_mask' [f16, ne = { 256, 32, 1, 1 }] is used by node 'node_929' (FLASH_ATTN_EXT) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l3 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l7 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l11 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l15 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l19 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l23 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' attn_inp_v_idxs' [i64, ne = { 32, 1, 1, 1 }] is used by node 'cache_v_l27 (view)' (SET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 32, 1, 1, 1 }] is used by node 'node_973' (GET_ROWS) +llama_graph_n_input_tensors: input tensor ' out_ids' [i32, ne = { 32, 1, 1, 1 }] is used by node 'node_974' (GET_ROWS) +sched_reserve: Vulkan1 compute buffer size = 16.25 MiB +sched_reserve: Vulkan_Host compute buffer size = 0.53 MiB +sched_reserve: graph: nodes = 986, splits = 2, input objects = 4, input tensors = 9 +sched_reserve: reserve took 29.43 ms, sched copies = 1 +attach_threadpool: call +set_n_threads: n_threads = 12, n_threads_batch = 12 +set_n_threads: n_threads = 12, n_threads_batch = 12 +llama_perf_context_print: load time = 1341.05 ms +llama_perf_context_print: prompt eval time = 0.00 ms / 1 tokens ( 0.00 ms per token, inf tokens per second) +llama_perf_context_print: eval time = 0.00 ms / 33 runs ( 0.00 ms per token, inf tokens per second) +llama_perf_context_print: total time = 1849.11 ms / 34 tokens +llama_perf_context_print: graphs reused = 32 +~llama_context: Vulkan1 compute buffer size is 16.2500 MiB, matches expectation of 16.2500 MiB +~llama_context: Vulkan_Host compute buffer size is 0.5326 MiB, matches expectation of 0.5326 MiB diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_single_20260923.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_single_20260923.log new file mode 100644 index 000000000..045dd1272 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_q4km_single_20260923.log @@ -0,0 +1,36 @@ + + +Loading model... + +▄▄ ▄▄ +██ ██ +██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄ +██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██ +██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀ + ██ ██ + ▀▀ ▀▀ + +build : b11124-1a679828f +model : C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf +ftype : Q4_K - Medium +modalities : text + +available commands: + /exit or Ctrl+C stop or exit + /regen regenerate the last response + /clear clear the chat history + /read add a text file + /glob add text files using globbing pattern + + + +> What is the capital of France? Answer in one word. + +[Start thinking] + +We are asked: "What is the capital of France? Answer in one word." So the answer should be a single word: "Paris". But we need to output just the word? The instruction says "Answer in one word." So we should output "Paris". But let's make sure: The capital of France + +[ Prompt: 13.5 t/s | Generation: 57.7 t/s ] + + +Exiting... diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_20260923.err.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_20260923.err.log new file mode 100644 index 000000000..e00561be3 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_20260923.err.log @@ -0,0 +1,388 @@ +0.00.000.801 I srv llama_server: initializing ... +0.00.588.250 I cmn common_param: common_params_print_info: verbosity = 3 (adjust with the `-lv N` CLI arg) +0.00.588.396 I srv init_listene: The UI is disabled +0.00.588.397 I srv init_listene: Use --ui/--no-ui (or deprecated --webui/--no-webui) to enable/disable +0.00.588.458 W srv llama_server: security: no API key is set and CORS allows all origins (see https://github.com/ggml-org/llama.cpp/pull/25655) +0.00.603.434 I srv load_model: loading model 'C:\Users\zhout\w2\models\Spark-X2.5-1.7B-Q4_K_M.gguf' +0.02.545.243 I cmn init: llama threadpool init, n_threads = 12 +0.05.505.041 I srv load_model: initializing, n_slots = 1, n_ctx_slot = 4096, kv_unified = 'false' +0.05.529.021 W srv init: chat template supports preserving reasoning, it is enabled by default (may use more tokens, disable via --no-reasoning-preserve) +0.05.529.060 I srv llama_server: model loaded +0.05.529.101 I srv llama_server: listening on http://127.0.0.1:18173 +0.16.873.186 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = -1 +0.16.873.261 I slot launch_slot_: id 0 | task 0 | processing task, is_child = 0 +0.19.089.882 I slot print_timing: id 0 | task 0 | prompt eval time = 2196.02 ms / 28 tokens ( 78.43 ms per token, 12.75 tokens per second) +0.19.089.896 I slot print_timing: id 0 | task 0 | eval time = 20.53 ms / 2 tokens ( 20.53 ms per token, 48.70 tokens per second) +0.19.089.898 I slot print_timing: id 0 | task 0 | total time = 2216.55 ms / 30 tokens +0.19.089.900 I slot print_timing: id 0 | task 0 | graphs reused = 1 +0.19.089.950 I slot release: id 0 | task 0 | stop processing: n_tokens = 29, truncated = 0 +0.26.456.765 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = 18538781 +0.26.560.412 I slot launch_slot_: id 0 | task 5 | processing task, is_child = 0 +0.30.378.510 I slot print_timing: id 0 | task 5 | prompt processing, n_tokens = 1940, progress = 0.79, t = 3.82 s / 508.12 tokens per second +0.30.854.818 I slot print_timing: id 0 | task 5 | prompt processing, n_tokens = 2452, progress = 1.00, t = 4.29 s / 570.99 tokens per second +0.31.482.753 I slot print_timing: id 0 | task 5 | prompt eval time = 4845.13 ms / 2456 tokens ( 1.97 ms per token, 506.90 tokens per second) +0.31.482.766 I slot print_timing: id 0 | task 5 | eval time = 77.15 ms / 5 tokens ( 19.29 ms per token, 51.85 tokens per second) +0.31.482.768 I slot print_timing: id 0 | task 5 | total time = 4922.28 ms / 2461 tokens +0.31.482.770 I slot print_timing: id 0 | task 5 | graphs reused = 4 +0.31.482.900 I slot release: id 0 | task 5 | stop processing: n_tokens = 2469, truncated = 0 +2.30.021.779 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.429 (> 0.100 thold), f_keep = 0.005 +2.30.410.526 I slot launch_slot_: id 0 | task 14 | processing task, is_child = 0 +2.30.484.767 I slot print_timing: id 0 | task 14 | prompt eval time = 55.17 ms / 5 tokens ( 11.04 ms per token, 90.62 tokens per second) +2.30.484.773 I slot print_timing: id 0 | task 14 | eval time = 19.03 ms / 2 tokens ( 19.03 ms per token, 52.54 tokens per second) +2.30.484.775 I slot print_timing: id 0 | task 14 | total time = 74.21 ms / 7 tokens +2.30.484.776 I slot print_timing: id 0 | task 14 | graphs reused = 4 +2.30.484.806 I slot release: id 0 | task 14 | stop processing: n_tokens = 29, truncated = 0 +2.30.506.319 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = 149933637 +2.30.525.022 I slot launch_slot_: id 0 | task 18 | processing task, is_child = 0 +2.31.263.314 I slot print_timing: id 0 | task 18 | prompt eval time = 664.25 ms / 515 tokens ( 1.29 ms per token, 775.32 tokens per second) +2.31.263.323 I slot print_timing: id 0 | task 18 | eval time = 74.02 ms / 5 tokens ( 18.50 ms per token, 54.04 tokens per second) +2.31.263.324 I slot print_timing: id 0 | task 18 | total time = 738.26 ms / 520 tokens +2.31.263.325 I slot print_timing: id 0 | task 18 | graphs reused = 7 +2.31.263.387 I slot release: id 0 | task 18 | stop processing: n_tokens = 2467, truncated = 0 +2.31.294.713 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.429 (> 0.100 thold), f_keep = 0.005 +2.31.676.391 I slot launch_slot_: id 0 | task 25 | processing task, is_child = 0 +2.31.748.802 I slot print_timing: id 0 | task 25 | prompt eval time = 53.94 ms / 5 tokens ( 10.79 ms per token, 92.70 tokens per second) +2.31.748.810 I slot print_timing: id 0 | task 25 | eval time = 18.43 ms / 2 tokens ( 18.43 ms per token, 54.25 tokens per second) +2.31.748.811 I slot print_timing: id 0 | task 25 | total time = 72.37 ms / 7 tokens +2.31.748.812 I slot print_timing: id 0 | task 25 | graphs reused = 7 +2.31.748.837 I slot release: id 0 | task 25 | stop processing: n_tokens = 29, truncated = 0 +2.31.781.216 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.31.781.384 I slot launch_slot_: id 0 | task 29 | processing task, is_child = 0 +2.31.847.648 I slot print_timing: id 0 | task 29 | prompt eval time = 49.01 ms / 5 tokens ( 9.80 ms per token, 102.02 tokens per second) +2.31.847.654 I slot print_timing: id 0 | task 29 | eval time = 17.23 ms / 2 tokens ( 17.23 ms per token, 58.02 tokens per second) +2.31.847.656 I slot print_timing: id 0 | task 29 | total time = 66.25 ms / 7 tokens +2.31.847.657 I slot print_timing: id 0 | task 29 | graphs reused = 7 +2.31.847.682 I slot release: id 0 | task 29 | stop processing: n_tokens = 29, truncated = 0 +2.31.876.772 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.31.876.937 I slot launch_slot_: id 0 | task 33 | processing task, is_child = 0 +2.31.946.556 I slot print_timing: id 0 | task 33 | prompt eval time = 50.89 ms / 5 tokens ( 10.18 ms per token, 98.25 tokens per second) +2.31.946.562 I slot print_timing: id 0 | task 33 | eval time = 18.71 ms / 2 tokens ( 18.71 ms per token, 53.44 tokens per second) +2.31.946.563 I slot print_timing: id 0 | task 33 | total time = 69.60 ms / 7 tokens +2.31.946.564 I slot print_timing: id 0 | task 33 | graphs reused = 7 +2.31.946.591 I slot release: id 0 | task 33 | stop processing: n_tokens = 29, truncated = 0 +2.31.967.053 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.31.967.236 I slot launch_slot_: id 0 | task 37 | processing task, is_child = 0 +2.32.036.531 I slot print_timing: id 0 | task 37 | prompt eval time = 51.77 ms / 5 tokens ( 10.35 ms per token, 96.58 tokens per second) +2.32.036.539 I slot print_timing: id 0 | task 37 | eval time = 17.51 ms / 2 tokens ( 17.51 ms per token, 57.12 tokens per second) +2.32.036.541 I slot print_timing: id 0 | task 37 | total time = 69.28 ms / 7 tokens +2.32.036.542 I slot print_timing: id 0 | task 37 | graphs reused = 7 +2.32.036.571 I slot release: id 0 | task 37 | stop processing: n_tokens = 29, truncated = 0 +2.32.060.707 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.060.879 I slot launch_slot_: id 0 | task 41 | processing task, is_child = 0 +2.32.127.945 I slot print_timing: id 0 | task 41 | prompt eval time = 50.24 ms / 5 tokens ( 10.05 ms per token, 99.52 tokens per second) +2.32.127.952 I slot print_timing: id 0 | task 41 | eval time = 16.81 ms / 2 tokens ( 16.81 ms per token, 59.50 tokens per second) +2.32.127.953 I slot print_timing: id 0 | task 41 | total time = 67.05 ms / 7 tokens +2.32.127.954 I slot print_timing: id 0 | task 41 | graphs reused = 7 +2.32.127.980 I slot release: id 0 | task 41 | stop processing: n_tokens = 29, truncated = 0 +2.32.137.029 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.137.385 I slot launch_slot_: id 0 | task 45 | processing task, is_child = 0 +2.32.205.397 I slot print_timing: id 0 | task 45 | prompt eval time = 50.61 ms / 5 tokens ( 10.12 ms per token, 98.79 tokens per second) +2.32.205.408 I slot print_timing: id 0 | task 45 | eval time = 17.37 ms / 2 tokens ( 17.37 ms per token, 57.58 tokens per second) +2.32.205.410 I slot print_timing: id 0 | task 45 | total time = 67.98 ms / 7 tokens +2.32.205.413 I slot print_timing: id 0 | task 45 | graphs reused = 7 +2.32.205.452 I slot release: id 0 | task 45 | stop processing: n_tokens = 29, truncated = 0 +2.32.235.765 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.235.955 I slot launch_slot_: id 0 | task 49 | processing task, is_child = 0 +2.32.305.291 I slot print_timing: id 0 | task 49 | prompt eval time = 51.99 ms / 5 tokens ( 10.40 ms per token, 96.17 tokens per second) +2.32.305.299 I slot print_timing: id 0 | task 49 | eval time = 17.32 ms / 2 tokens ( 17.32 ms per token, 57.72 tokens per second) +2.32.305.300 I slot print_timing: id 0 | task 49 | total time = 69.31 ms / 7 tokens +2.32.305.301 I slot print_timing: id 0 | task 49 | graphs reused = 7 +2.32.305.332 I slot release: id 0 | task 49 | stop processing: n_tokens = 29, truncated = 0 +2.32.330.005 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.330.166 I slot launch_slot_: id 0 | task 53 | processing task, is_child = 0 +2.32.397.935 I slot print_timing: id 0 | task 53 | prompt eval time = 51.05 ms / 5 tokens ( 10.21 ms per token, 97.94 tokens per second) +2.32.397.943 I slot print_timing: id 0 | task 53 | eval time = 16.70 ms / 2 tokens ( 16.70 ms per token, 59.89 tokens per second) +2.32.397.944 I slot print_timing: id 0 | task 53 | total time = 67.75 ms / 7 tokens +2.32.397.945 I slot print_timing: id 0 | task 53 | graphs reused = 7 +2.32.397.974 I slot release: id 0 | task 53 | stop processing: n_tokens = 29, truncated = 0 +2.32.426.051 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.426.493 I slot launch_slot_: id 0 | task 57 | processing task, is_child = 0 +2.32.494.098 I slot print_timing: id 0 | task 57 | prompt eval time = 49.13 ms / 5 tokens ( 9.83 ms per token, 101.77 tokens per second) +2.32.494.107 I slot print_timing: id 0 | task 57 | eval time = 18.45 ms / 2 tokens ( 18.45 ms per token, 54.21 tokens per second) +2.32.494.108 I slot print_timing: id 0 | task 57 | total time = 67.58 ms / 7 tokens +2.32.494.109 I slot print_timing: id 0 | task 57 | graphs reused = 7 +2.32.494.137 I slot release: id 0 | task 57 | stop processing: n_tokens = 29, truncated = 0 +2.32.523.126 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.523.318 I slot launch_slot_: id 0 | task 61 | processing task, is_child = 0 +2.32.594.390 I slot print_timing: id 0 | task 61 | prompt eval time = 52.82 ms / 5 tokens ( 10.56 ms per token, 94.66 tokens per second) +2.32.594.399 I slot print_timing: id 0 | task 61 | eval time = 18.23 ms / 2 tokens ( 18.23 ms per token, 54.85 tokens per second) +2.32.594.400 I slot print_timing: id 0 | task 61 | total time = 71.05 ms / 7 tokens +2.32.594.401 I slot print_timing: id 0 | task 61 | graphs reused = 7 +2.32.594.427 I slot release: id 0 | task 61 | stop processing: n_tokens = 29, truncated = 0 +2.32.605.360 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.605.532 I slot launch_slot_: id 0 | task 65 | processing task, is_child = 0 +2.32.672.476 I slot print_timing: id 0 | task 65 | prompt eval time = 48.62 ms / 5 tokens ( 9.72 ms per token, 102.83 tokens per second) +2.32.672.483 I slot print_timing: id 0 | task 65 | eval time = 18.30 ms / 2 tokens ( 18.30 ms per token, 54.63 tokens per second) +2.32.672.484 I slot print_timing: id 0 | task 65 | total time = 66.93 ms / 7 tokens +2.32.672.485 I slot print_timing: id 0 | task 65 | graphs reused = 7 +2.32.672.510 I slot release: id 0 | task 65 | stop processing: n_tokens = 29, truncated = 0 +2.32.695.796 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.696.137 I slot launch_slot_: id 0 | task 69 | processing task, is_child = 0 +2.32.766.845 I slot print_timing: id 0 | task 69 | prompt eval time = 52.34 ms / 5 tokens ( 10.47 ms per token, 95.53 tokens per second) +2.32.766.854 I slot print_timing: id 0 | task 69 | eval time = 18.33 ms / 2 tokens ( 18.33 ms per token, 54.56 tokens per second) +2.32.766.855 I slot print_timing: id 0 | task 69 | total time = 70.66 ms / 7 tokens +2.32.766.856 I slot print_timing: id 0 | task 69 | graphs reused = 7 +2.32.766.879 I slot release: id 0 | task 69 | stop processing: n_tokens = 29, truncated = 0 +2.32.789.399 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.789.570 I slot launch_slot_: id 0 | task 73 | processing task, is_child = 0 +2.32.859.910 I slot print_timing: id 0 | task 73 | prompt eval time = 52.30 ms / 5 tokens ( 10.46 ms per token, 95.60 tokens per second) +2.32.859.918 I slot print_timing: id 0 | task 73 | eval time = 18.02 ms / 2 tokens ( 18.02 ms per token, 55.50 tokens per second) +2.32.859.919 I slot print_timing: id 0 | task 73 | total time = 70.32 ms / 7 tokens +2.32.859.920 I slot print_timing: id 0 | task 73 | graphs reused = 7 +2.32.859.948 I slot release: id 0 | task 73 | stop processing: n_tokens = 29, truncated = 0 +2.32.869.835 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.870.031 I slot launch_slot_: id 0 | task 77 | processing task, is_child = 0 +2.32.937.715 I slot print_timing: id 0 | task 77 | prompt eval time = 49.62 ms / 5 tokens ( 9.93 ms per token, 100.76 tokens per second) +2.32.937.722 I slot print_timing: id 0 | task 77 | eval time = 18.04 ms / 2 tokens ( 18.04 ms per token, 55.44 tokens per second) +2.32.937.723 I slot print_timing: id 0 | task 77 | total time = 67.66 ms / 7 tokens +2.32.937.724 I slot print_timing: id 0 | task 77 | graphs reused = 7 +2.32.937.746 I slot release: id 0 | task 77 | stop processing: n_tokens = 29, truncated = 0 +2.32.964.108 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.32.964.318 I slot launch_slot_: id 0 | task 81 | processing task, is_child = 0 +2.33.033.277 I slot print_timing: id 0 | task 81 | prompt eval time = 49.60 ms / 5 tokens ( 9.92 ms per token, 100.80 tokens per second) +2.33.033.312 I slot print_timing: id 0 | task 81 | eval time = 19.33 ms / 2 tokens ( 19.33 ms per token, 51.73 tokens per second) +2.33.033.316 I slot print_timing: id 0 | task 81 | total time = 68.93 ms / 7 tokens +2.33.033.319 I slot print_timing: id 0 | task 81 | graphs reused = 7 +2.33.033.376 I slot release: id 0 | task 81 | stop processing: n_tokens = 29, truncated = 0 +2.33.063.351 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.33.063.543 I slot launch_slot_: id 0 | task 85 | processing task, is_child = 0 +2.33.132.992 I slot print_timing: id 0 | task 85 | prompt eval time = 51.96 ms / 5 tokens ( 10.39 ms per token, 96.22 tokens per second) +2.33.132.999 I slot print_timing: id 0 | task 85 | eval time = 17.47 ms / 2 tokens ( 17.47 ms per token, 57.25 tokens per second) +2.33.133.000 I slot print_timing: id 0 | task 85 | total time = 69.43 ms / 7 tokens +2.33.133.001 I slot print_timing: id 0 | task 85 | graphs reused = 7 +2.33.133.030 I slot release: id 0 | task 85 | stop processing: n_tokens = 29, truncated = 0 +2.33.152.112 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.33.152.276 I slot launch_slot_: id 0 | task 89 | processing task, is_child = 0 +2.33.222.945 I slot print_timing: id 0 | task 89 | prompt eval time = 52.77 ms / 5 tokens ( 10.55 ms per token, 94.75 tokens per second) +2.33.222.952 I slot print_timing: id 0 | task 89 | eval time = 17.88 ms / 2 tokens ( 17.88 ms per token, 55.92 tokens per second) +2.33.222.953 I slot print_timing: id 0 | task 89 | total time = 70.65 ms / 7 tokens +2.33.222.954 I slot print_timing: id 0 | task 89 | graphs reused = 7 +2.33.222.979 I slot release: id 0 | task 89 | stop processing: n_tokens = 29, truncated = 0 +2.33.246.947 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.33.247.331 I slot launch_slot_: id 0 | task 93 | processing task, is_child = 0 +2.33.315.202 I slot print_timing: id 0 | task 93 | prompt eval time = 50.52 ms / 5 tokens ( 10.10 ms per token, 98.98 tokens per second) +2.33.315.208 I slot print_timing: id 0 | task 93 | eval time = 17.33 ms / 2 tokens ( 17.33 ms per token, 57.69 tokens per second) +2.33.315.210 I slot print_timing: id 0 | task 93 | total time = 67.85 ms / 7 tokens +2.33.315.211 I slot print_timing: id 0 | task 93 | graphs reused = 7 +2.33.315.234 I slot release: id 0 | task 93 | stop processing: n_tokens = 29, truncated = 0 +2.33.339.108 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.33.339.279 I slot launch_slot_: id 0 | task 97 | processing task, is_child = 0 +2.33.407.789 I slot print_timing: id 0 | task 97 | prompt eval time = 50.54 ms / 5 tokens ( 10.11 ms per token, 98.92 tokens per second) +2.33.407.798 I slot print_timing: id 0 | task 97 | eval time = 17.95 ms / 2 tokens ( 17.95 ms per token, 55.71 tokens per second) +2.33.407.800 I slot print_timing: id 0 | task 97 | total time = 68.49 ms / 7 tokens +2.33.407.801 I slot print_timing: id 0 | task 97 | graphs reused = 7 +2.33.407.830 I slot release: id 0 | task 97 | stop processing: n_tokens = 29, truncated = 0 +2.33.432.838 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.33.433.158 I slot launch_slot_: id 0 | task 101 | processing task, is_child = 0 +2.33.505.887 I slot print_timing: id 0 | task 101 | prompt eval time = 54.42 ms / 5 tokens ( 10.88 ms per token, 91.88 tokens per second) +2.33.505.902 I slot print_timing: id 0 | task 101 | eval time = 18.26 ms / 2 tokens ( 18.26 ms per token, 54.76 tokens per second) +2.33.505.904 I slot print_timing: id 0 | task 101 | total time = 72.68 ms / 7 tokens +2.33.505.905 I slot print_timing: id 0 | task 101 | graphs reused = 7 +2.33.505.949 I slot release: id 0 | task 101 | stop processing: n_tokens = 29, truncated = 0 +2.33.518.498 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.966 +2.33.518.797 I slot launch_slot_: id 0 | task 105 | processing task, is_child = 0 +2.33.590.480 I slot print_timing: id 0 | task 105 | prompt eval time = 53.77 ms / 5 tokens ( 10.75 ms per token, 92.99 tokens per second) +2.33.590.489 I slot print_timing: id 0 | task 105 | eval time = 17.89 ms / 2 tokens ( 17.89 ms per token, 55.89 tokens per second) +2.33.590.490 I slot print_timing: id 0 | task 105 | total time = 71.66 ms / 7 tokens +2.33.590.491 I slot print_timing: id 0 | task 105 | graphs reused = 7 +2.33.590.521 I slot release: id 0 | task 105 | stop processing: n_tokens = 29, truncated = 0 +2.50.259.814 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = 153039352 +2.50.505.888 I slot launch_slot_: id 0 | task 109 | processing task, is_child = 0 +2.52.637.757 I slot print_timing: id 0 | task 109 | prompt eval time = 2060.26 ms / 2465 tokens ( 0.84 ms per token, 1196.45 tokens per second) +2.52.637.764 I slot print_timing: id 0 | task 109 | eval time = 71.58 ms / 5 tokens ( 17.89 ms per token, 55.88 tokens per second) +2.52.637.765 I slot print_timing: id 0 | task 109 | total time = 2131.83 ms / 2470 tokens +2.52.637.766 I slot print_timing: id 0 | task 109 | graphs reused = 10 +2.52.637.805 I slot release: id 0 | task 109 | stop processing: n_tokens = 2469, truncated = 0 +3.16.232.385 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.429 (> 0.100 thold), f_keep = 0.005 +3.17.005.954 I slot launch_slot_: id 0 | task 118 | processing task, is_child = 0 +3.17.122.792 I slot print_timing: id 0 | task 118 | prompt eval time = 99.63 ms / 28 tokens ( 3.56 ms per token, 281.05 tokens per second) +3.17.122.798 I slot print_timing: id 0 | task 118 | eval time = 17.17 ms / 2 tokens ( 17.17 ms per token, 58.24 tokens per second) +3.17.122.800 I slot print_timing: id 0 | task 118 | total time = 116.80 ms / 30 tokens +3.17.122.800 I slot print_timing: id 0 | task 118 | graphs reused = 10 +3.17.122.825 I slot release: id 0 | task 118 | stop processing: n_tokens = 29, truncated = 0 +3.17.135.603 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = 196571656 +3.17.153.668 I slot launch_slot_: id 0 | task 123 | processing task, is_child = 0 +3.19.295.506 I slot print_timing: id 0 | task 123 | prompt eval time = 2067.70 ms / 2463 tokens ( 0.84 ms per token, 1191.18 tokens per second) +3.19.295.513 I slot print_timing: id 0 | task 123 | eval time = 74.11 ms / 5 tokens ( 18.53 ms per token, 53.98 tokens per second) +3.19.295.514 I slot print_timing: id 0 | task 123 | total time = 2141.81 ms / 2468 tokens +3.19.295.515 I slot print_timing: id 0 | task 123 | graphs reused = 13 +3.19.295.577 I slot release: id 0 | task 123 | stop processing: n_tokens = 2467, truncated = 0 +3.19.330.923 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.19.331.147 I slot launch_slot_: id 0 | task 132 | processing task, is_child = 0 +3.21.462.375 I slot print_timing: id 0 | task 132 | prompt eval time = 2059.94 ms / 2463 tokens ( 0.84 ms per token, 1195.67 tokens per second) +3.21.462.396 I slot print_timing: id 0 | task 132 | eval time = 71.26 ms / 5 tokens ( 17.81 ms per token, 56.14 tokens per second) +3.21.462.399 I slot print_timing: id 0 | task 132 | total time = 2131.19 ms / 2468 tokens +3.21.462.401 I slot print_timing: id 0 | task 132 | graphs reused = 16 +3.21.462.499 I slot release: id 0 | task 132 | stop processing: n_tokens = 2467, truncated = 0 +3.21.487.596 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.21.487.778 I slot launch_slot_: id 0 | task 141 | processing task, is_child = 0 +3.23.661.681 I slot print_timing: id 0 | task 141 | prompt eval time = 2100.03 ms / 2463 tokens ( 0.85 ms per token, 1172.84 tokens per second) +3.23.661.688 I slot print_timing: id 0 | task 141 | eval time = 73.85 ms / 5 tokens ( 18.46 ms per token, 54.16 tokens per second) +3.23.661.689 I slot print_timing: id 0 | task 141 | total time = 2173.88 ms / 2468 tokens +3.23.661.690 I slot print_timing: id 0 | task 141 | graphs reused = 19 +3.23.661.760 I slot release: id 0 | task 141 | stop processing: n_tokens = 2467, truncated = 0 +3.23.696.726 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.23.696.904 I slot launch_slot_: id 0 | task 150 | processing task, is_child = 0 +3.25.856.538 I slot print_timing: id 0 | task 150 | prompt eval time = 2086.02 ms / 2463 tokens ( 0.85 ms per token, 1180.72 tokens per second) +3.25.856.545 I slot print_timing: id 0 | task 150 | eval time = 73.59 ms / 5 tokens ( 18.40 ms per token, 54.36 tokens per second) +3.25.856.546 I slot print_timing: id 0 | task 150 | total time = 2159.61 ms / 2468 tokens +3.25.856.548 I slot print_timing: id 0 | task 150 | graphs reused = 22 +3.25.856.616 I slot release: id 0 | task 150 | stop processing: n_tokens = 2467, truncated = 0 +3.25.886.677 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.25.886.852 I slot launch_slot_: id 0 | task 159 | processing task, is_child = 0 +3.28.040.278 I slot print_timing: id 0 | task 159 | prompt eval time = 2081.08 ms / 2463 tokens ( 0.84 ms per token, 1183.52 tokens per second) +3.28.040.288 I slot print_timing: id 0 | task 159 | eval time = 72.32 ms / 5 tokens ( 18.08 ms per token, 55.31 tokens per second) +3.28.040.289 I slot print_timing: id 0 | task 159 | total time = 2153.40 ms / 2468 tokens +3.28.040.290 I slot print_timing: id 0 | task 159 | graphs reused = 25 +3.28.040.358 I slot release: id 0 | task 159 | stop processing: n_tokens = 2467, truncated = 0 +3.28.058.778 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.28.059.004 I slot launch_slot_: id 0 | task 168 | processing task, is_child = 0 +3.30.225.040 I slot print_timing: id 0 | task 168 | prompt eval time = 2089.74 ms / 2463 tokens ( 0.85 ms per token, 1178.62 tokens per second) +3.30.225.053 I slot print_timing: id 0 | task 168 | eval time = 76.26 ms / 5 tokens ( 19.07 ms per token, 52.45 tokens per second) +3.30.225.055 I slot print_timing: id 0 | task 168 | total time = 2166.00 ms / 2468 tokens +3.30.225.056 I slot print_timing: id 0 | task 168 | graphs reused = 28 +3.30.225.126 I slot release: id 0 | task 168 | stop processing: n_tokens = 2467, truncated = 0 +3.30.249.310 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.30.249.584 I slot launch_slot_: id 0 | task 177 | processing task, is_child = 0 +3.32.416.181 I slot print_timing: id 0 | task 177 | prompt eval time = 2097.21 ms / 2463 tokens ( 0.85 ms per token, 1174.42 tokens per second) +3.32.416.188 I slot print_timing: id 0 | task 177 | eval time = 69.37 ms / 5 tokens ( 17.34 ms per token, 57.66 tokens per second) +3.32.416.189 I slot print_timing: id 0 | task 177 | total time = 2166.58 ms / 2468 tokens +3.32.416.190 I slot print_timing: id 0 | task 177 | graphs reused = 31 +3.32.416.251 I slot release: id 0 | task 177 | stop processing: n_tokens = 2467, truncated = 0 +3.32.443.793 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.32.444.074 I slot launch_slot_: id 0 | task 186 | processing task, is_child = 0 +3.34.582.313 I slot print_timing: id 0 | task 186 | prompt eval time = 2065.17 ms / 2463 tokens ( 0.84 ms per token, 1192.64 tokens per second) +3.34.582.320 I slot print_timing: id 0 | task 186 | eval time = 73.05 ms / 5 tokens ( 18.26 ms per token, 54.76 tokens per second) +3.34.582.321 I slot print_timing: id 0 | task 186 | total time = 2138.21 ms / 2468 tokens +3.34.582.322 I slot print_timing: id 0 | task 186 | graphs reused = 34 +3.34.582.384 I slot release: id 0 | task 186 | stop processing: n_tokens = 2467, truncated = 0 +3.34.618.944 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.34.619.210 I slot launch_slot_: id 0 | task 195 | processing task, is_child = 0 +3.36.784.049 I slot print_timing: id 0 | task 195 | prompt eval time = 2088.51 ms / 2463 tokens ( 0.85 ms per token, 1179.31 tokens per second) +3.36.784.056 I slot print_timing: id 0 | task 195 | eval time = 76.30 ms / 5 tokens ( 19.07 ms per token, 52.43 tokens per second) +3.36.784.057 I slot print_timing: id 0 | task 195 | total time = 2164.81 ms / 2468 tokens +3.36.784.058 I slot print_timing: id 0 | task 195 | graphs reused = 37 +3.36.784.122 I slot release: id 0 | task 195 | stop processing: n_tokens = 2467, truncated = 0 +3.36.817.594 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.36.817.780 I slot launch_slot_: id 0 | task 204 | processing task, is_child = 0 +3.38.954.816 I slot print_timing: id 0 | task 204 | prompt eval time = 2063.18 ms / 2463 tokens ( 0.84 ms per token, 1193.79 tokens per second) +3.38.954.823 I slot print_timing: id 0 | task 204 | eval time = 73.84 ms / 5 tokens ( 18.46 ms per token, 54.17 tokens per second) +3.38.954.824 I slot print_timing: id 0 | task 204 | total time = 2137.02 ms / 2468 tokens +3.38.954.825 I slot print_timing: id 0 | task 204 | graphs reused = 40 +3.38.954.888 I slot release: id 0 | task 204 | stop processing: n_tokens = 2467, truncated = 0 +3.38.987.689 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.38.987.869 I slot launch_slot_: id 0 | task 213 | processing task, is_child = 0 +3.41.149.401 I slot print_timing: id 0 | task 213 | prompt eval time = 2088.78 ms / 2463 tokens ( 0.85 ms per token, 1179.16 tokens per second) +3.41.149.410 I slot print_timing: id 0 | task 213 | eval time = 72.73 ms / 5 tokens ( 18.18 ms per token, 54.99 tokens per second) +3.41.149.412 I slot print_timing: id 0 | task 213 | total time = 2161.52 ms / 2468 tokens +3.41.149.413 I slot print_timing: id 0 | task 213 | graphs reused = 43 +3.41.149.476 I slot release: id 0 | task 213 | stop processing: n_tokens = 2467, truncated = 0 +3.41.180.413 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.41.180.581 I slot launch_slot_: id 0 | task 222 | processing task, is_child = 0 +3.43.301.806 I slot print_timing: id 0 | task 222 | prompt eval time = 2050.16 ms / 2463 tokens ( 0.83 ms per token, 1201.37 tokens per second) +3.43.301.812 I slot print_timing: id 0 | task 222 | eval time = 71.04 ms / 5 tokens ( 17.76 ms per token, 56.30 tokens per second) +3.43.301.814 I slot print_timing: id 0 | task 222 | total time = 2121.21 ms / 2468 tokens +3.43.301.815 I slot print_timing: id 0 | task 222 | graphs reused = 46 +3.43.301.880 I slot release: id 0 | task 222 | stop processing: n_tokens = 2467, truncated = 0 +3.43.334.231 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.43.334.497 I slot launch_slot_: id 0 | task 231 | processing task, is_child = 0 +3.45.479.197 I slot print_timing: id 0 | task 231 | prompt eval time = 2074.01 ms / 2463 tokens ( 0.84 ms per token, 1187.55 tokens per second) +3.45.479.205 I slot print_timing: id 0 | task 231 | eval time = 70.67 ms / 5 tokens ( 17.67 ms per token, 56.60 tokens per second) +3.45.479.207 I slot print_timing: id 0 | task 231 | total time = 2144.68 ms / 2468 tokens +3.45.479.207 I slot print_timing: id 0 | task 231 | graphs reused = 49 +3.45.479.251 I slot release: id 0 | task 231 | stop processing: n_tokens = 2467, truncated = 0 +3.45.514.475 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.45.514.871 I slot launch_slot_: id 0 | task 240 | processing task, is_child = 0 +3.47.666.125 I slot print_timing: id 0 | task 240 | prompt eval time = 2079.71 ms / 2463 tokens ( 0.84 ms per token, 1184.30 tokens per second) +3.47.666.132 I slot print_timing: id 0 | task 240 | eval time = 71.51 ms / 5 tokens ( 17.88 ms per token, 55.94 tokens per second) +3.47.666.133 I slot print_timing: id 0 | task 240 | total time = 2151.22 ms / 2468 tokens +3.47.666.134 I slot print_timing: id 0 | task 240 | graphs reused = 52 +3.47.666.198 I slot release: id 0 | task 240 | stop processing: n_tokens = 2467, truncated = 0 +3.47.702.034 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.47.702.214 I slot launch_slot_: id 0 | task 249 | processing task, is_child = 0 +3.49.850.027 I slot print_timing: id 0 | task 249 | prompt eval time = 2078.09 ms / 2463 tokens ( 0.84 ms per token, 1185.22 tokens per second) +3.49.850.033 I slot print_timing: id 0 | task 249 | eval time = 69.71 ms / 5 tokens ( 17.43 ms per token, 57.38 tokens per second) +3.49.850.035 I slot print_timing: id 0 | task 249 | total time = 2147.80 ms / 2468 tokens +3.49.850.035 I slot print_timing: id 0 | task 249 | graphs reused = 55 +3.49.850.095 I slot release: id 0 | task 249 | stop processing: n_tokens = 2467, truncated = 0 +3.49.875.200 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.49.875.613 I slot launch_slot_: id 0 | task 258 | processing task, is_child = 0 +3.52.017.757 I slot print_timing: id 0 | task 258 | prompt eval time = 2067.63 ms / 2463 tokens ( 0.84 ms per token, 1191.22 tokens per second) +3.52.017.763 I slot print_timing: id 0 | task 258 | eval time = 74.49 ms / 5 tokens ( 18.62 ms per token, 53.70 tokens per second) +3.52.017.765 I slot print_timing: id 0 | task 258 | total time = 2142.11 ms / 2468 tokens +3.52.017.766 I slot print_timing: id 0 | task 258 | graphs reused = 58 +3.52.017.832 I slot release: id 0 | task 258 | stop processing: n_tokens = 2467, truncated = 0 +3.52.029.474 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.52.029.683 I slot launch_slot_: id 0 | task 267 | processing task, is_child = 0 +3.54.166.906 I slot print_timing: id 0 | task 267 | prompt eval time = 2066.09 ms / 2463 tokens ( 0.84 ms per token, 1192.11 tokens per second) +3.54.166.912 I slot print_timing: id 0 | task 267 | eval time = 71.11 ms / 5 tokens ( 17.78 ms per token, 56.25 tokens per second) +3.54.166.914 I slot print_timing: id 0 | task 267 | total time = 2137.20 ms / 2468 tokens +3.54.166.915 I slot print_timing: id 0 | task 267 | graphs reused = 61 +3.54.166.975 I slot release: id 0 | task 267 | stop processing: n_tokens = 2467, truncated = 0 +3.54.200.277 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.54.200.454 I slot launch_slot_: id 0 | task 276 | processing task, is_child = 0 +3.56.348.622 I slot print_timing: id 0 | task 276 | prompt eval time = 2073.38 ms / 2463 tokens ( 0.84 ms per token, 1187.92 tokens per second) +3.56.348.630 I slot print_timing: id 0 | task 276 | eval time = 74.77 ms / 5 tokens ( 18.69 ms per token, 53.50 tokens per second) +3.56.348.631 I slot print_timing: id 0 | task 276 | total time = 2148.15 ms / 2468 tokens +3.56.348.632 I slot print_timing: id 0 | task 276 | graphs reused = 64 +3.56.348.697 I slot release: id 0 | task 276 | stop processing: n_tokens = 2467, truncated = 0 +3.56.384.477 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.56.384.646 I slot launch_slot_: id 0 | task 285 | processing task, is_child = 0 +3.58.539.474 I slot print_timing: id 0 | task 285 | prompt eval time = 2083.22 ms / 2463 tokens ( 0.85 ms per token, 1182.30 tokens per second) +3.58.539.482 I slot print_timing: id 0 | task 285 | eval time = 71.59 ms / 5 tokens ( 17.90 ms per token, 55.88 tokens per second) +3.58.539.483 I slot print_timing: id 0 | task 285 | total time = 2154.81 ms / 2468 tokens +3.58.539.484 I slot print_timing: id 0 | task 285 | graphs reused = 67 +3.58.539.552 I slot release: id 0 | task 285 | stop processing: n_tokens = 2467, truncated = 0 +3.58.551.461 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +3.58.551.747 I slot launch_slot_: id 0 | task 294 | processing task, is_child = 0 +4.00.720.076 I slot print_timing: id 0 | task 294 | prompt eval time = 2091.43 ms / 2463 tokens ( 0.85 ms per token, 1177.67 tokens per second) +4.00.720.086 I slot print_timing: id 0 | task 294 | eval time = 76.88 ms / 5 tokens ( 19.22 ms per token, 52.03 tokens per second) +4.00.720.088 I slot print_timing: id 0 | task 294 | total time = 2168.30 ms / 2468 tokens +4.00.720.089 I slot print_timing: id 0 | task 294 | graphs reused = 70 +4.00.720.154 I slot release: id 0 | task 294 | stop processing: n_tokens = 2467, truncated = 0 +4.00.732.918 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +4.00.733.158 I slot launch_slot_: id 0 | task 303 | processing task, is_child = 0 +4.02.892.100 I slot print_timing: id 0 | task 303 | prompt eval time = 2087.92 ms / 2463 tokens ( 0.85 ms per token, 1179.64 tokens per second) +4.02.892.106 I slot print_timing: id 0 | task 303 | eval time = 71.00 ms / 5 tokens ( 17.75 ms per token, 56.34 tokens per second) +4.02.892.107 I slot print_timing: id 0 | task 303 | total time = 2158.92 ms / 2468 tokens +4.02.892.108 I slot print_timing: id 0 | task 303 | graphs reused = 73 +4.02.892.169 I slot release: id 0 | task 303 | stop processing: n_tokens = 2467, truncated = 0 +4.02.922.891 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +4.02.923.085 I slot launch_slot_: id 0 | task 312 | processing task, is_child = 0 +4.05.074.275 I slot print_timing: id 0 | task 312 | prompt eval time = 2077.90 ms / 2463 tokens ( 0.84 ms per token, 1185.33 tokens per second) +4.05.074.290 I slot print_timing: id 0 | task 312 | eval time = 73.25 ms / 5 tokens ( 18.31 ms per token, 54.61 tokens per second) +4.05.074.292 I slot print_timing: id 0 | task 312 | total time = 2151.16 ms / 2468 tokens +4.05.074.294 I slot print_timing: id 0 | task 312 | graphs reused = 76 +4.05.074.395 I slot release: id 0 | task 312 | stop processing: n_tokens = 2467, truncated = 0 +4.49.094.433 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.429 (> 0.100 thold), f_keep = 0.005 +4.49.500.550 I slot launch_slot_: id 0 | task 321 | processing task, is_child = 0 +4.49.619.376 I slot print_timing: id 0 | task 321 | prompt eval time = 100.54 ms / 28 tokens ( 3.59 ms per token, 278.49 tokens per second) +4.49.619.389 I slot print_timing: id 0 | task 321 | eval time = 18.23 ms / 2 tokens ( 18.23 ms per token, 54.84 tokens per second) +4.49.619.391 I slot print_timing: id 0 | task 321 | total time = 118.78 ms / 30 tokens +4.49.619.393 I slot print_timing: id 0 | task 321 | graphs reused = 76 +4.49.619.438 I slot release: id 0 | task 321 | stop processing: n_tokens = 29, truncated = 0 +4.49.644.166 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = 289068269 +4.49.662.392 I slot launch_slot_: id 0 | task 326 | processing task, is_child = 0 +4.51.785.841 I slot print_timing: id 0 | task 326 | prompt eval time = 2053.07 ms / 2463 tokens ( 0.83 ms per token, 1199.67 tokens per second) +4.51.785.848 I slot print_timing: id 0 | task 326 | eval time = 70.34 ms / 5 tokens ( 17.59 ms per token, 56.87 tokens per second) +4.51.785.849 I slot print_timing: id 0 | task 326 | total time = 2123.41 ms / 2468 tokens +4.51.785.850 I slot print_timing: id 0 | task 326 | graphs reused = 79 +4.51.785.912 I slot release: id 0 | task 326 | stop processing: n_tokens = 2467, truncated = 0 +4.51.815.045 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 1.000 (> 0.100 thold), f_keep = 0.998 +4.51.815.252 I slot launch_slot_: id 0 | task 335 | processing task, is_child = 0 +4.53.994.661 I slot print_timing: id 0 | task 335 | prompt eval time = 2104.71 ms / 2463 tokens ( 0.85 ms per token, 1170.23 tokens per second) +4.53.994.671 I slot print_timing: id 0 | task 335 | eval time = 74.68 ms / 5 tokens ( 18.67 ms per token, 53.56 tokens per second) +4.53.994.672 I slot print_timing: id 0 | task 335 | total time = 2179.39 ms / 2468 tokens +4.53.994.673 I slot print_timing: id 0 | task 335 | graphs reused = 82 +4.53.994.745 I slot release: id 0 | task 335 | stop processing: n_tokens = 2467, truncated = 0 +4.54.027.777 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.400 (> 0.100 thold), f_keep = 0.005 +4.54.411.656 I slot launch_slot_: id 0 | task 344 | processing task, is_child = 0 +4.54.538.040 W srv stop: cancel task, id_task = 344 +4.54.553.598 I slot release: id 0 | task 344 | stop processing: n_tokens = 32, truncated = 0 +4.54.553.624 I slot get_availabl: id 0 | task -1 | selected slot by LCP similarity, f_sim_best = 0.429 (> 0.100 thold), f_keep = 0.375 +4.54.568.422 I slot launch_slot_: id 0 | task 351 | processing task, is_child = 0 +4.54.685.918 I slot print_timing: id 0 | task 351 | prompt eval time = 99.32 ms / 28 tokens ( 3.55 ms per token, 281.92 tokens per second) +4.54.685.928 I slot print_timing: id 0 | task 351 | eval time = 18.13 ms / 2 tokens ( 18.13 ms per token, 55.16 tokens per second) +4.54.685.929 I slot print_timing: id 0 | task 351 | total time = 117.45 ms / 30 tokens +4.54.685.930 I slot print_timing: id 0 | task 351 | graphs reused = 83 +4.54.685.959 I slot release: id 0 | task 351 | stop processing: n_tokens = 29, truncated = 0 diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_cancel_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_cancel_20260923.json new file mode 100644 index 000000000..5ede5122d --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_cancel_20260923.json @@ -0,0 +1,101 @@ +{ + "scope": "Standalone llama.cpp full-model text path; no Omni stage binding", + "platform": "Windows-11-10.0.26200-SP0", + "model_path": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_sha256": "902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4", + "server": { + "endpoint": "http://127.0.0.1:18173", + "build_info": "b11124-1a679828f", + "model_alias": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_ftype": "Q4_K - Medium", + "total_slots": 1 + }, + "quality_checks": [ + { + "case": "short", + "wall_s": 0.5372719999868423, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.166346100042574, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "warmups": [], + "samples": [ + { + "case": "inventory_120", + "wall_s": 2.2086611000122502, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "cancellation": { + "first_delta": "1", + "stream_closed_after_first_content": true, + "first_delta_wall_s": 0.5234057001071051, + "recovery": { + "case": "short", + "wall_s": 0.16786349995527416, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + }, + "profile": { + "case": "inventory_120", + "cache_prompt": false, + "repeats": 1, + "concurrency": 1, + "p50_wall_s": 2.2086611000122502, + "p95_wall_s": 2.2086611000122502, + "min_wall_s": 2.2086611000122502, + "max_wall_s": 2.2086611000122502, + "cached_prompt_tokens": [ + 0 + ] + }, + "status": "passed" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_inventory_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_inventory_20260923.json new file mode 100644 index 000000000..086b2c7e8 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_inventory_20260923.json @@ -0,0 +1,36 @@ +{ + "choices": [ + { + "finish_reason": "stop", + "index": 0, + "message": { + "role": "assistant", + "content": "1511" + } + } + ], + "created": 1790160209, + "model": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "system_fingerprint": "b11124-1a679828f", + "object": "chat.completion", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2465, + "total_tokens": 2470, + "prompt_tokens_details": { + "cached_tokens": 9 + } + }, + "id": "chatcmpl-mCtMsGHw7erZQESvX4Fmh29LVtKo261I", + "timings": { + "cache_n": 9, + "prompt_n": 2456, + "prompt_ms": 4845.128, + "prompt_per_token_ms": 1.972771986970684, + "prompt_per_second": 506.9009528747228, + "predicted_n": 5, + "predicted_ms": 77.149, + "predicted_per_token_ms": 19.28725, + "predicted_per_second": 51.84772323685336 + } +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_inventory_profile20_nocache_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_inventory_profile20_nocache_20260923.json new file mode 100644 index 000000000..143e73e0b --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_inventory_profile20_nocache_20260923.json @@ -0,0 +1,420 @@ +{ + "scope": "Standalone llama.cpp full-model text path; no Omni stage binding", + "platform": "Windows-11-10.0.26200-SP0", + "model_path": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_sha256": "902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4", + "server": { + "endpoint": "http://127.0.0.1:18173", + "build_info": "b11124-1a679828f", + "model_alias": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_ftype": "Q4_K - Medium", + "total_slots": 1 + }, + "quality_checks": [ + { + "case": "short", + "wall_s": 0.9138094999361783, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.172446300042793, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "warmups": [ + { + "case": "inventory_120", + "wall_s": 2.1668586999876425, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "samples": [ + { + "case": "inventory_120", + "wall_s": 2.199468299979344, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.194800299941562, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.183633800013922, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.18500210007187, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.19071440002881, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.1662180999992415, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.201768200029619, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.170874699950218, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.194402000051923, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.15237570006866, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.1774167999392375, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.186952000018209, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.183857300085947, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.167893800069578, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.149119200068526, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.181731199962087, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.1910894999746233, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.180448899976909, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.171951900003478, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + }, + { + "case": "inventory_120", + "wall_s": 2.182072600000538, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 0 + } + } + } + ], + "profile": { + "case": "inventory_120", + "cache_prompt": false, + "repeats": 20, + "concurrency": 1, + "p50_wall_s": 2.182072600000538, + "p95_wall_s": 2.199468299979344, + "min_wall_s": 2.149119200068526, + "max_wall_s": 2.201768200029619, + "cached_prompt_tokens": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "status": "passed" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_profile20_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_profile20_20260923.json new file mode 100644 index 000000000..15f26b9a2 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_profile20_20260923.json @@ -0,0 +1,418 @@ +{ + "scope": "Standalone llama.cpp full-model text path; no Omni stage binding", + "platform": "Windows-11-10.0.26200-SP0", + "model_path": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_sha256": "902bde2522394954ac17821b3e5fd0df02defbc6944f122253f2580acf0503f4", + "server": { + "endpoint": "http://127.0.0.1:18173", + "build_info": "b11124-1a679828f", + "model_alias": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "model_ftype": "Q4_K - Medium", + "total_slots": 1 + }, + "quality_checks": [ + { + "case": "short", + "wall_s": 0.4887153999879956, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "inventory_120", + "wall_s": 0.7786927999695763, + "content": "1511", + "expected": "1511", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 5, + "prompt_tokens": 2463, + "total_tokens": 2468, + "prompt_tokens_details": { + "cached_tokens": 1948 + } + } + } + ], + "warmups": [ + { + "case": "short", + "wall_s": 0.48504260007757694, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + } + ], + "samples": [ + { + "case": "short", + "wall_s": 0.09932070004288107, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.0984904000069946, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09055399999488145, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09084180009085685, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.07738210004754364, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.10014190000947565, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09278060006909072, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09588450007140636, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.10041170008480549, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.07804280007258058, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09451030008494854, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09293620008975267, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.07760550000239164, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09585659997537732, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09953960007987916, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.08980209997389466, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09244449995458126, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09291470004245639, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.09785889997147024, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + }, + { + "case": "short", + "wall_s": 0.08484689996112138, + "content": "Paris", + "expected": "Paris", + "correct": true, + "finish_reason": "stop", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 23 + } + } + } + ], + "profile": { + "repeats": 20, + "concurrency": 1, + "p50_wall_s": 0.09291470004245639, + "p95_wall_s": 0.10014190000947565, + "min_wall_s": 0.07738210004754364, + "max_wall_s": 0.10041170008480549, + "cached_prompt_tokens": [ + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23 + ] + }, + "status": "passed" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_short_20260923.json b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_short_20260923.json new file mode 100644 index 000000000..707887ee1 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/spark_igpu_server_short_20260923.json @@ -0,0 +1,36 @@ +{ + "choices": [ + { + "finish_reason": "stop", + "index": 0, + "message": { + "role": "assistant", + "content": "Paris" + } + } + ], + "created": 1790160196, + "model": "C:\\Users\\zhout\\w2\\models\\Spark-X2.5-1.7B-Q4_K_M.gguf", + "system_fingerprint": "b11124-1a679828f", + "object": "chat.completion", + "usage": { + "completion_tokens": 2, + "prompt_tokens": 28, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0 + } + }, + "id": "chatcmpl-UjzKml8myD3dr9aDdN5xctZystb7iwut", + "timings": { + "cache_n": 0, + "prompt_n": 28, + "prompt_ms": 2196.018, + "prompt_per_token_ms": 78.42921428571428, + "prompt_per_second": 12.750350862333551, + "predicted_n": 2, + "predicted_ms": 20.534, + "predicted_per_token_ms": 20.534, + "predicted_per_second": 48.699717541638265 + } +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/vulkaninfo_summary.log b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/vulkaninfo_summary.log new file mode 100644 index 000000000..91041de9c --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/vulkaninfo_summary.log @@ -0,0 +1,65 @@ +WARNING: [Loader Message] Code 0 : windows_read_data_files_in_registry: Registry lookup failed to get layer manifest files. +========== +VULKANINFO +========== + +Vulkan Instance Version: 1.4.341 + + +Instance Extensions: count = 20 +------------------------------- +VK_EXT_debug_report : extension revision 10 +VK_EXT_debug_utils : extension revision 2 +VK_EXT_direct_mode_display : extension revision 1 +VK_EXT_surface_maintenance1 : extension revision 1 +VK_EXT_swapchain_colorspace : extension revision 5 +VK_KHR_device_group_creation : extension revision 1 +VK_KHR_display : extension revision 23 +VK_KHR_external_fence_capabilities : extension revision 1 +VK_KHR_external_memory_capabilities : extension revision 1 +VK_KHR_external_semaphore_capabilities : extension revision 1 +VK_KHR_get_display_properties2 : extension revision 1 +VK_KHR_get_physical_device_properties2 : extension revision 2 +VK_KHR_get_surface_capabilities2 : extension revision 1 +VK_KHR_portability_enumeration : extension revision 1 +VK_KHR_surface : extension revision 25 +VK_KHR_surface_maintenance1 : extension revision 1 +VK_KHR_surface_protected_capabilities : extension revision 1 +VK_KHR_win32_surface : extension revision 6 +VK_LUNARG_direct_driver_loading : extension revision 1 +VK_NV_external_memory_capabilities : extension revision 1 + +Instance Layers: count = 3 +-------------------------- +VK_LAYER_AMD_switchable_graphics AMD switchable graphics layer 1.4.320 version 1 +VK_LAYER_NV_optimus NVIDIA Optimus layer 1.4.341 version 1 +VK_LAYER_NV_present NVIDIA Presentation Layer 1.4.341 version 1 + +Devices: +======== +GPU0: + apiVersion = 1.4.341 + driverVersion = 610.71.0.0 + vendorID = 0x10de + deviceID = 0x2c18 + deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU + deviceName = NVIDIA GeForce RTX 5090 Laptop GPU + driverID = DRIVER_ID_NVIDIA_PROPRIETARY + driverName = NVIDIA + driverInfo = 610.71 + conformanceVersion = 1.4.3.3 + deviceUUID = bf6e910e-657c-15d7-c558-f169df134d8a + driverUUID = 32da8b74-b45b-55e0-9ba2-ab437d951f07 +GPU1: + apiVersion = 1.4.320 + driverVersion = 2.0.359 + vendorID = 0x1002 + deviceID = 0x150e + deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU + deviceName = AMD Radeon(TM) 890M Graphics + driverID = DRIVER_ID_AMD_PROPRIETARY + driverName = AMD proprietary driver + driverInfo = 25.20.18.06 (LLPC) + conformanceVersion = 1.4.0.0 + deviceUUID = 00000000-6500-0000-0000-000000000000 + driverUUID = 414d442d-5749-4e2d-4452-560000000000 diff --git a/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md b/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md index 6448e30e8..3d824a6f4 100644 --- a/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md +++ b/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md @@ -1,18 +1,18 @@ # E2E check and profiling -All 60 pairings have a disposition. The timing tables below remain the 2026-09-22 measurements. The configuration matrix and affected per-cell reasons incorporate the [2026-09-23 scoped recovery runs](../../../e2e_recovery_20260923/README.md) and [WSL CPU/native Windows expansion](../../../e2e_expansion_20260923/README.md). The expansion adds separate 20-request serial MiniCPM-o text-to-speech profiles on WSL CPU and native Windows GPU, plus a separately profiled Spark output-head component on the HX370 AMD NPU. Profiling completion does not imply full release qualification. +All 60 pairings have a disposition. The timing tables below remain the 2026-09-22 measurements. The configuration matrix and affected per-cell reasons incorporate the [2026-09-23 scoped recovery runs](../../../e2e_recovery_20260923/README.md) and [WSL CPU/native Windows expansion](../../../e2e_expansion_20260923/README.md). The expansion adds separate 20-request serial MiniCPM-o text-to-speech profiles on WSL CPU and native Windows GPU, a Spark output-head component profile on the HX370 AMD NPU, and complete Spark text-request profiles through standalone llama.cpp on native Windows CPU and Radeon 890M. Profiling completion does not imply full release qualification or Omni integration. ## Configuration × model -NOT E2E means no complete device/model workload was verified. “Scoped E2E” identifies only the named input/output path; “synthetic policy pass” does not establish a real robot-task result. See the per-cell reasons below. +NOT E2E means no complete device/model workload was verified. “Scoped E2E” identifies only the named input/output path; “standalone” means the whole model ran outside Omni and still needs a StageRuntime binding. “Synthetic policy pass” does not establish a real robot-task result. See the per-cell reasons below. | Device | Spark-X2.5 | Qwen3-TTS 0.6B CustomVoice | Qwen3.8-27B | MiniCPM-o 4.5 | InternVLA-A1 | |---|---|---|---|---|---| | PC HX370: CPU / WSL | profile completed | scoped E2E: short stream | NOT E2E | scoped E2E: text/image/audio → speech | synthetic policy pass | -| PC HX370: CPU / native Windows | NOT E2E | NOT E2E | NOT E2E | NOT E2E | synthetic policy pass | +| PC HX370: CPU / native Windows | scoped E2E: standalone Spark text | NOT E2E | NOT E2E | NOT E2E | synthetic policy pass | | PC HX370 + RTX 5090 Laptop / WSL | profile completed | profile completed | scoped E2E: text + image | scoped E2E: text/image/audio → speech | synthetic policy pass | | PC HX370 + RTX 5090 Laptop / Windows | profile completed | profile completed | NOT E2E | scoped E2E: text/image/audio → speech | synthetic policy pass | -| PC HX370 + Radeon 890M / Windows worker | NOT E2E | NOT E2E | NOT E2E | NOT E2E | NOT E2E | +| PC HX370 + Radeon 890M / Windows worker | scoped E2E: standalone Spark text | NOT E2E | NOT E2E | NOT E2E | NOT E2E | | PC HX370 + AMD NPU / Windows worker | NOT E2E (output-head component passed) | NOT E2E | NOT E2E | NOT E2E | NOT E2E | | PC CPU+iGPU+NPU +/- discrete GPU, joint model execution | NOT E2E | NOT E2E | NOT E2E | NOT E2E | NOT E2E | | PC Snapdragon X Elite CRD / AI Hub | NOT E2E | NOT E2E | NOT E2E | NOT E2E | NOT E2E | @@ -30,7 +30,7 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i | PC HX370: CPU / WSL | Qwen3.8-27B | NOT_E2E_PROFILEABLE | No compatible CPU artifact/deployment for this model was found in the checked model roots. Available Qwen 27B FP8/NVFP4 CUDA artifacts do not establish a CPU route. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | | PC HX370: CPU / WSL | MiniCPM-o 4.5 | SCOPED_E2E | The verified checkpoint completed real three-stage text, one synthetic image and one synthetic audio input to text+speech on the vLLM 0.28 CPU backend in separate bounded plans. The 448×448 red square was described correctly with a nonzero 5.2 s WAV in one 37.70 s request; the 2 s/440 Hz tone was described as “A loud and high pitched beep” with a nonzero 2.16 s WAV in one 17.30 s request. CPU wording/token IDs differ from the WSL GPU runs, with no task-quality threshold established. A separate 1-warmup/20-measured serial **text** run had request wall p50 21.86 s/p95 22.97 s. WSL swap reached 5.75 GB during that text profile; manual snapshots in the multimodal runs showed heavy swap use but do not prove peak memory. Both multimodal runs force-killed stage 0 at shutdown and reported shared-memory cleanup warnings. | Validate real image/audio suites, speech intelligibility, video input, concurrency, interruption, admission/loading peak, clean shutdown and sustained thermal behavior before broader CPU qualification; [CPU evidence](../../../e2e_expansion_20260923/README.md). | | PC HX370: CPU / WSL | InternVLA-A1 | SYNTHETIC_POLICY_PASS | The Place_Markpen checkpoint strict-loaded in CPU-only PyTorch and produced finite `[1, 50, 32]` actions from zero observations/noise in one 3.25 s forward. Compared with the same CUDA checkpoint/input, relative L2 error was 1.30% and cosine similarity 0.999917; no task-quality tolerance is established. | Validate real observations against reference actions, units/timestamps, repeated latency and memory before robot-task qualification; [CPU evidence](../../../e2e_expansion_20260923/README.md). | -| PC HX370: CPU / native Windows | Spark-X2.5 | NOT_E2E_PROFILEABLE | The installed native Windows vLLM extension lacks cpu_attn_reshape_and_cache and cpu_attn_get_scheduler_metadata. The separate ORT CPU graph worker is not a whole-model text/TTS adapter; a qualified CPU build/binding is missing. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | +| PC HX370: CPU / native Windows | Spark-X2.5 | SCOPED_E2E_STANDALONE | The real Spark-X2.5-1.7B Q4_K_M GGUF ran a complete text path in native Windows llama.cpp CPU (`-dev none -ngl 0`): `Paris` and the correct `1511` answer to a 2,463-token inventory prompt, one warmup plus 20 uncached serial inventory requests with p50/p95 6.65/6.86 s and 20/20 correct, and a post-stream-close recovery request. This does not repair the missing vLLM CPU attention operators or establish an Omni stage binding. One repeated input, no loading peak or sustained thermal/power gate. | Bind the whole llama.cpp session to Omni's state, request/event, memory and cancellation contracts; validate broader text quality and sustained use; [standalone backend evidence](../../../e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md). | | PC HX370: CPU / native Windows | Qwen3-TTS 0.6B CustomVoice | NOT_E2E_PROFILEABLE | The installed native Windows vLLM extension lacks cpu_attn_reshape_and_cache and cpu_attn_get_scheduler_metadata. The separate ORT CPU graph worker is not a whole-model text/TTS adapter; a qualified CPU build/binding is missing. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | | PC HX370: CPU / native Windows | Qwen3.8-27B | NOT_E2E_PROFILEABLE | The installed native Windows vLLM extension lacks cpu_attn_reshape_and_cache and cpu_attn_get_scheduler_metadata. The separate ORT CPU graph worker is not a whole-model text/TTS adapter; a qualified CPU build/binding is missing. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | | PC HX370: CPU / native Windows | MiniCPM-o 4.5 | NOT_E2E_PROFILEABLE | The exact checkpoint is verified in the local Linux model store, but the installed native Windows vLLM extension lacks required CPU attention operators; no native full-model run or memory admission exists. | Establish a native Windows CPU backend and model access, then run the full requested path; [weight evidence](../../../e2e_recovery_20260923/evidence/weights/minicpmo.json). | @@ -45,7 +45,7 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i | PC HX370 + RTX 5090 Laptop / Windows | Qwen3.8-27B | NOT_E2E_PROFILEABLE | The Omni pipeline binding now exists and passed scoped text/image cases in WSL, but no native Windows Omni run has verified the NVFP4 checkpoint, memory admission or modality behavior. | Run the same checkpoint and explicit context on native Windows, then broaden quality and profiling; [WSL-only evidence](../../../e2e_recovery_20260923/README.md). | | PC HX370 + RTX 5090 Laptop / Windows | MiniCPM-o 4.5 | SCOPED_E2E | The verified checkpoint completed native Windows three-stage BF16 text, one synthetic image, and one synthetic audio input to text+speech in separate constrained plans with 5 GiB thinker host offload and explicit 2,048/512-token limits. Text and all 32 thinker token IDs matched WSL CUDA; a 5.2 s WAV was nonzero. The red-square image produced the same description and 27 thinker token IDs as WSL plus a nonzero 5.2 s WAV in 17.15 s. The 2 s/440 Hz tone produced the same whistling description and nine IDs as WSL plus a nonzero 2.16 s WAV in 8.26 s. The initial text run needed 900/600 s startup limits after a 300 s timeout; a separate 1-warmup/20-measured serial text run had request wall p50 18.38 s/p95 18.73 s, with sampled host available RAM as low as 0.78 GB and pagefile use up to 11.17 GB. These synthetic inputs do not establish general image/audio or speech quality. | Check real image/audio suites, video input, speech intelligibility/alignment, concurrency, interruption, loading-peak admission and sustained thermal/power behavior before broader qualification; [native evidence](../../../e2e_expansion_20260923/README.md). | | PC HX370 + RTX 5090 Laptop / Windows | InternVLA-A1 | SYNTHETIC_POLICY_PASS | The Place_Markpen checkpoint strict-loaded from a UNC path and produced finite `[1, 50, 32]` actions on synthetic zero observations/noise. Policy/output CUDA placement was checked; one native forward took 1.12 s, with 6.68 GB peak allocated. Relative L2 difference from WSL CUDA was 0.83% (no task tolerance). | Validate real observations/reference actions, units/timestamps, memory and repeated latency before task qualification; [native evidence](../../../e2e_expansion_20260923/README.md). | -| PC HX370 + Radeon 890M / Windows worker | Spark-X2.5 | NOT_E2E_PROFILEABLE | No placement- and quality-verified whole-model graph bundle/stateful adapter for this model on this AMD route. Small backend graphs do not establish model support. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | +| PC HX370 + Radeon 890M / Windows worker | Spark-X2.5 | SCOPED_E2E_STANDALONE | The same real Spark-X2.5-1.7B Q4_K_M GGUF completed text prefill/decode via llama.cpp Vulkan1 on Radeon 890M; the placement log assigns Spark layers to Vulkan1, not the installed RTX 5090. It returned `Paris` and `1511` on the named short/2,463-token inventory inputs. One warmup plus 20 uncached serial inventory requests were 20/20 correct, p50/p95 wall 2.18/2.20 s. Closing a stream after its first content delta was followed by a correct new request. This is outside Omni and has only a post-profile process-memory snapshot, no loading peak, device-memory attribution or sustained power/thermal check. | Add a bounded llama.cpp whole-model stage to Omni, then verify placement, state, memory admission, token quality, cancellation and full-request benefit against CPU; [standalone backend evidence](../../../e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md). | | PC HX370 + Radeon 890M / Windows worker | Qwen3-TTS 0.6B CustomVoice | NOT_E2E_PROFILEABLE | No placement- and quality-verified whole-model graph bundle/stateful adapter for this model on this AMD route. Small backend graphs do not establish model support. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | | PC HX370 + Radeon 890M / Windows worker | Qwen3.8-27B | NOT_E2E_PROFILEABLE | FP32 448x448 vision tower: DirectML 85/113 nodes; normalized max error 9.095e-06 versus torch CPU. Historical component path, not full 27B or current graph-stage image-to-text integration. | Recover the hashed tower bundle and qualify its current Omni graph handoff with the language stage. | | PC HX370 + Radeon 890M / Windows worker | MiniCPM-o 4.5 | NOT_E2E_PROFILEABLE | No placement- and quality-verified whole-model graph bundle/stateful adapter for this model on this AMD route. Small backend graphs do not establish model support. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. | diff --git a/docs/design/omni_edge_backends.md b/docs/design/omni_edge_backends.md index 3afeb7bf9..068ff6191 100644 --- a/docs/design/omni_edge_backends.md +++ b/docs/design/omni_edge_backends.md @@ -51,7 +51,7 @@ memory-accounting and unavailable-device gaps remain documented repair items. ### Mobile and PC × model support matrix -This section preserves the 2026-09-22 audit. For the latest per-cell disposition and 2026-09-23 follow-up evidence, use the [current 60-cell E2E matrix](../../benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md). In particular, the HX370 AMD NPU now has a placement- and quality-verified **Spark 1.7B output-head component** through Omni, while complete Spark generation on that route remains unverified; see the [component record](../../benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_amd_npu_output_head/README.md). This advances the M3 component gate, not its whole-model or same-device handoff gate. +This section preserves the 2026-09-22 audit. For the latest per-cell disposition and 2026-09-23 follow-up evidence, use the [current 60-cell E2E matrix](../../benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md). The HX370 AMD NPU now has a placement- and quality-verified **Spark 1.7B output-head component** through Omni, while complete Spark generation on that route remains unverified; see the [component record](../../benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_amd_npu_output_head/README.md). Native Windows CPU and Radeon 890M also completed [scoped whole-model Spark text requests](../../benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_radeon890m_llamacpp/README.md) with the same Q4_K_M GGUF in standalone llama.cpp. An Omni stage binding, explicit admission and broader quality gates remain open. These results advance the M3 hardware/backend evidence without claiming a joint multi-accelerator plan. **All 60 named pairings were checked on 2026-09-22** through actual runs, raw-record review or artifact/runtime preflight. This is not 60 successful