---
id: pr-deepgemm-198
repo: deepseek-ai/DeepGEMM
pr: 198
title: Make various updates and fixes
author: RayWang96
date: '2025-09-25'
url: https://github.com/deepseek-ai/DeepGEMM/pull/198
source_category: upstream-code
architectures:
- sm100
- sm90
tags:
- JIT
- arch_pipeline
- attention_kv
- gemm_quant
- memory_primitives
- scheduler_autotune
- sm100
techniques:
- autotuning
- epilogue-fusion
- fine-grained-quantization
- pipeline-stages
- tile-scheduling
hardware_features:
- blackwell
- fp8
- hopper
kernel_types:
- attention
- gemm
- memory
- runtime
- scheduler
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 3f71de7aa93ff95c64249beb0dfa975b6aeac4e4
inclusion_reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.
changed_paths:
- csrc/apis/attention.hpp
- csrc/apis/einsum.hpp
- csrc/apis/gemm.hpp
- csrc/apis/layout.hpp
- csrc/indexing/main.cu
- csrc/jit/device_runtime.hpp
- csrc/jit_kernels/heuristics/common.hpp
- csrc/jit_kernels/heuristics/sm100.hpp
- csrc/jit_kernels/heuristics/sm90.hpp
- csrc/jit_kernels/impls/epilogue.hpp
- csrc/jit_kernels/impls/runtime_utils.hpp
- csrc/jit_kernels/impls/sm100_bf16_gemm.hpp
- csrc/jit_kernels/impls/sm100_bmk_bnk_mn.hpp
- csrc/jit_kernels/impls/sm100_fp8_gemm_1d1d.hpp
- csrc/jit_kernels/impls/sm100_fp8_gemm_1d2d.hpp
- csrc/jit_kernels/impls/sm90_bf16_gemm.hpp
- csrc/jit_kernels/impls/sm90_bmk_bnk_mn.hpp
- csrc/jit_kernels/impls/sm90_fp8_gemm_1d1d.hpp
- csrc/jit_kernels/impls/sm90_fp8_gemm_1d2d.hpp
- csrc/jit_kernels/impls/smxx_cublaslt.hpp
- csrc/python_api.cpp
- csrc/utils/exception.hpp
- csrc/utils/system.hpp
- deep_gemm/__init__.py
- deep_gemm/include/deep_gemm/common/epilogue_utils.cuh
- deep_gemm/include/deep_gemm/common/reduction.cuh
- deep_gemm/include/deep_gemm/common/scheduler.cuh
- deep_gemm/include/deep_gemm/common/sm100_utils.cuh
- deep_gemm/include/deep_gemm/common/sm90_utils.cuh
- deep_gemm/include/deep_gemm/common/utils.cuh
- deep_gemm/include/deep_gemm/impls/sm100_bf16_gemm.cuh
- deep_gemm/include/deep_gemm/impls/sm100_bmk_bnk_mn.cuh
- deep_gemm/include/deep_gemm/impls/sm100_fp8_gemm_1d1d.cuh
- deep_gemm/include/deep_gemm/impls/sm100_fp8_gemm_1d2d.cuh
- deep_gemm/include/deep_gemm/impls/sm90_bf16_gemm.cuh
- deep_gemm/include/deep_gemm/impls/sm90_bmk_bnk_mn.cuh
- deep_gemm/include/deep_gemm/impls/sm90_fp8_gemm_1d1d.cuh
- deep_gemm/include/deep_gemm/impls/sm90_fp8_gemm_1d2d.cuh
- deep_gemm/testing/bench.py
- deep_gemm/utils/math.py
- tests/generators.py
- tests/test_attention.py
- tests/test_bf16.py
- tests/test_einsum.py
- tests/test_fp8.py
artifact_dir: evidence/pull-bundles/deepgemm/gh-198
head_ref_oid: ec6bbdccdc8a48ae40a7998ada20692183d4c2d5
---
# Make various updates and fixes

- Repository: `deepseek-ai/DeepGEMM`
- PR: [198](https://github.com/deepseek-ai/DeepGEMM/pull/198)
- Decision: `Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.`
- Reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.

## Changed Paths

- `csrc/apis/attention.hpp`
- `csrc/apis/einsum.hpp`
- `csrc/apis/gemm.hpp`
- `csrc/apis/layout.hpp`
- `csrc/indexing/main.cu`
- `csrc/jit/device_runtime.hpp`
- `csrc/jit_kernels/heuristics/common.hpp`
- `csrc/jit_kernels/heuristics/sm100.hpp`
- `csrc/jit_kernels/heuristics/sm90.hpp`
- `csrc/jit_kernels/impls/epilogue.hpp`
- `csrc/jit_kernels/impls/runtime_utils.hpp`
- `csrc/jit_kernels/impls/sm100_bf16_gemm.hpp`
- `csrc/jit_kernels/impls/sm100_bmk_bnk_mn.hpp`
- `csrc/jit_kernels/impls/sm100_fp8_gemm_1d1d.hpp`
- `csrc/jit_kernels/impls/sm100_fp8_gemm_1d2d.hpp`
- `csrc/jit_kernels/impls/sm90_bf16_gemm.hpp`
- `csrc/jit_kernels/impls/sm90_bmk_bnk_mn.hpp`
- `csrc/jit_kernels/impls/sm90_fp8_gemm_1d1d.hpp`
- `csrc/jit_kernels/impls/sm90_fp8_gemm_1d2d.hpp`
- `csrc/jit_kernels/impls/smxx_cublaslt.hpp`
- `csrc/python_api.cpp`
- `csrc/utils/exception.hpp`
- `csrc/utils/system.hpp`
- `deep_gemm/__init__.py`
- `deep_gemm/include/deep_gemm/common/epilogue_utils.cuh`
- `deep_gemm/include/deep_gemm/common/reduction.cuh`
- `deep_gemm/include/deep_gemm/common/scheduler.cuh`
- `deep_gemm/include/deep_gemm/common/sm100_utils.cuh`
- `deep_gemm/include/deep_gemm/common/sm90_utils.cuh`
- `deep_gemm/include/deep_gemm/common/utils.cuh`
- `deep_gemm/include/deep_gemm/impls/sm100_bf16_gemm.cuh`
- `deep_gemm/include/deep_gemm/impls/sm100_bmk_bnk_mn.cuh`
- `deep_gemm/include/deep_gemm/impls/sm100_fp8_gemm_1d1d.cuh`
- `deep_gemm/include/deep_gemm/impls/sm100_fp8_gemm_1d2d.cuh`
- `deep_gemm/include/deep_gemm/impls/sm90_bf16_gemm.cuh`
- `deep_gemm/include/deep_gemm/impls/sm90_bmk_bnk_mn.cuh`
- `deep_gemm/include/deep_gemm/impls/sm90_fp8_gemm_1d1d.cuh`
- `deep_gemm/include/deep_gemm/impls/sm90_fp8_gemm_1d2d.cuh`
- `deep_gemm/testing/bench.py`
- `deep_gemm/utils/math.py`
- `tests/generators.py`
- `tests/test_attention.py`
- `tests/test_bf16.py`
- `tests/test_einsum.py`
- `tests/test_fp8.py`

## Evidence Bundle

`evidence/pull-bundles/deepgemm/gh-198`
