[Other] error detected in the compilation of Strata/src/qwen35/q36_engine.cu
Maintainers usually reply within 3 days
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 69/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- cpp
- Domain
- backend, build-system
Research direction
Start with Strata/src/qwen35/q36_engine.cu at the reported verify_q8 error on line 1659 and inspect how that function uses __half_as_ushort. Reproduce with ./setup --setup and the Qwen3.8-Flash-Next option; done means the CUDA object compiles and setup proceeds past the reported failure.
Written by the indexing model from the issue text.
Description
Problem:
-
After pull request on Oct-19: 22:00:00 - the compilation is failing when it is trying to Build the CUDA object CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
-
I started with "./setup --setup" and choose the original model "Qwen3.8-Flash-Next GSQ-RCO quants by ISTA-DASLab - the original model", and after some seconds it show an error:
/path/to/repo/Strata/src/qwen35/q36_engine.cu(1659): error: calling a __device__ function("__half_as_ushort( ::__half)") from a __host__ function("verify_q8") is not allowed
1 error detected in the compilation of "/path/to/repo/Strata/src/qwen35/q36_engine.cu".
ninja: build stopped: subcommand failed.
[X] command failed (exit 2): cmake
Setup stopped. Fix the item above and run it again - everything already done is kept and skipped.
- The thing is that the model worked before the pull request. I went back to commit
4c968e61999d237caed3139e6a714d0de52afe82with description :gdn chunk / Volta recurrence: name the kernels in every device pass (wmma body .....and I could run the model
Environment:
- Ubuntu 24.04,
- GPU RTX 2000 Ada Generation Laptop GPU, 8 GB,
- 64 RAM,
- i7 13th
Reproduce:
- run
./setup --setup - choose : 1) Qwen3.8-Flash-Next
FAIL
Expected:
- Go through the setup process as usual and run the model
Evidence: -- log Extended
/path/to/repo/Strata/src/prefill/moe_fused_iq.cu(1331): warning #177-D: function "strata::prefill::fused::<unnamed>::f16_d" was declared but never referenced
[5/21] Building CUDA object CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
FAILED: [code=2] CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
/usr/bin/nvcc -forward-unknown-to-host-compiler -DSTRATA_NATIVE_EXPERTS=1 -DSTRATA_PREFILL_FUSED=1 -DSTRATA_PREFILL_MMQ=1 -DSTRATA_Q36_CPU_POOL=1 -DSTRATA_Q6K_EXPERTS=1 -DSTRATA_VERSION=\"0.1.45.3\" -I/path/to/repo/Strata/include -I/path/to/repo/Strata/third_party/llama.cpp/ggml/src/../include -O3 -DNDEBUG -std=c++20 "--generate-code=arch=compute_89,code=[compute_89,sm_89]" -MD -MT CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o -MF CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o.d -x cu -c /path/to/repo/Strata/src/qwen35/q36_engine.cu -o CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
/path/to/repo/Strata/include/strata/core/family_layout.hpp(100): warning #811-D: const variable "c" requires an initializer -- class "strata::core::ModelGeometry" has no user-provided default constructor
Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"
/path/to/repo/Strata/src/qwen35/q36_engine.cu(1659): error: calling a __device__ function("__half_as_ushort( ::__half)") from a __host__ function("verify_q8") is not allowed
1 error detected in the compilation of "/path/to/repo/Strata/src/qwen35/q36_engine.cu".
[18/21] Building CUDA object CMakeFiles/strata_mmq.dir/ggml-tq-overlay/template-instances/mmq-instance-tqk6.cu.o
ninja: build stopped: subcommand failed.
(the build stopped - trying it once more)
> /usr/bin/cmake --build /path/to/repo/Strata/build --target strata -j 14
[2/4] Building CUDA object CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
FAILED: [code=2] CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
/usr/bin/nvcc -forward-unknown-to-host-compiler -DSTRATA_NATIVE_EXPERTS=1 -DSTRATA_PREFILL_FUSED=1 -DSTRATA_PREFILL_MMQ=1 -DSTRATA_Q36_CPU_POOL=1 -DSTRATA_Q6K_EXPERTS=1 -DSTRATA_VERSION=\"0.1.45.3\" -I/path/to/repo/Strata/include -I/path/to/repo/Strata/third_party/llama.cpp/ggml/src/../include -O3 -DNDEBUG -std=c++20 "--generate-code=arch=compute_89,code=[compute_89,sm_89]" -MD -MT CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o -MF CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o.d -x cu -c /path/to/repo/Strata/src/qwen35/q36_engine.cu -o CMakeFiles/strata_qwen35.dir/src/qwen35/q36_engine.cu.o
/path/to/repo/Strata/include/strata/core/family_layout.hpp(100): warning #811-D: const variable "c" requires an initializer -- class "strata::core::ModelGeometry" has no user-provided default constructor
Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"
/path/to/repo/Strata/src/qwen35/q36_engine.cu(1659): error: calling a __device__ function("__half_as_ushort( ::__half)") from a __host__ function("verify_q8") is not allowed
1 error detected in the compilation of "/path/to/repo/Strata/src/qwen35/q36_engine.cu".
ninja: build stopped: subcommand failed.
[X] command failed (exit 2): cmake
Setup stopped. Fix the item above and run it again - everything already done is kept and skipped.
Thank you in advance
- Dominant language
- C++
- Stars
- 11.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Niko1221/Strata
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-2 days Newbie friendliness 75/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Niko1221/Strata#3269 · 2 comments ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 64/100
Niko1221/Strata#3197 · 3 comments ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Niko1221/Strata#3191 · 3 comments ·
Maintainers usually reply within 3 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
eclipse-score/inc_someip_gateway#356 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
HarperFast/rocksdb-js#945 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day