Skip to content

support dspark - #121

Merged
zhongkaifu merged 4 commits into
mainfrom
feature/support_dspark_for_deepseek_v4
Aug 1, 2026
Merged

support dspark#121
zhongkaifu merged 4 commits into
mainfrom
feature/support_dspark_for_deepseek_v4

Conversation

@zhongkaifu

Copy link
Copy Markdown
Owner

No description provided.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3a79930297

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +247 to +248
CudaDriverApi.cuMemHostAlloc(out rt.PinnedCap,
new UIntPtr((ulong)((long)_m.NUbatch * feat * 4L)), 0x1 /*PORTABLE*/).ThrowOnError();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Release DSpark's pinned host buffers during disposal

When a direct-CUDA model is disposed without terminating the process, this cuMemHostAlloc allocation is never passed to cuMemFreeHost; Dispose() only releases the boundary and token buffers, and the newly allocated _pinnedLogits buffer is omitted as well. PinnedCap can occupy roughly NUbatch * target-layer-count * hidden-size * 4 bytes (tens of MiB), so model reload cycles leak page-locked RAM until subsequent CUDA host allocations or model loads fail. Release both new pinned buffers in Dispose().

Useful? React with 👍 / 👎.

Comment on lines +1053 to +1055
var turnDecoder = new MtpSpeculativeDecoder(turnSpecModel, turnSpecModel.MtpDraftBlockSize)
{
MinDraftProb = 0.35f,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Honor speculative tuning options in multi-turn mode

When --multi-turn-jsonl is combined with --spec-draft-n-max or --spec-draft-conf-min, both parsed values are ignored: RunMultiTurnTest receives neither option and this decoder always uses the full trained block size and a hard-coded 0.35f threshold. This makes multi-turn performance experiments silently run with different settings than requested; pass the CLI values into this path and apply them as the one-shot path does.

Useful? React with 👍 / 👎.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

Engine comparison — TensorSharp vs llama.cpp (PR smoke)

No report artifact was produced — the benchmark failed before generating results (see the workflow logs).

@zhongkaifu
zhongkaifu merged commit 944e194 into main Aug 1, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant