Qwen
Training Qwen3.6-35B-A3B on B200
Ranked by tokens/s per GPU · 8,192-token SFT rows · global batch 128 · BF16
Notes for Qwen3.6-35B-A3B
MODEL_ARGS are slime's scripts/models/qwen3.5-35B-A3B.sh: Qwen3.6-35B-A3B has the Qwen3.5-35B-A3B architecture and a byte-identical tokenizer, so it trains on the Qwen3.5 rows.
The steps every recipe shares: Running a recipe.
Recipes
#1attune-tp1-pp1-ep8-mt16k6,573.4 tokens/s/GPUTP1 PP1 EP8 DP8max 16,384 tokens/GPU, optimizer on GPU
- Author
- ATTUNE (cite)
- GPUs
- 8 x B200 180 GB (AWS p6-b200.48xlarge, 8 per node)
- Layout
- TP 1, PP 1, CP 1, EP 8, ETP 1, DP 8; two 8,192-token rows per microbatch (max 16,384 tokens per GPU); full recompute (uniform, 1 layer); alltoall dispatcher; precision-aware distributed optimizer; no offload
- Tokens/s per GPU
- 6,573.38
- $ / 1M tokens
- $0.60
- MFU
- 5.2% (N = 2,946,252,800 active parameters per token)
- Step-time CV
- 3.67%
- Convergence check
- correlation 0.9999982, final loss difference 3.3e-05, 0 pointwise failures over 20 steps
- Component test
- precision-aware Adam on GPU (TE FusedAdam, FP32 masters stored as BF16 parameter plus remainder) against an FP64 reference: B200, 2026-10-14. Shape: one Qwen3.5-397B-A17B MoE layer: hidden 4096, 512 experts, top-10, expert FFN 1024, EP 8, ETP 1, 4,096 tokens per rank. worst tensor (update) relative L2 error 5.12e-7 against a bound of 1.0e-3 after one step, and within bound after three steps at the entry's hyperparameters; the negative controls fail run on B200 on this recipe's training image; the optimizer step is elementwise, so the result does not depend on the model
- Measured
- 2026-10-14
- GPU-hours
- 1.64
- Rows
qwen35-tulu3-fixed8192-v1(rows_sha2567a837641dcde9ebcac9d3ed5ed84ddd941fc9bfc173606cc701e9a3f51c307f1)
Stack
- framework
- slime 0.3.0: THUDM/slime a897e1f plus 8 commits that do not change the training step
- megatron lm
- commit 1dcf0da (megatron-core 0.16.0rc0), with slime's patch to the MoE router (routing-replay registration)
- transformer engine
- 2.10.0
- pytorch
- 2.11.0 (CUDA 12.9 build)
- cuda
- 12.9
- nccl
- 2.28.9 (CUDA 12.9 build; printed by the measured run)
- deepep
- not pinned
- python
- not pinned
- network
- 8 GPUs per node, EFA, 3.2 Tb/s RDMA per node
Environment
CUDA_DEVICE_MAX_CONNECTIONS=1PYTORCH_CUDA_ALLOC_CONF=expandable_segments:TrueTORCHINDUCTOR_COMPILE_THREADS=1NCCL_NVLS_ENABLE=$([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
export CUDA_DEVICE_MAX_CONNECTIONS=1
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export TORCHINDUCTOR_COMPILE_THREADS=1
export NCCL_NVLS_ENABLE=$([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
python3 -m <slime entry module> --async \
--actor-num-nodes 1 \
--actor-num-gpus-per-node 8 \
${MODEL_ARGS[@]} \
--hf-checkpoint "$HF_CKPT" \
--ref-load "$TORCH_DIST" \
--rollout-function-path pretokenized_sft_rollout.generate_rollout \
--prompt-data "$SFT_DATA" \
--input-key messages \
--metadata-key metadata \
--num-rollout 20 \
--rollout-batch-size 128 \
--global-batch-size 128 \
--loss-type sft_loss \
--loss-mask-type qwen3_5 \
--calculate-per-token-loss \
--disable-compute-advantages-and-returns \
--debug-train-only \
--tensor-model-parallel-size 1 \
--pipeline-model-parallel-size 1 \
--context-parallel-size 1 \
--expert-model-parallel-size 8 \
--expert-tensor-parallel-size 1 \
--recompute-granularity full \
--recompute-method uniform \
--recompute-num-layers 1 \
--use-dynamic-batch-size \
--max-tokens-per-gpu 16384 \
--optimizer adam --lr 1e-5 --lr-decay-style cosine --min-lr 1e-6 \
--lr-warmup-fraction 0.1 --weight-decay 0.1 --adam-beta1 0.9 --adam-beta2 0.98 \
--use-distributed-optimizer \
--use-precision-aware-optimizer \
--attention-dropout 0.0 --hidden-dropout 0.0 \
--accumulate-allreduce-grads-in-fp32 --attention-softmax-in-fp32 \
--attention-backend flash \
--distributed-timeout-minutes 30 \
--tensorboard-dir "$PROFILE_DIR"
# recipes/qwen3.6-35b-a3b/b200/attune-tp1-pp1-ep8-mt16k.yaml
# An OpenRecipes recipe; the fields are documented in schema/recipe.schema.yaml.
schema_version: 1
model: Qwen3.6-35B-A3B
gpu:
type: B200
memory_gb: 180
count: 8
per_node: 8
instance: AWS p6-b200.48xlarge
author:
name: ATTUNE
url: https://arxiv.org/abs/2610.17528
status: verified
stack:
framework: 'slime 0.3.0: THUDM/slime a897e1f plus 8 commits that do not change the training step'
megatron_lm: commit 1dcf0da (megatron-core 0.16.0rc0), with slime's patch to the MoE router (routing-replay registration)
transformer_engine: 2.10.0
pytorch: 2.11.0 (CUDA 12.9 build)
cuda: '12.9'
nccl: 2.28.9 (CUDA 12.9 build; printed by the measured run)
deepep: not pinned
python: not pinned
network: 8 GPUs per node, EFA, 3.2 Tb/s RDMA per node
source: 'in-pod check of the measured run''s training image (same digest) on 2026-10-01: Megatron-LM git commit and installed
TE and PyTorch; NCCL from the measured run''s log'
workload:
row_tokens: 8192
rows: SFT conversations
global_batch: 128
precision: bf16
dataset:
name: Tulu 3 SFT mixture
source: allenai/tulu-3-sft-mixture
revision: b14afda60f1bbebe55d5d2fa1e4df5042f97f8be
license: ODC-By 1.0
rows_sha256: 7a837641dcde9ebcac9d3ed5ed84ddd941fc9bfc173606cc701e9a3f51c307f1
build:
name: qwen35-tulu3-fixed8192-v1
tokenizer: Qwen3.5 (the Qwen3.5-122B-A10B tokenizer; tokenizer.json sha256 5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42)
loss_mask: qwen3_5
rows: 6400
row_tokens: 8192
padding_tokens: 0
seed: 42
packing: source conversations in a seeded global permutation, concatenated with an EOS token between them and cut into
consecutive 8,192-token rows; rows without supervised targets are skipped
supervised_token_ratio: 0.676
parquet_sha256: f215bdc6aba60d6d0dff4471eaef805765cb393e40b95762190535376491ab01
parquet_bytes: 76127393
builder: data/generate_fixed_sft.py (data/README.md)
layout:
label: TP1 PP1 EP8 DP8
summary: TP 1, PP 1, CP 1, EP 8, ETP 1, DP 8; two 8,192-token rows per microbatch (max 16,384 tokens per GPU); full recompute
(uniform, 1 layer); alltoall dispatcher; precision-aware distributed optimizer; no offload
highlights: max 16,384 tokens/GPU, optimizer on GPU
tp: 1
pp: 1
vpp: 1
cp: 1
ep: 8
etp: 1
dp: 8
sequence_parallel: false
layer_split: null
max_tokens_per_gpu: 16384
rows_per_microbatch: 2
recompute:
granularity: full
method: uniform
num_layers: 1
offload: null
dispatcher: alltoall
result:
tokens_per_s_per_gpu: 6573.38
usd_per_million_tokens: 0.6
step_time_cv_percent: 3.67
mfu: 0.0516
mfu_note: null
active_params:
count: 2946252800
source: https://huggingface.co/Qwen/Qwen3.6-35B-A3B
revision: 995ad96eacd98c81ed38be0c5b274b04031597b0
measured: 2026-10-14
steps_per_run: 20
window:
- 5
- 19
window_tokens: 15728640
runs: 1
profiler: false
gpu_hours: 1.64
gpu_hours_note: GPUs x (scheduler admission to finish), including startup; the same run is the candidate arm of the convergence
check
correctness:
result: pass
summary: passed; 1 component test passed
reference: Not published.
configuration: pass
component_tests:
- test: precision-aware Adam on GPU (TE FusedAdam, FP32 masters stored as BF16 parameter plus remainder) against an FP64
reference
shape: 'one Qwen3.5-397B-A17B MoE layer: hidden 4096, 512 experts, top-10, expert FFN 1024, EP 8, ETP 1, 4,096 tokens
per rank'
gpu: B200
date: 2026-10-14
result: pass
detail: worst tensor (update) relative L2 error 5.12e-7 against a bound of 1.0e-3 after one step, and within bound after
three steps at the entry's hyperparameters; the negative controls fail
note: run on B200 on this recipe's training image; the optimizer step is elementwise, so the result does not depend on
the model
convergence:
steps: 20
result: pass
correlation: 0.9999982
final_loss_difference: 3.3e-05
pointwise_failures: 0
note: 'candidate arm: the measured run; reference arm: a 20-step run of the reference recipe on the same image and rows;
the parity probe off in both'
rules: argument classes of ATTUNE's skill/scripts/correctness/rules/numerics_list.yaml; 20-step check by Megatron-Bridge
validate_convergence with its pipeline thresholds
env:
CUDA_DEVICE_MAX_CONNECTIONS: '1'
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
TORCHINDUCTOR_COMPILE_THREADS: '1'
NCCL_NVLS_ENABLE: $([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
patches: []
run: |
export CUDA_DEVICE_MAX_CONNECTIONS=1
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export TORCHINDUCTOR_COMPILE_THREADS=1
export NCCL_NVLS_ENABLE=$([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
python3 -m <slime entry module> --async \
--actor-num-nodes 1 \
--actor-num-gpus-per-node 8 \
${MODEL_ARGS[@]} \
--hf-checkpoint "$HF_CKPT" \
--ref-load "$TORCH_DIST" \
--rollout-function-path pretokenized_sft_rollout.generate_rollout \
--prompt-data "$SFT_DATA" \
--input-key messages \
--metadata-key metadata \
--num-rollout 20 \
--rollout-batch-size 128 \
--global-batch-size 128 \
--loss-type sft_loss \
--loss-mask-type qwen3_5 \
--calculate-per-token-loss \
--disable-compute-advantages-and-returns \
--debug-train-only \
--tensor-model-parallel-size 1 \
--pipeline-model-parallel-size 1 \
--context-parallel-size 1 \
--expert-model-parallel-size 8 \
--expert-tensor-parallel-size 1 \
--recompute-granularity full \
--recompute-method uniform \
--recompute-num-layers 1 \
--use-dynamic-batch-size \
--max-tokens-per-gpu 16384 \
--optimizer adam --lr 1e-5 --lr-decay-style cosine --min-lr 1e-6 \
--lr-warmup-fraction 0.1 --weight-decay 0.1 --adam-beta1 0.9 --adam-beta2 0.98 \
--use-distributed-optimizer \
--use-precision-aware-optimizer \
--attention-dropout 0.0 --hidden-dropout 0.0 \
--accumulate-allreduce-grads-in-fp32 --attention-softmax-in-fp32 \
--attention-backend flash \
--distributed-timeout-minutes 30 \
--tensorboard-dir "$PROFILE_DIR"
#2attune-tp1-pp1-ep84,334.1 tokens/s/GPUTP1 PP1 EP8 DP8max 8,192 tokens/GPU, no offload
The H200 recipe run unchanged; it was not tuned on B200.
- Author
- ATTUNE (cite)
- GPUs
- 8 x B200 180 GB (AWS p6-b200.48xlarge, 8 per node)
- Layout
- TP 1, PP 1, CP 1, EP 8, ETP 1, DP 8; one 8,192-token row per microbatch; full recompute (uniform, 1 layer); alltoall dispatcher; precision-aware distributed optimizer; no offload
- Tokens/s per GPU
- 4,334.09
- $ / 1M tokens
- $0.91
- MFU
- 3.4% (N = 2,946,252,800 active parameters per token)
- Step-time CV
- 2.71%
- Convergence check
- correlation 0.999999, final loss difference 4.7e-05, 0 pointwise failures over 20 steps
- Component test
- precision-aware Adam on GPU (TE FusedAdam, FP32 masters stored as BF16 parameter plus remainder) against an FP64 reference: B200, 2026-10-11. Shape: one Qwen3.5-397B-A17B MoE layer: hidden 4096, 512 experts, top-10, expert FFN 1024, EP 8, ETP 1, 4,096 tokens per rank. worst tensor (update) relative L2 error 5.12e-7 against a bound of 1.0e-3 after one step, and within bound after three steps at the entry's hyperparameters; reconstructed FP32 masters bitwise identical to an arm with explicit FP32 masters; the negative controls fail run on B200 on an image with the same Transformer Engine 2.10.0 and PyTorch 2.11.0 builds as this one; the optimizer step is elementwise, so the result does not depend on the model
- Measured
- 2026-10-13
- GPU-hours
- 2.1
- Rows
qwen35-tulu3-fixed8192-v1(rows_sha2567a837641dcde9ebcac9d3ed5ed84ddd941fc9bfc173606cc701e9a3f51c307f1)
Stack
- framework
- slime 0.3.0: THUDM/slime a897e1f plus 8 commits that do not change the training step
- megatron lm
- commit 1dcf0da (megatron-core 0.16.0rc0), with slime's patch to the MoE router (routing-replay registration)
- transformer engine
- 2.10.0
- pytorch
- 2.11.0 (CUDA 12.9 build)
- cuda
- 12.9
- nccl
- 2.28.9 (CUDA 12.9 build; printed by the measured run)
- deepep
- not pinned
- python
- not pinned
- network
- 8 GPUs per node, EFA, 3.2 Tb/s RDMA per node
Environment
CUDA_DEVICE_MAX_CONNECTIONS=1PYTORCH_CUDA_ALLOC_CONF=expandable_segments:TrueTORCHINDUCTOR_COMPILE_THREADS=1NCCL_NVLS_ENABLE=$([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
export CUDA_DEVICE_MAX_CONNECTIONS=1
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export TORCHINDUCTOR_COMPILE_THREADS=1
export NCCL_NVLS_ENABLE=$([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
python3 -m <slime entry module> --async \
--actor-num-nodes 1 \
--actor-num-gpus-per-node 8 \
${MODEL_ARGS[@]} \
--hf-checkpoint "$HF_CKPT" \
--ref-load "$TORCH_DIST" \
--rollout-function-path pretokenized_sft_rollout.generate_rollout \
--prompt-data "$SFT_DATA" \
--input-key messages \
--metadata-key metadata \
--num-rollout 20 \
--rollout-batch-size 128 \
--global-batch-size 128 \
--loss-type sft_loss \
--loss-mask-type qwen3_5 \
--calculate-per-token-loss \
--disable-compute-advantages-and-returns \
--debug-train-only \
--tensor-model-parallel-size 1 \
--pipeline-model-parallel-size 1 \
--context-parallel-size 1 \
--expert-model-parallel-size 8 \
--expert-tensor-parallel-size 1 \
--recompute-granularity full \
--recompute-method uniform \
--recompute-num-layers 1 \
--use-dynamic-batch-size \
--max-tokens-per-gpu 8192 \
--optimizer adam --lr 1e-5 --lr-decay-style cosine --min-lr 1e-6 \
--lr-warmup-fraction 0.1 --weight-decay 0.1 --adam-beta1 0.9 --adam-beta2 0.98 \
--use-distributed-optimizer \
--use-precision-aware-optimizer \
--attention-dropout 0.0 --hidden-dropout 0.0 \
--accumulate-allreduce-grads-in-fp32 --attention-softmax-in-fp32 \
--attention-backend flash \
--distributed-timeout-minutes 30 \
--tensorboard-dir "$PROFILE_DIR"
# recipes/qwen3.6-35b-a3b/b200/attune-tp1-pp1-ep8.yaml
# An OpenRecipes recipe; the fields are documented in schema/recipe.schema.yaml.
schema_version: 1
model: Qwen3.6-35B-A3B
gpu:
type: B200
memory_gb: 180
count: 8
per_node: 8
instance: AWS p6-b200.48xlarge
author:
name: ATTUNE
url: https://arxiv.org/abs/2610.17528
status: verified
stack:
framework: 'slime 0.3.0: THUDM/slime a897e1f plus 8 commits that do not change the training step'
megatron_lm: commit 1dcf0da (megatron-core 0.16.0rc0), with slime's patch to the MoE router (routing-replay registration)
transformer_engine: 2.10.0
pytorch: 2.11.0 (CUDA 12.9 build)
cuda: '12.9'
nccl: 2.28.9 (CUDA 12.9 build; printed by the measured run)
deepep: not pinned
python: not pinned
network: 8 GPUs per node, EFA, 3.2 Tb/s RDMA per node
source: 'in-pod check of the measured run''s training image (same digest) on 2026-10-01: Megatron-LM git commit and
installed TE and PyTorch; NCCL from the measured run''s log'
workload:
row_tokens: 8192
rows: SFT conversations
global_batch: 128
precision: bf16
dataset:
name: Tulu 3 SFT mixture
source: allenai/tulu-3-sft-mixture
revision: b14afda60f1bbebe55d5d2fa1e4df5042f97f8be
license: ODC-By 1.0
rows_sha256: 7a837641dcde9ebcac9d3ed5ed84ddd941fc9bfc173606cc701e9a3f51c307f1
build:
name: qwen35-tulu3-fixed8192-v1
tokenizer: Qwen3.5 (the Qwen3.5-122B-A10B tokenizer; tokenizer.json sha256 5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42)
loss_mask: qwen3_5
rows: 6400
row_tokens: 8192
padding_tokens: 0
seed: 42
packing: source conversations in a seeded global permutation, concatenated with an EOS token between them and cut
into consecutive 8,192-token rows; rows without supervised targets are skipped
supervised_token_ratio: 0.676
parquet_sha256: f215bdc6aba60d6d0dff4471eaef805765cb393e40b95762190535376491ab01
parquet_bytes: 76127393
builder: data/generate_fixed_sft.py (data/README.md)
layout:
label: TP1 PP1 EP8 DP8
summary: TP 1, PP 1, CP 1, EP 8, ETP 1, DP 8; one 8,192-token row per microbatch; full recompute (uniform, 1 layer);
alltoall dispatcher; precision-aware distributed optimizer; no offload
highlights: max 8,192 tokens/GPU, no offload
tp: 1
pp: 1
vpp: 1
cp: 1
ep: 8
etp: 1
dp: 8
sequence_parallel: false
layer_split: null
max_tokens_per_gpu: 8192
rows_per_microbatch: 1
recompute:
granularity: full
method: uniform
num_layers: 1
offload: null
dispatcher: alltoall
result:
tokens_per_s_per_gpu: 4334.09
usd_per_million_tokens: 0.91
step_time_cv_percent: 2.71
mfu: 0.0341
mfu_note: null
active_params:
count: 2946252800
source: https://huggingface.co/Qwen/Qwen3.6-35B-A3B
revision: 995ad96eacd98c81ed38be0c5b274b04031597b0
measured: 2026-10-13
steps_per_run: 20
window:
- 5
- 19
window_tokens: 15728640
runs: 1
profiler: false
gpu_hours: 2.1
gpu_hours_note: GPUs x (scheduler admission to finish), including startup; the same run is the candidate arm of the
convergence check
correctness:
result: pass
summary: passed; 1 component test passed
reference: Not published.
configuration: pass
component_tests:
- test: precision-aware Adam on GPU (TE FusedAdam, FP32 masters stored as BF16 parameter plus remainder) against an
FP64 reference
shape: 'one Qwen3.5-397B-A17B MoE layer: hidden 4096, 512 experts, top-10, expert FFN 1024, EP 8, ETP 1, 4,096 tokens
per rank'
gpu: B200
date: 2026-10-11
result: pass
detail: worst tensor (update) relative L2 error 5.12e-7 against a bound of 1.0e-3 after one step, and within bound
after three steps at the entry's hyperparameters; reconstructed FP32 masters bitwise identical to an arm with explicit
FP32 masters; the negative controls fail
note: run on B200 on an image with the same Transformer Engine 2.10.0 and PyTorch 2.11.0 builds as this one; the optimizer
step is elementwise, so the result does not depend on the model
convergence:
steps: 20
result: pass
correlation: 0.999999
final_loss_difference: 4.7e-05
pointwise_failures: 0
note: 'candidate arm: the measured run; reference arm: a 20-step run of the reference recipe on the same image and
rows; the parity probe off in both'
rules: argument classes of ATTUNE's skill/scripts/correctness/rules/numerics_list.yaml; 20-step check by Megatron-Bridge
validate_convergence with its pipeline thresholds
env:
CUDA_DEVICE_MAX_CONNECTIONS: '1'
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
TORCHINDUCTOR_COMPILE_THREADS: '1'
NCCL_NVLS_ENABLE: $([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
patches: []
run: |
export CUDA_DEVICE_MAX_CONNECTIONS=1
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export TORCHINDUCTOR_COMPILE_THREADS=1
export NCCL_NVLS_ENABLE=$([ "$NVLINK_COUNT" -gt 0 ] && echo 1 || echo 0)
python3 -m <slime entry module> --async \
--actor-num-nodes 1 \
--actor-num-gpus-per-node 8 \
${MODEL_ARGS[@]} \
--hf-checkpoint "$HF_CKPT" \
--ref-load "$TORCH_DIST" \
--rollout-function-path pretokenized_sft_rollout.generate_rollout \
--prompt-data "$SFT_DATA" \
--input-key messages \
--metadata-key metadata \
--num-rollout 20 \
--rollout-batch-size 128 \
--global-batch-size 128 \
--loss-type sft_loss \
--loss-mask-type qwen3_5 \
--calculate-per-token-loss \
--disable-compute-advantages-and-returns \
--debug-train-only \
--tensor-model-parallel-size 1 \
--pipeline-model-parallel-size 1 \
--context-parallel-size 1 \
--expert-model-parallel-size 8 \
--expert-tensor-parallel-size 1 \
--recompute-granularity full \
--recompute-method uniform \
--recompute-num-layers 1 \
--use-dynamic-batch-size \
--max-tokens-per-gpu 8192 \
--optimizer adam --lr 1e-5 --lr-decay-style cosine --min-lr 1e-6 \
--lr-warmup-fraction 0.1 --weight-decay 0.1 --adam-beta1 0.9 --adam-beta2 0.98 \
--use-distributed-optimizer \
--use-precision-aware-optimizer \
--attention-dropout 0.0 --hidden-dropout 0.0 \
--accumulate-allreduce-grads-in-fp32 --attention-softmax-in-fp32 \
--attention-backend flash \
--distributed-timeout-minutes 30 \
--tensorboard-dir "$PROFILE_DIR"
notes: |
The H200 recipe run unchanged; it was not tuned on B200.
Citation
If you use a recipe by ATTUNE, please cite the paper.
@article{fan2026attune,
title = {{ATTUNE: Agentic Throughput Tuning for LLM Training}},
author = {Leo Fan and Hongyang Wang and Wenbo Chen and Jingguo Liu and Xian Li and Xuan Wang and
Ruochen Wen and Yiming Yan and Hao Wu and Zheshen Wang and Benoit Dumoulin},
journal = {arXiv preprint arXiv:2610.17528},
year = {2026},
url = {https://arxiv.org/abs/2610.17528}
}
Qwen3.6-35B-A3B on other GPUs
H100
–
No recipe yet
H200 · 8 GPUs
4,663.1
tokens/s/GPU · $0.47 / 1M tokens
B200 · 8 GPUs · this page
6,573.4
tokens/s/GPU · $0.60 / 1M tokens