Skip to content
KernelIndex
Search⌘K

submission 66966

Saint of the Famished · python · License unknown

Use it

Vendorable · source mirrored · license unknownView source →

No package. Vendor the mirrored source: 47 lines, June 9 Researcher Reciprocity License v1.0.

submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-vectorsum-v2-66966?include=source"
interfacepython
Compatibility
measured onNVIDIA H100
declared hardwareNVIDIA H100
architecturessm_90
dtypesfp32

Benchmark evidence

1 measurement across 1 GPU, fastest first.

Operation / workload
Hardware
Latency
Rank
Observed
Vector sum reductionsuite of 6 cases
NVIDIA H100
85.2µs
#15 of 37
2025-11-05

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:052df9aa0d6362ec7cb0fc91960003e3d633dc3690813ebae3ff2f75ce8f3a50
license declaredunknown
license concludedunknown
authorsSaint of the Famished
imported2026-08-15

Kernel source

submission.py47 lines
#!POPCORN leaderboard vectorsum_v2

import torch
import triton
import triton.language as tl
from task import input_t, output_t


@triton.jit
def sum_kernel(
    x_ptr,
    partial_sums_ptr,
    n_elements,
    BLOCK_SIZE: tl.constexpr,
):
    pid = tl.program_id(0)
    block_start = pid * BLOCK_SIZE
    offsets = block_start + tl.arange(0, BLOCK_SIZE)
    mask = offsets < n_elements
    x = tl.load(x_ptr + offsets, mask=mask, other=0.0, eviction_policy="evict_first")
    block_sum = tl.sum(x, axis=0)
    tl.store(partial_sums_ptr + pid, block_sum)


def custom_kernel(data: input_t) -> output_t:
    input, output = data
    n_elements = input.numel()

    if n_elements >= 10_000_000:
        BLOCK_SIZE = 8192
    elif n_elements >= 1_000_000:
        BLOCK_SIZE = 4096
    elif n_elements >= 100_000:
        BLOCK_SIZE = 2048
    elif n_elements >= 10_000:
        BLOCK_SIZE = 1024
    else:
        BLOCK_SIZE = 512

    n_blocks = triton.cdiv(n_elements, BLOCK_SIZE)
    partial_sums = torch.empty(n_blocks, device=input.device, dtype=input.dtype)

    grid = (n_blocks,)
    sum_kernel[grid](input, partial_sums, n_elements, BLOCK_SIZE=BLOCK_SIZE)

    return partial_sums.sum()
scrolls · 47 lines total

Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0

Changes from previous submission

Against this author's previous submission submission 66965.

Best evidence level for this revision: reported

JSON