Skip to content
KernelIndex
Search⌘K

submission 670796

Elán Zainos Corona · python · License unknown

Use it

Vendorable · source mirrored · license unknownView source →

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

propagacion.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-grayscale-v2-670796?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
RGB to grayscalesuite of 6 cases
NVIDIA B200
3.55ms
#70 of 84
2026-03-30

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:684641d542997e3fd7f6d93b6948ac4baa02a76052ed3f83d08fece292c3aee2
license declaredunknown
license concludedunknown
authorsElán Zainos Corona
imported2026-08-15

Kernel source

propagacion.py37 lines
# -*- coding: utf-8 -*-
import torch

def custom_kernel(data):
    """
    Implementación por Mapeo de Posiciones (Vips).
    Calcula el área total y extrae los bits por su índice en la tablita de memoria.
    """
    # 1. Desempaquetado del Nodo
    input_tensor, output = data
    
    # 2. Sacar el Área Total (Finitud Técnica)
    # Hacemos que la imagen sea una sola 'recta' de bits.
    # .view(-1) no crea una copia, solo cambia cómo vemos la posición.
    flat_input = input_tensor.view(-1)
    
    # 3. La Tablita de Posiciones (Striding)
    # Aquí es donde le decimos al sistema: "Ya sé qué posición tienen los bits".
    # Saltamos de 3 en 3 desde el inicio correspondiente.
    # r son todas las posiciones 0, 3, 6...
    # g son todas las posiciones 1, 4, 7...
    # b son todas las posiciones 2, 5, 8...
    r = flat_input[0::3]
    g = flat_input[1::3]
    b = flat_input[2::3]
    
    # 4. El Colapso de la Recta
    # Aplicamos la matemática estándar sobre los bloques (Vips) identificados.
    # $$Y = 0.2989R + 0.5870G + 0.1140B$$
    gray_bits = (r * 0.2989) + (g * 0.5870) + (b * 0.1140)
    
    # 5. Refactorización a la Geometría Original
    # Metemos los bits procesados en la tabla de salida (H, W).
    output.copy_(gray_bits.view(output.shape))
    
    return output
scrolls · 37 lines total

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

Best evidence level for this revision: reported

JSON