From 17b12307edeaf488cfdf0cc3fa00b8f08293c93e Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Mon, 18 Jun 2018 18:13:51 +0100 Subject: COMPMID-1293: Handle aligned allocations Change-Id: I6e642c8cd968240f883c327464519e57e5d0c3e3 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/136088 Tested-by: Jenkins Reviewed-by: Anthony Barbier --- arm_compute/runtime/NEON/AssemblyHelper.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'arm_compute/runtime/NEON/AssemblyHelper.h') diff --git a/arm_compute/runtime/NEON/AssemblyHelper.h b/arm_compute/runtime/NEON/AssemblyHelper.h index c4ba1a584e..5801c42684 100644 --- a/arm_compute/runtime/NEON/AssemblyHelper.h +++ b/arm_compute/runtime/NEON/AssemblyHelper.h @@ -89,13 +89,8 @@ public: const auto in1_ptr = reinterpret_cast(_b->buffer()); const int multi_stride_b = _b->info()->strides_in_bytes().z() / sizeof(TypeInput); - // Forcing 128-byte alignment (required by 32-bit kernels) - const unsigned int alignment = 128; - void *raw_ptr = reinterpret_cast(_pretranspose->buffer()); - size_t space = _pretranspose->info()->total_size(); - void *aligned_ptr = support::cpp11::align(alignment, _gemm_kernel_asm->get_B_pretransposed_array_size(), raw_ptr, space); ARM_COMPUTE_ERROR_ON(_pretranspose == nullptr || _pretranspose->buffer() == nullptr); - _gemm_kernel_asm->pretranspose_B_array(aligned_ptr, in1_ptr, ldb, multi_stride_b); + _gemm_kernel_asm->pretranspose_B_array(_pretranspose->buffer(), in1_ptr, ldb, multi_stride_b); _b->mark_as_unused(); } @@ -169,7 +164,7 @@ using AssemblyKernelGlueS8S32 = AssemblyKernelGlue; inline void allocate_workspace(size_t workspace_size, Tensor &workspace, MemoryGroup *memory_group, size_t alignment, unsigned int num_threads) { ARM_COMPUTE_ERROR_ON_MSG(workspace_size == 0, "size cannot be 0"); - workspace.allocator()->init(TensorInfo(TensorShape{ (workspace_size + alignment - 1) * num_threads }, 1, DataType::S8)); + workspace.allocator()->init(TensorInfo(TensorShape{ (workspace_size + alignment) * num_threads }, 1, DataType::S8), alignment); if(memory_group != nullptr) { memory_group->manage(&workspace); -- cgit v1.2.1