submission 779718
Shyamsaibethina · python · License unknown
Use it
Vendorable · source mirrored · license unknownView source →
No package. Vendor the mirrored source: 26 lines, June 9 Researcher Reciprocity License v1.0.
submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-vectorsum-v2-779718?include=source"interfacepython
Compatibility
measured onNVIDIA B200
declared hardwareNVIDIA B200
architecturessm_100
dtypesfp32
Benchmark evidence
1 measurement across 1 GPU, fastest first.
Operation / workload
Hardware
Latency
Rank
Observed
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:1097ffe8d6d96431ee76e7e17e93c287cc11cb93d5b32d84987cbf8a7810268e
license declaredunknown
license concludedunknown
authorsShyamsaibethina
imported2026-08-15
Kernel source
submission.py26 lines
import torch
import triton
import triton.language as tl
from task import input_t, output_t
@triton.jit
def _sum_kernel(x_ptr, partial_ptr, n_elements, BLOCK_SIZE: tl.constexpr):
pid = tl.program_id(0)
offsets = pid * BLOCK_SIZE + tl.arange(0, BLOCK_SIZE)
mask = offsets < n_elements
x = tl.load(x_ptr + offsets, mask=mask, other=0.0)
block_sum = tl.sum(x, axis=0)
tl.store(partial_ptr + pid, block_sum)
def custom_kernel(data: input_t) -> output_t:
input_tensor, output_tensor = data
n = input_tensor.numel()
BLOCK_SIZE = 1024
n_blocks = triton.cdiv(n, BLOCK_SIZE)
partial = torch.empty(n_blocks, device=input_tensor.device, dtype=torch.float32)
_sum_kernel[(n_blocks,)](input_tensor, partial, n, BLOCK_SIZE=BLOCK_SIZE)
output_tensor = partial.sum()
return output_tensor
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 771333.
- """- GPU MODE vectorsum_v2 -- Submission- Competition: https://www.gpumode.com/leaderboard/544- """-import torch+ import triton+ import triton.language as tlfrom task import input_t, output_t+ @triton.jit+ def _sum_kernel(x_ptr, partial_ptr, n_elements, BLOCK_SIZE: tl.constexpr):+ pid = tl.program_id(0)+ offsets = pid * BLOCK_SIZE + tl.arange(0, BLOCK_SIZE)+ mask = offsets < n_elements+ x = tl.load(x_ptr + offsets, mask=mask, other=0.0)+ block_sum = tl.sum(x, axis=0)+ tl.store(partial_ptr + pid, block_sum)++def custom_kernel(data: input_t) -> output_t:input_tensor, output_tensor = data- output_tensor = input_tensor.to(torch.float64).sum().to(torch.float32)+ n = input_tensor.numel()+ BLOCK_SIZE = 1024+ n_blocks = triton.cdiv(n, BLOCK_SIZE)+ partial = torch.empty(n_blocks, device=input_tensor.device, dtype=torch.float32)+ _sum_kernel[(n_blocks,)](input_tensor, partial, n, BLOCK_SIZE=BLOCK_SIZE)+ output_tensor = partial.sum()return output_tensor
scrolls · 31 diff lines total
Best evidence level for this revision: reported
JSON