antirez / antirez/ds4

Metal SSD-streaming cache-pressure vector test fails at short_code_completion

Open
#439 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.4k
Forks
2.1k
Avg merge
1d 3h
Merged PRs (30d)
4

Description

## Summary

`./ds4_test --metal-ssd-streaming-cache-pressure` fails with a selected-token mismatch in the `short_code_completion` vector case.

## Environment

- Machine: Apple M2 Max
- RAM: 32 GiB
- macOS: 26.5.1
- Backend: Metal SSD streaming
- Model: `DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2-imatrix.gguf`

## Command

```sh
make ds4_test

DS4_TEST_MODEL=gguf/DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2-imatrix.gguf \
./ds4_test --metal-ssd-streaming-cache-pressure
```

## Result
```
metal-ssd-streaming-cache-pressure:
ds4-test: Metal SSD streaming cache-pressure repro (16GiB cache, layer-batched decode, short_code_completion)
ds4: Metal device Apple M2 Max, 32.00 GiB RAM
ds4: metal SSD streaming cache budget 16.00 GiB / 6.75 MiB per expert = 2427 experts
ds4: Metal SSD streaming mode enabled; full model residency and warmup are skipped
ds4-test: vector short_code_completion
ds4-test: vector short_code_completion step 1 selected token mismatch
tests/ds4_test.c:873: assertion failed: false
metal-ssd-streaming-cache-pressure: ERR
ds4 tests: 1 failure(s)
```

## Expected

The cache-pressure vector test should pass, or the fixture/test should be updated if this model/backend pairing
is no longer expected to match it.

## Notes

This test forces the Metal SSD-streaming layer-batched decode path with a 16 GiB routed expert cache and checks
official-vector parity for short_code_completion. The failure means local greedy selection diverges from the
expected vector token at step 1.

Contributor guide

Open the contributing guide

Research direction

Run the documented make ds4_test and DS4_TEST_MODEL command first, then inspect tests/ds4_test.c around the assertion at line 873 and the short_code_completion vector path. Compare the selected token at step 1 with the expected vector result to determine whether the backend behavior or fixture is responsible. Done means the cache-pressure test passes or the test and fixture explicitly reflect the supported model/backend pairing.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos
Domain
ai-infra-agents, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.