@@ -21,6 +21,17 @@ namespace impl {
21
21
namespace cpu {
22
22
namespace aarch64 {
23
23
24
+ status_t acl_layer_normalization_fwd_t::execute (const exec_ctx_t &ctx) const {
25
+ return execute_forward (ctx);
26
+ }
27
+
28
+ status_t acl_layer_normalization_fwd_t::init (engine_t *engine) {
29
+ auto aep = pd ()->anp ;
30
+ acl_obj.get ()->configure (
31
+ &aep.data_info , &aep.data_info , desc ()->layer_norm_epsilon );
32
+ return status::success;
33
+ }
34
+
24
35
status_t acl_layer_normalization_fwd_t::execute_forward (
25
36
const exec_ctx_t &ctx) const {
26
37
@@ -35,7 +46,22 @@ status_t acl_layer_normalization_fwd_t::execute_forward(
35
46
acl_msdnorm_obj_t &acl_obj = acl_resource->get_acl_obj ();
36
47
37
48
auto src = CTX_IN_MEM (const float *, DNNL_ARG_SRC);
38
- acl_obj.src_tensor .allocator ()->import_memory (const_cast <float *>(src));
49
+
50
+ arm_compute::Tensor data_tensor;
51
+
52
+ auto const acp = pd ()->anp ;
53
+
54
+ data_tensor.allocator ()->init (acp.data_info );
55
+
56
+ data_tensor.allocator ()->import_memory (const_cast <float *>(src));
57
+
58
+ arm_compute::Tensor data_tensor;
59
+
60
+ auto const acp = pd ()->anp ;
61
+
62
+ data_tensor.allocator ()->init (acp.data_info );
63
+
64
+ data_tensor.allocator ()->import_memory (const_cast <float *>(src));
39
65
40
66
auto dst = CTX_OUT_MEM (float *, DNNL_ARG_DST);
41
67
acl_obj.dst_tensor .allocator ()->import_memory (dst);
0 commit comments