Skip to content

Commit 4cc7bbf

Browse files
committed
cpu: aarch64: Enable stateless ACL LayerNorm
1 parent 1fa6bd2 commit 4cc7bbf

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

src/cpu/aarch64/acl_layer_normalization.cpp

+27-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,17 @@ namespace impl {
2121
namespace cpu {
2222
namespace aarch64 {
2323

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+
2435
status_t acl_layer_normalization_fwd_t::execute_forward(
2536
const exec_ctx_t &ctx) const {
2637

@@ -35,7 +46,22 @@ status_t acl_layer_normalization_fwd_t::execute_forward(
3546
acl_msdnorm_obj_t &acl_obj = acl_resource->get_acl_obj();
3647

3748
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));
3965

4066
auto dst = CTX_OUT_MEM(float *, DNNL_ARG_DST);
4167
acl_obj.dst_tensor.allocator()->import_memory(dst);

0 commit comments

Comments
 (0)