Conversation
fe9c5d9 to
cd53112
Compare
|
I opened a multi-GPU tensor-split issue that may be a useful real-world target for this scheduler/backend test work: The failure is strongly timing-sensitive and so far I have not been able to reduce it to a deterministic backend test. Setup is Windows + 2x RTX 3090 + Qwen 3.8 27B tensor split. I also reproduced a related failure on official upstream b10595 with MTP disabled. A few things make it interesting for this PR:
This is exactly the kind of bug where turning the timing relationship into a small deterministic scheduler/backend RED would be much more useful than continuing to reproduce it with 20k+ token model workloads. I can run specific synthetic tests if there is a scheduler/meta pattern you want exercised. |
|
@Anbeeld interesting, thanks for linking this. If you are curious and want to debug further in the mean time, I suggest disabling PDL ( |
9d3c318 to
3ef4094
Compare
including one which detects the nkvo-bug correctly, and validates the proposed hotfix.
to toggle this behavior
test_chain_all_backends and test_pair_user_inputs. The latter ones test either activations or user inputs in isolation and just once, whereas the stress test tests all combinations multiple rounds
3ef4094 to
7b48156
Compare
Overview
This draft PR takes a first stab at formalizing the behavior of the scheduler and the async backends through test coverage.
There is lots to improve here, and I look forward to do so with your input. The main contribution is
test-backend-sched.cpp. To create more complex test-cases, I also added a new operatorOP_SLEEP(see below for details).I've implemented several classes of tests for this:
New OP_SLEEP
OP_SLEEPas opposed to some big MatMul for the following reasons:OP_SLEEPwas easy to implement in this scope (CPU, CUDA, VK)TODO
Requirements
cc @ggerganov @am17an @ORippler @gaugarg-nv