diff --git a/backends/cadence/aot/ops_registrations.py b/backends/cadence/aot/ops_registrations.py index 795e0a5c684..f1c1549c46a 100644 --- a/backends/cadence/aot/ops_registrations.py +++ b/backends/cadence/aot/ops_registrations.py @@ -55,8 +55,6 @@ def _validate_ref_impl_exists() -> None: _WARN_ONLY = { "cadence::quantized_w8a32_linear", "cadence::quantized_add", # We should only support per_tensor variant, should remove - "cadence::idma_store", - "cadence::idma_load", "cadence::_softmax_f32_f32", "cadence::requantize", # We should only support per_tensor variant, should remove "cadence::quantized_softmax.per_tensor", @@ -70,13 +68,11 @@ def _validate_ref_impl_exists() -> None: "cadence::quantized_relu", # We should only support per_tensor variant, should remove "cadence::linalg_svd", "cadence::quantized_conv2d_nhwc", # We should only support per_tensor variant, should remove - "cadence::idma_copy", "cadence::quantize_per_tensor_asym16u", "cadence::dequantize_per_tensor_asym8s", "cadence::quantize_per_tensor_asym16s", "cadence::dequantize_per_tensor_asym16s", "cadence::quantized_softmax", - "cadence::idma_wait", "cadence::quantized_w8a32_gru", "cadence::quantized_layer_norm", # We should only support per_tensor variant, should remove } diff --git a/backends/cadence/aot/ref_implementations.py b/backends/cadence/aot/ref_implementations.py index afa2f3b1884..a43d9cabc4f 100644 --- a/backends/cadence/aot/ref_implementations.py +++ b/backends/cadence/aot/ref_implementations.py @@ -1636,3 +1636,23 @@ def quantized_embedding_byte( ) return weight[indices] + + +@impl_tracked(m, "idma_copy") +def idma_copy(src: torch.Tensor, task_num: int = 0, channel: int = 0) -> torch.Tensor: + return src.clone() + + +@impl_tracked(m, "idma_store") +def idma_store(src: torch.Tensor, task_num: int = 0, channel: int = 0) -> torch.Tensor: + return src.clone() + + +@impl_tracked(m, "idma_load") +def idma_load(src: torch.Tensor, task_num: int = 0, channel: int = 0) -> torch.Tensor: + return src.clone() + + +@impl_tracked(m, "idma_wait") +def idma_wait(src: torch.Tensor, task_num: int = 0, channel: int = 0) -> torch.Tensor: + return src.clone()