[12:36:46] stdout/INFO checkpoint started (id=Qwen3.8-27B-NVFP4 pid=72168)
[12:37:26] stdout/INFO Converting dense weights: 0it [00:00, ?it/s]
[12:37:30] stdout/INFO Loading mixed-fp8 weights: 0%| | 0/3 [00:00<?, ?it/s]
[12:37:35] stdout/INFO Converting dense weights: 444it [00:08, 101.32it/s]
[12:37:35] stdout/INFO
[12:37:35] stdout/INFO Loading mixed-fp8 weights: 33%|███▎ | 1/3 [00:08<00:16, 8.40s/it]
[12:37:45] stdout/INFO Converting dense weights: 1139it [00:18, 83.14it/s]
[12:37:45] stdout/INFO
[12:37:45] stdout/INFO Loading mixed-fp8 weights: 67%|██████▋ | 2/3 [00:18<00:09, 9.13s/it]
[12:37:47] stdout/INFO Converting dense weights: 1167it [00:20, 16.69it/s]
[12:37:47] stdout/INFO
[12:37:47] stdout/INFO Loading mixed-fp8 weights: 100%|██████████| 3/3 [00:20<00:00, 6.76s/it]
[12:37:47] stdout/INFO
[12:37:47] stdout/INFO wrote FTW checkpoint -> C:\AI_Workbench\Models.convert-Qwen3.8-27B-NVFP4
[12:37:47] stdout/INFO tensors: 1173 weight + 0 experts_bank
[12:37:47] stdout/INFO FTW: 18.78 GiB across 3 shard(s) (<= 8.0 GiB each)
[12:37:47] stdout/INFO quant_format: None fingerprint=e8d5991a54e58bee
[12:37:47] stdout/INFO converted in 21.9s
[12:37:48] stdout/INFO checkpoint Qwen3.8-27B-NVFP4 exited with code 0
[12:37:50] stderr/INFO kernel warmup started for Qwen3.8-27B-NVFP4
[12:37:50] stderr/INFO kernel warmup for Qwen3.8-27B-NVFP4 exited with exit code: 2: Use "ft --version" to print the FreeToken version.
[12:48:16] cmd/INFO ft serve --model C:\AI_Workbench\Models\Qwen3.8-27B-NVFP4 --port 1919 --max-running-requests 4 --memory-ratio 0.85 --host 127.0.0.1 --cors-origins tauri://localhost,http://tauri.localhost,http://localhost:1420
[12:48:16] stdout/INFO serve started (pid=32640 model=C:\AI_Workbench\Models\Qwen3.8-27B-NVFP4 port=1919)
[12:48:28] stdout/INFO [2026-08-26|12:48:28] INFO Parsed arguments:
[12:48:28] stdout/INFO ServerArgs(model_path='C:\AI_Workbench\Models\Qwen3.8-27B-NVFP4', tp_info=DistributedInfo(rank=0, size=1), dtype=torch.bfloat16, max_running_req=4, attention_backend='auto', moe_backend='auto', nvfp4_backend='triton', expert_load='auto', moe_cache_size=0, moe_cache_rate=None, moe_cache_auto=False, kv_reserve_tokens=8192, moe_cache_policy='lru', moe_prefill_overlap=True, moe_prefill_hit_d2d=False, moe_collect_stats=False, moe_cpu_threads=0, moe_cpu_layers=None, moe_hybrid_max_fetch=-1, cuda_graph_bs=None, cuda_graph_max_bs=None, page_size=1, memory_ratio=0.85, linear_state_cache_ratio=2.0, swa_full_tokens_ratio=0.2, swa_num_pages_override=None, distributed_timeout=60.0, use_dummy_weight=False, use_pynccl=True, max_seq_len_override=None, num_page_override=None, num_token_override=None, max_extend_tokens=8192, cache_type='radix', offline_mode=False, decode_log_interval=40, special_token_ckpt=False, _unique_suffix='.pid=70192', _ipc_base_port=61950, server_host='127.0.0.1', server_port=1919, num_tokenizer=0, silent_output=False, shell_mode=False, served_model_name='Qwen3.8-27B-NVFP4', tool_call_parser='qwen3_coder', reasoning_parser='qwen3', sampling_defaults='model', max_output_tokens=None, enable_cache_report=False, cors_origins='tauri://localhost,http://tauri.localhost,http://localhost:1420', gpu=(), gpu_assigned=None)
[12:48:28] stdout/INFO [2026-08-26|12:48:28|FrontendAPI] INFO Default sampling config (source=model): temperature=1.0, top_k=20, top_p=0.95
[12:48:28] stdout/INFO INFO: Started server process [70192]
[12:48:28] stdout/INFO INFO: Waiting for application startup.
[12:48:28] stdout/INFO INFO: Application startup complete.
[12:48:28] stdout/INFO INFO: Uvicorn running on http://127.0.0.1:1919 (Press CTRL+C to quit)
[12:48:32] stdout/INFO C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\server\launch.py:81: FutureWarning: torch.cuda._set_allocator_settings is deprecated. Use torch._C._accelerator_setAllocatorSettings instead.
[12:48:32] stdout/INFO scheduler = Scheduler(args)
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Enabled expandable_segments (override via PYTORCH_ALLOC_CONF)
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Auto-selected attention backend: triton
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Resolved config: attention_backend='triton', cache_type='hybrid_radix', page_size=1
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Free memory before loading model: 30.25 GiB
[12:48:32] stdout/INFO C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\torch\utils_device.py:116: UserWarning: expandable_segments not supported on this platform (Triggered internally at C:\actions-runner_work\pytorch\pytorch\pytorch\c10/cuda/CUDAAllocatorConfig.h:39.)
[12:48:32] stdout/INFO return func(*args, **kwargs)
[12:48:41] stdout/INFO Loading weights (FTW): 94%|█████████▍| 17.6G/18.8G [00:08<00:00, 2.46GB/s]
[12:48:41] stdout/INFO
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Allocating 44637 tokens for KV cache, K + V = 2.72 GiB
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Free memory after initialization: 2.92 GiB
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Start capturing CUDA graphs with sizes: [1, 2, 4]
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Free GPU memory before capturing CUDA graphs: 2.91 GiB
[12:48:44] stdout/INFO Capturing graphs: bs = 4 | avail_mem = 2.91 GiB: 0%| | 0/3 [00:02<?, ?batch/s]
[12:48:44] stdout/INFO Process freetoken-TP0-scheduler:
[12:48:44] stdout/ERROR [2026-08-26|12:48:43|FrontendAPI] ERROR Backend supervisor: RuntimeError: Rowwise scaling is not currently supported on your device
[12:48:44] stdout/INFO Traceback (most recent call last):
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\process.py", line 314, in _bootstrap
[12:48:44] stdout/INFO self.run()
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\process.py", line 108, in run
[12:48:44] stdout/INFO self._target(*self._args, **self._kwargs)
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\server\launch.py", line 81, in _run_scheduler
[12:48:44] stdout/INFO scheduler = Scheduler(args)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "python/freetoken/scheduler/scheduler.py", line 65, in freetoken.scheduler.scheduler.Scheduler.init
[12:48:44] stdout/INFO File "python/freetoken/engine/engine.py", line 448, in freetoken.engine.engine.Engine.init
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\engine\graph.py", line 121, in init
[12:48:44] stdout/INFO self._capture_graphs(max_seq_len, vocab_size, model)
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\engine\graph.py", line 175, in _capture_graphs
[12:48:44] stdout/INFO self.buffer.logits[:bs] = model.forward()
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\model.py", line 113, in forward
[12:48:44] stdout/INFO output = self.model.forward(get_global_ctx().batch.input_ids)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\model.py", line 86, in forward
[12:48:44] stdout/INFO x, residual = layer.forward(x, residual)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\utils\torch_utils.py", line 33, in wrapper
[12:48:44] stdout/INFO return fn(self, *args, **kwargs)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\model.py", line 65, in forward
[12:48:44] stdout/INFO hidden = self.linear_attn.forward(hidden) if self._is_linear else self.self_attn.forward(hidden)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\gdn.py", line 165, in forward
[12:48:44] stdout/INFO qkvz = self.in_proj_qkvz.forward(hidden_states)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\kernel\triton\fp8_pertensor_linear.py", line 323, in forward
[12:48:44] stdout/INFO return fp8_pertensor_linear(
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\kernel\triton\fp8_pertensor_linear.py", line 273, in fp8_pertensor_linear
[12:48:44] stdout/INFO out = _scaled_mm(
[12:48:44] stdout/INFO ^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\kernel\triton\fp8_pertensor_linear.py", line 244, in _scaled_mm
[12:48:44] stdout/INFO return torch._scaled_mm(
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO RuntimeError: Rowwise scaling is not currently supported on your device
[12:48:52] health/ERROR RuntimeError: Rowwise scaling is not currently supported on your device (×5)
[12:48:54] stdout/ERROR [2026-08-26|12:48:53|FrontendAPI] ERROR Backend worker is gone and cannot be restarted; stopping the API server
[12:48:54] stdout/INFO serve exited with code 15 (pid=32640)
[12:36:46] stdout/INFO checkpoint started (id=Qwen3.8-27B-NVFP4 pid=72168)
[12:37:26] stdout/INFO Converting dense weights: 0it [00:00, ?it/s]
[12:37:30] stdout/INFO Loading mixed-fp8 weights: 0%| | 0/3 [00:00<?, ?it/s]
[12:37:35] stdout/INFO Converting dense weights: 444it [00:08, 101.32it/s]
[12:37:35] stdout/INFO
[12:37:35] stdout/INFO Loading mixed-fp8 weights: 33%|███▎ | 1/3 [00:08<00:16, 8.40s/it]
[12:37:45] stdout/INFO Converting dense weights: 1139it [00:18, 83.14it/s]
[12:37:45] stdout/INFO
[12:37:45] stdout/INFO Loading mixed-fp8 weights: 67%|██████▋ | 2/3 [00:18<00:09, 9.13s/it]
[12:37:47] stdout/INFO Converting dense weights: 1167it [00:20, 16.69it/s]
[12:37:47] stdout/INFO
[12:37:47] stdout/INFO Loading mixed-fp8 weights: 100%|██████████| 3/3 [00:20<00:00, 6.76s/it]
[12:37:47] stdout/INFO
[12:37:47] stdout/INFO wrote FTW checkpoint -> C:\AI_Workbench\Models.convert-Qwen3.8-27B-NVFP4
[12:37:47] stdout/INFO tensors: 1173 weight + 0 experts_bank
[12:37:47] stdout/INFO FTW: 18.78 GiB across 3 shard(s) (<= 8.0 GiB each)
[12:37:47] stdout/INFO quant_format: None fingerprint=e8d5991a54e58bee
[12:37:47] stdout/INFO converted in 21.9s
[12:37:48] stdout/INFO checkpoint Qwen3.8-27B-NVFP4 exited with code 0
[12:37:50] stderr/INFO kernel warmup started for Qwen3.8-27B-NVFP4
[12:37:50] stderr/INFO kernel warmup for Qwen3.8-27B-NVFP4 exited with exit code: 2: Use "ft --version" to print the FreeToken version.
[12:48:16] cmd/INFO ft serve --model C:\AI_Workbench\Models\Qwen3.8-27B-NVFP4 --port 1919 --max-running-requests 4 --memory-ratio 0.85 --host 127.0.0.1 --cors-origins tauri://localhost,http://tauri.localhost,http://localhost:1420
[12:48:16] stdout/INFO serve started (pid=32640 model=C:\AI_Workbench\Models\Qwen3.8-27B-NVFP4 port=1919)
[12:48:28] stdout/INFO [2026-08-26|12:48:28] INFO Parsed arguments:
[12:48:28] stdout/INFO ServerArgs(model_path='C:\AI_Workbench\Models\Qwen3.8-27B-NVFP4', tp_info=DistributedInfo(rank=0, size=1), dtype=torch.bfloat16, max_running_req=4, attention_backend='auto', moe_backend='auto', nvfp4_backend='triton', expert_load='auto', moe_cache_size=0, moe_cache_rate=None, moe_cache_auto=False, kv_reserve_tokens=8192, moe_cache_policy='lru', moe_prefill_overlap=True, moe_prefill_hit_d2d=False, moe_collect_stats=False, moe_cpu_threads=0, moe_cpu_layers=None, moe_hybrid_max_fetch=-1, cuda_graph_bs=None, cuda_graph_max_bs=None, page_size=1, memory_ratio=0.85, linear_state_cache_ratio=2.0, swa_full_tokens_ratio=0.2, swa_num_pages_override=None, distributed_timeout=60.0, use_dummy_weight=False, use_pynccl=True, max_seq_len_override=None, num_page_override=None, num_token_override=None, max_extend_tokens=8192, cache_type='radix', offline_mode=False, decode_log_interval=40, special_token_ckpt=False, _unique_suffix='.pid=70192', _ipc_base_port=61950, server_host='127.0.0.1', server_port=1919, num_tokenizer=0, silent_output=False, shell_mode=False, served_model_name='Qwen3.8-27B-NVFP4', tool_call_parser='qwen3_coder', reasoning_parser='qwen3', sampling_defaults='model', max_output_tokens=None, enable_cache_report=False, cors_origins='tauri://localhost,http://tauri.localhost,http://localhost:1420', gpu=(), gpu_assigned=None)
[12:48:28] stdout/INFO [2026-08-26|12:48:28|FrontendAPI] INFO Default sampling config (source=model): temperature=1.0, top_k=20, top_p=0.95
[12:48:28] stdout/INFO INFO: Started server process [70192]
[12:48:28] stdout/INFO INFO: Waiting for application startup.
[12:48:28] stdout/INFO INFO: Application startup complete.
[12:48:28] stdout/INFO INFO: Uvicorn running on http://127.0.0.1:1919 (Press CTRL+C to quit)
[12:48:32] stdout/INFO C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\server\launch.py:81: FutureWarning: torch.cuda._set_allocator_settings is deprecated. Use torch._C._accelerator_setAllocatorSettings instead.
[12:48:32] stdout/INFO scheduler = Scheduler(args)
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Enabled expandable_segments (override via PYTORCH_ALLOC_CONF)
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Auto-selected attention backend: triton
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Resolved config: attention_backend='triton', cache_type='hybrid_radix', page_size=1
[12:48:32] stdout/INFO [2026-08-26|12:48:32|core|rank=0] INFO Free memory before loading model: 30.25 GiB
[12:48:32] stdout/INFO C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\torch\utils_device.py:116: UserWarning: expandable_segments not supported on this platform (Triggered internally at C:\actions-runner_work\pytorch\pytorch\pytorch\c10/cuda/CUDAAllocatorConfig.h:39.)
[12:48:32] stdout/INFO return func(*args, **kwargs)
[12:48:41] stdout/INFO Loading weights (FTW): 94%|█████████▍| 17.6G/18.8G [00:08<00:00, 2.46GB/s]
[12:48:41] stdout/INFO
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Allocating 44637 tokens for KV cache, K + V = 2.72 GiB
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Free memory after initialization: 2.92 GiB
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Start capturing CUDA graphs with sizes: [1, 2, 4]
[12:48:41] stdout/INFO [2026-08-26|12:48:41|core|rank=0] INFO Free GPU memory before capturing CUDA graphs: 2.91 GiB
[12:48:44] stdout/INFO Capturing graphs: bs = 4 | avail_mem = 2.91 GiB: 0%| | 0/3 [00:02<?, ?batch/s]
[12:48:44] stdout/INFO Process freetoken-TP0-scheduler:
[12:48:44] stdout/ERROR [2026-08-26|12:48:43|FrontendAPI] ERROR Backend supervisor: RuntimeError: Rowwise scaling is not currently supported on your device
[12:48:44] stdout/INFO Traceback (most recent call last):
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\process.py", line 314, in _bootstrap
[12:48:44] stdout/INFO self.run()
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\Programs\Python\Python312\Lib\multiprocessing\process.py", line 108, in run
[12:48:44] stdout/INFO self._target(*self._args, **self._kwargs)
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\server\launch.py", line 81, in _run_scheduler
[12:48:44] stdout/INFO scheduler = Scheduler(args)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "python/freetoken/scheduler/scheduler.py", line 65, in freetoken.scheduler.scheduler.Scheduler.init
[12:48:44] stdout/INFO File "python/freetoken/engine/engine.py", line 448, in freetoken.engine.engine.Engine.init
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\engine\graph.py", line 121, in init
[12:48:44] stdout/INFO self._capture_graphs(max_seq_len, vocab_size, model)
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\engine\graph.py", line 175, in _capture_graphs
[12:48:44] stdout/INFO self.buffer.logits[:bs] = model.forward()
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\model.py", line 113, in forward
[12:48:44] stdout/INFO output = self.model.forward(get_global_ctx().batch.input_ids)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\model.py", line 86, in forward
[12:48:44] stdout/INFO x, residual = layer.forward(x, residual)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\utils\torch_utils.py", line 33, in wrapper
[12:48:44] stdout/INFO return fn(self, *args, **kwargs)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\model.py", line 65, in forward
[12:48:44] stdout/INFO hidden = self.linear_attn.forward(hidden) if self._is_linear else self.self_attn.forward(hidden)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\models\qwen3_5_moe\gdn.py", line 165, in forward
[12:48:44] stdout/INFO qkvz = self.in_proj_qkvz.forward(hidden_states)
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\kernel\triton\fp8_pertensor_linear.py", line 323, in forward
[12:48:44] stdout/INFO return fp8_pertensor_linear(
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\kernel\triton\fp8_pertensor_linear.py", line 273, in fp8_pertensor_linear
[12:48:44] stdout/INFO out = _scaled_mm(
[12:48:44] stdout/INFO ^^^^^^^^^^^
[12:48:44] stdout/INFO File "C:\Users\paulk\AppData\Local\FreeToken\venv\Lib\site-packages\freetoken\kernel\triton\fp8_pertensor_linear.py", line 244, in _scaled_mm
[12:48:44] stdout/INFO return torch._scaled_mm(
[12:48:44] stdout/INFO ^^^^^^^^^^^^^^^^^
[12:48:44] stdout/INFO RuntimeError: Rowwise scaling is not currently supported on your device
[12:48:52] health/ERROR RuntimeError: Rowwise scaling is not currently supported on your device (×5)
[12:48:54] stdout/ERROR [2026-08-26|12:48:53|FrontendAPI] ERROR Backend worker is gone and cannot be restarted; stopping the API server
[12:48:54] stdout/INFO serve exited with code 15 (pid=32640)