Built For RX 7900 XTX on Win 11/ROCm With GPT5.5 High - Errors In Python Scripts Fixed #95
HaiderGill
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
Pre Reqs: -
Installed Windows ROCm to C:\ROCm
Installed Python 3.14
Installed Git for Windows
My local GIT repo is f:\temp\git_hub_repos\llama_cpp_turboquant\
GPT5.5 High Python test scripts fixes were: -
Added explicit UTF-8 encoding when writing NIAH output files
In scripts/niah_test.py, the JSON and Markdown result files now use:
open(path, "w", encoding="utf-8")
This avoids Windows default codepage problems when output contains non-ASCII text.
Added explicit UTF-8 encoding when reading those files in tests
In tests/test_niah.py and tests/test_turbo_hardware_diag.py, file reads now use:
read_text(encoding="utf-8")
open(path, encoding="utf-8")
This makes the tests match the script behavior and avoids Windows encoding failures.
Fixed a path comparison in the NIAH test
The test was comparing a Path object after converting it to a string:
assert str(call_args[0][3]) == "/tmp/custom_out"
It was changed to compare Path to Path:
assert call_args[0][3] == Path("/tmp/custom_out")
That is cleaner and more portable.
Fixed os.getloadavg mocks for Windows
Windows Python may not have os.getloadavg, so the test patches now use:
patch("os.getloadavg", ..., create=True)
That lets the test create the mocked attribute even when it does not exist on Windows.
Made the Linux cache-path test handle Windows path separators
The test expected paths containing:
cache/index
But Windows paths use backslashes. The mocked path string is now normalized first:
s = str(self).replace("\", "/")
That allowed the expected "Could not get Linux cache hierarchy" path to be exercised correctly.
Overall result
The changes were not logic changes to the main hardware diagnostic behavior; they were mostly Windows portability fixes for the tests, especially encoding, path handling, and mocking Linux/macOS-only APIs on Windows.
In DOS prompt (run as admin): -
winget install Kitware.CMake
winget install Microsoft.VisualStudio.2022.BuildTools
cd f:\temp\git_hub_repos\llama_cpp_turboquant
git clone https://github.com/TheTom/turboquant_plus.git
cd turboquant_plus
..venv\Scripts\activate.bat
pip install -e ".[dev]"
pip install ninja
pip install numpy
pip install SciPy
python -m pytest tests/ -v
git clone --branch feature/turboquant-kv-cache https://github.com/TheTom/llama-cpp-turboquant.git llama-cpp-tq
cd f:\temp\git_hub_repos\llama_cpp_turboquant\turboquant_plus\turboquant\llama-cpp-tq
set PATH=C:\ROCm\7.1\bin;C:\Program Files\CMake\bin;%PATH%
set HIP_PATH=C:\ROCm\7.1
In
cmake -S . -B build -G Ninja
-DGPU_TARGETS=gfx1100
-DGGML_HIP=ON
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_FLAGS_RELEASE="-O3 -DNDEBUG"
-DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG"
cmake --build build --config Release
I'm using the ByteShape Qwen3.6-35B-A3B-MTP-GGUF, it not standard quantization: -
ShapeLearn: Their core algorithm that adaptively taps into the AI training process to learn optimal datatypes for specific neural-network parameters and inputs. It selectively assigns lower or higher precision per-tensor (e.g., INT2 to FP8), rather than using a flat, static rate. This allows models to retain high accuracy while vastly reducing their arithmetic complexity and memory footprint.
ShapeSqueeze: A lossless compression layer that applies per-value encoding to minimize off-chip data transfers, saving up to an extra 40% in model size
Batch file settings
set LLAMA_CACHE="E:\programs\llama_cache\Byteshape-Qwen3.6-35B-A3B-IQ4"
set TURBO_LAYER_ADAPTIVE=7
@echo off
.\bin\llama-server.exe ^
-m "E:\programs\llama_models\Byteshape-Qwen3.6-35B-A3B-IQ4_XS-3.53bpw\Qwen3.6-35B-A3B-IQ4_XS-3.53bpw.gguf" ^
--verbose ^
--mmproj-auto ^
--spec-type draft-mtp ^
--spec-draft-n-max 4 ^
--cache-type-k q8_0 ^
--cache-type-v turbo2 ^
--spec-draft-type-k q8_0 ^
--spec-draft-type-v turbo2 ^
--host 127.0.0.1 ^
--port 8080 ^
--alias Byteshape-qwen3.6-35b-a3b ^
--ctx-size 262144 ^
--parallel 1 ^
--jinja ^
--reasoning auto ^
--reasoning-format deepseek ^
--cache-reuse 256 ^
--n-gpu-layers auto ^
--temp 0.6 ^
--top-p 0.95 ^
--min-p 0.0 ^
--top-k 20 ^
--repeat-penalty 1.0 ^
--presence-penalty 0.0 ^
--chat-template-kwargs "{"preserve_thinking":true}"
pause
set TURBO_LAYER_ADAPTIVE=7 is important.
If anybody wants the compiled version can probably put it on Dropbox...
Beta Was this translation helpful? Give feedback.
All reactions