diff options
Diffstat (limited to 'src/cpu/kernels/softmax/generic/sve')
-rw-r--r-- | src/cpu/kernels/softmax/generic/sve/fp16.cpp | 50 | ||||
-rw-r--r-- | src/cpu/kernels/softmax/generic/sve/fp32.cpp | 49 | ||||
-rw-r--r-- | src/cpu/kernels/softmax/generic/sve/impl.cpp | 25 | ||||
-rw-r--r-- | src/cpu/kernels/softmax/generic/sve/qasymm8.cpp | 38 | ||||
-rw-r--r-- | src/cpu/kernels/softmax/generic/sve/qasymm8_signed.cpp | 38 |
5 files changed, 4 insertions, 196 deletions
diff --git a/src/cpu/kernels/softmax/generic/sve/fp16.cpp b/src/cpu/kernels/softmax/generic/sve/fp16.cpp deleted file mode 100644 index 5e94f72faf..0000000000 --- a/src/cpu/kernels/softmax/generic/sve/fp16.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2021-2023 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -#if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) && defined(ENABLE_FP16_KERNELS) -#include "arm_compute/core/Helpers.h" - -#include "src/cpu/CpuTypes.h" -#include "src/cpu/kernels/softmax/generic/sve/impl.h" -namespace arm_compute -{ -namespace cpu -{ -void sve_fp16_softmax(const ITensor *in, - const ITensor *max, - void *const tmp, - ITensor *out, - const float beta, - bool is_log, - const Window &window) -{ - return sve_softmax_logits_1d_float<float16_t>(in, max, tmp, out, beta, is_log, window); -} - -void sve_fp16_logits(const ITensor *in, ITensor *out, const Window &window) -{ - return sve_logits_1d_max<float16_t>(in, out, window); -} -} // namespace cpu -} // namespace arm_compute -#endif /* defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) && defined(ENABLE_FP16_KERNELS) */ diff --git a/src/cpu/kernels/softmax/generic/sve/fp32.cpp b/src/cpu/kernels/softmax/generic/sve/fp32.cpp deleted file mode 100644 index d692cc2477..0000000000 --- a/src/cpu/kernels/softmax/generic/sve/fp32.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2021-2022 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "arm_compute/core/Helpers.h" - -#include "src/cpu/kernels/softmax/generic/sve/impl.h" - -namespace arm_compute -{ -namespace cpu -{ -void sve_fp32_softmax(const ITensor *in, - const ITensor *max, - void *const tmp, - ITensor *out, - const float beta, - bool is_log, - const Window &window) -{ - return sve_softmax_logits_1d_float<float>(in, max, tmp, out, beta, is_log, window); -} - -void sve_fp32_logits(const ITensor *in, ITensor *out, const Window &window) -{ - return sve_logits_1d_max<float>(in, out, window); -} -} // namespace cpu -} // namespace arm_compute diff --git a/src/cpu/kernels/softmax/generic/sve/impl.cpp b/src/cpu/kernels/softmax/generic/sve/impl.cpp index 24f1bb8143..0d4b7f4509 100644 --- a/src/cpu/kernels/softmax/generic/sve/impl.cpp +++ b/src/cpu/kernels/softmax/generic/sve/impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 Arm Limited. + * Copyright (c) 2021-2023 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -30,6 +30,9 @@ namespace arm_compute { namespace cpu { +/// TODO: (COMPMID-6505) Similar to Neon(TM), this implementation be converted to +/// a single kernel that performs softmax operation. Leaving the SVE code here for +/// future references. Implementation for Neon(TM) is introduced in COMPMID-6500 template <typename ScalarType> void sve_logits_1d_max(const ITensor *in, ITensor *out, const Window &window) { @@ -172,25 +175,5 @@ void sve_softmax_logits_1d_float(const ITensor *in, }, in_it, max_it, out_it); } - -template void sve_logits_1d_max<float>(const ITensor *in, ITensor *out, const Window &window); -template void sve_logits_1d_max<float16_t>(const ITensor *in, ITensor *out, const Window &window); -template void sve_logits_1d_max<qasymm8_t>(const ITensor *in, ITensor *out, const Window &window); -template void sve_logits_1d_max<qasymm8_signed_t>(const ITensor *in, ITensor *out, const Window &window); - -template void sve_softmax_logits_1d_float<float>(const ITensor *in, - const ITensor *max, - void *const tmp, - ITensor *out, - const float beta, - bool is_log, - const Window &window); -template void sve_softmax_logits_1d_float<float16_t>(const ITensor *in, - const ITensor *max, - void *const tmp, - ITensor *out, - const float beta, - bool is_log, - const Window &window); } // namespace cpu } // namespace arm_compute diff --git a/src/cpu/kernels/softmax/generic/sve/qasymm8.cpp b/src/cpu/kernels/softmax/generic/sve/qasymm8.cpp deleted file mode 100644 index 85e5ccfea1..0000000000 --- a/src/cpu/kernels/softmax/generic/sve/qasymm8.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2021-2022 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "arm_compute/core/Helpers.h" - -#include "src/cpu/kernels/softmax/generic/sve/impl.h" - -namespace arm_compute -{ -namespace cpu -{ -void sve_qasymm8_logits(const ITensor *in, ITensor *out, const Window &window) -{ - return sve_logits_1d_max<qasymm8_t>(in, out, window); -} -} // namespace cpu -} // namespace arm_compute diff --git a/src/cpu/kernels/softmax/generic/sve/qasymm8_signed.cpp b/src/cpu/kernels/softmax/generic/sve/qasymm8_signed.cpp deleted file mode 100644 index 4be2e2eed6..0000000000 --- a/src/cpu/kernels/softmax/generic/sve/qasymm8_signed.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2021-2022 Arm Limited. - * - * SPDX-License-Identifier: MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "arm_compute/core/Helpers.h" - -#include "src/cpu/kernels/softmax/generic/sve/impl.h" - -namespace arm_compute -{ -namespace cpu -{ -void sve_qasymm8_signed_logits(const ITensor *in, ITensor *out, const Window &window) -{ - return sve_logits_1d_max<qasymm8_signed_t>(in, out, window); -} -} // namespace cpu -} // namespace arm_compute |