Intro-ops/ops/copy/operator.yaml

47 lines
1.1 KiB
YAML

name: copy
kind: elementwise_unary
python_module: operator_runtime.ops.copy
torch_reference: torch.clone
backends:
nvidia:
enabled_by_default: true
status: runnable
sources:
- ops/copy/nvidia/copy_cuda.cu
headers:
- ops/copy/nvidia/copy_cuda.h
- ops/copy/nvidia/kernel.cuh
symbols:
create: oprt_create_copy_descriptor_nvidia
workspace: oprt_get_copy_workspace_size_nvidia
execute: oprt_execute_copy_nvidia
destroy: oprt_destroy_copy_descriptor_nvidia
dtypes: [float16, float32]
supports:
broadcast: false
strided: false
tilelang:
enabled_by_default: true
status: runnable
module: ops.copy.tilelang.copy_tl
dtypes: [float16, float32]
supports:
broadcast: false
strided: false
metax:
enabled_by_default: false
status: stub
headers:
- ops/copy/metax/copy_metax.h
tolerances:
float16: {atol: 0, rtol: 0}
float32: {atol: 0, rtol: 0}
benchmark:
against_torch: true
default_cases:
- name: contiguous_1m
performance_model:
bound: memory
bytes: "2 * numel * elem_bytes"
flops: "0"