Intro-ops/ops/vector_add/operator.yaml

47 lines
1.2 KiB
YAML

name: vector_add
kind: elementwise_binary
python_module: operator_runtime.ops.vector_add
torch_reference: torch.add
backends:
nvidia:
enabled_by_default: true
status: runnable
sources:
- ops/vector_add/nvidia/vector_add_cuda.cu
headers:
- ops/vector_add/nvidia/vector_add_cuda.h
symbols:
create: oprt_create_vector_add_descriptor_nvidia
workspace: oprt_get_vector_add_workspace_size_nvidia
execute: oprt_execute_vector_add_nvidia
destroy: oprt_destroy_vector_add_descriptor_nvidia
dtypes: [float16, float32]
supports:
broadcast: false
strided: false
tilelang:
enabled_by_default: true
status: runnable
module: ops.vector_add.tilelang.vector_add_tl
dtypes: [float16, float32]
supports:
broadcast: false
strided: false
metax:
enabled_by_default: false
status: stub
headers:
- ops/vector_add/metax/vector_add_metax.h
tolerances:
float16: {atol: 1e-3, rtol: 1e-3}
float32: {atol: 1e-6, rtol: 1e-6}
benchmark:
against_torch: true
default_cases:
- name: contiguous_1m
performance_model:
bound: memory
bytes: "3 * numel * elem_bytes"
flops: "numel"