From ac9cebbc1dca92c3512f4dee2316c579db0d22dc Mon Sep 17 00:00:00 2001 From: zjhellofss Date: Wed, 10 Jan 2024 21:39:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9softmax=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/layer/details/softmax.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/source/layer/details/softmax.cpp b/source/layer/details/softmax.cpp index 3f2d1dda..9f3c67e6 100644 --- a/source/layer/details/softmax.cpp +++ b/source/layer/details/softmax.cpp @@ -129,11 +129,8 @@ StatusCode SoftmaxLayer::Forward(const std::vector sum_vec = _mm256_add_ps(sum_vec, exp_sub_value); tmp_storage_ptr += packet_size; } - float result[8]; - _mm256_storeu_ps(result, sum_vec); - for (int j = 0; j < packet_size; ++j) { - sum_value += result[j]; - } + sum_vec = _mm256_hadd_ps(sum_vec, sum_vec); + sum_value = ((float*)&sum_vec)[0] + ((float*)&sum_vec)[4]; #endif for (; axis_size < axis_sizes; ++axis_size) { float cur_value = tmp_storage.at(axis_size);