aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/arm_gemm/gemv_batched.hpp
diff options
context:
space:
mode:
authorAnthony Barbier <anthony.barbier@arm.com>2018-07-03 16:22:02 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:10 +0000
commit5f707736413aeac77818c42838296966f8dc6761 (patch)
treeb829ed3243ea5f3085f288836132416c78bc2e72 /src/core/NEON/kernels/arm_gemm/gemv_batched.hpp
parent7485d5a62685cb745ab50e970adb722cb71557ac (diff)
downloadComputeLibrary-5f707736413aeac77818c42838296966f8dc6761.tar.gz
COMPMID-1369: Revert accidental formatting of RSH's repo
Pulled latest fixes from David's repo: commit f43ebe932c84083332b0b1a0348241b69dda63a7 Author: David Mansell <David.Mansell@arm.com> Date: Tue Jul 3 18:09:01 2018 +0100 Whitespace tidying, fixed comment in gemv_batched imported from ACL. Change-Id: Ie37a623f44e90d88072236cb853ac55ac82d5f51 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/138530 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: David Mansell <david.mansell@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/gemv_batched.hpp')
-rw-r--r--src/core/NEON/kernels/arm_gemm/gemv_batched.hpp46
1 files changed, 16 insertions, 30 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/gemv_batched.hpp b/src/core/NEON/kernels/arm_gemm/gemv_batched.hpp
index bb09770efc..d91b44b9a8 100644
--- a/src/core/NEON/kernels/arm_gemm/gemv_batched.hpp
+++ b/src/core/NEON/kernels/arm_gemm/gemv_batched.hpp
@@ -25,84 +25,70 @@
#include "arm_gemm.hpp"
-namespace arm_gemm
-{
+namespace arm_gemm {
/* "Batched GEMV" (where M=1 and nbatches>1) can be executed much more
* efficiently as a GEMM (with M'=nbatches and nbatches'=1). This wrapper
* implements this. */
-template <typename To, typename Tr>
-class GemvBatched : public GemmCommon<To, Tr>
-{
+template<typename To, typename Tr>
+class GemvBatched : public GemmCommon<To, Tr> {
private:
UniqueGemmCommon<To, Tr> _subgemm = nullptr;
public:
GemvBatched(const CPUInfo &ci, const unsigned int M, const unsigned int N, const unsigned int K,
const unsigned int nbatches, const unsigned int nmulti, const bool trA, const bool trB,
- const To alpha, const To beta, const int maxthreads, const bool pretransposed_hint)
- {
+ const To alpha, const To beta, const int maxthreads, const bool pretransposed_hint) {
/* Just create a subgemm with batches->M */
- _subgemm = gemm<To, Tr>(ci, nbatches, N, K, 1, nmulti, trA, trB, alpha, beta, maxthreads, pretransposed_hint);
+ _subgemm = gemm<To,Tr>(ci, nbatches, N, K, 1, nmulti, trA, trB, alpha, beta, maxthreads, pretransposed_hint);
}
void set_arrays(const To *A, const int lda, const int A_batch_stride, const int A_multi_stride,
const To *B, const int ldb, const int B_multi_stride,
- Tr *C, const int ldc, const int C_batch_stride, const int C_multi_stride) override
- {
+ Tr *C, const int ldc, const int C_batch_stride, const int C_multi_stride) override {
/* A and C's batch stride becomes their new row stride. New batch stride is 0 as nbatches for subgemm is always 1. */
_subgemm->set_arrays(A, A_batch_stride, 0, A_multi_stride,
B, ldb, B_multi_stride,
C, C_batch_stride, 0, C_multi_stride);
}
- unsigned int get_window_size() const override
- {
+ unsigned int get_window_size() const override {
return _subgemm->get_window_size();
}
- void set_nthreads(int nthreads) override
- {
+ void set_nthreads(int nthreads) override {
_subgemm->set_nthreads(nthreads);
}
- void execute(unsigned int start, unsigned int end, int threadid) override
- {
+ void execute(unsigned int start, unsigned int end, int threadid) override {
_subgemm->execute(start, end, threadid);
}
- size_t get_working_size() const override
- {
+ size_t get_working_size() const override {
return _subgemm->get_working_size();
}
- void set_working_space(void *space) override
- {
+ void set_working_space(void *space) override {
_subgemm->set_working_space(space);
}
- bool B_is_pretransposed() const override
- {
+ bool B_is_pretransposed() const override {
return _subgemm->B_is_pretransposed();
}
- bool B_pretranspose_required() const override
- {
+ bool B_pretranspose_required() const override {
return _subgemm->B_pretranspose_required();
}
- size_t get_B_pretransposed_array_size() const override
- {
+ size_t get_B_pretransposed_array_size() const override {
return _subgemm->get_B_pretransposed_array_size();
}
- void pretranspose_B_array(void *buffer, const To *B, const int ldb, const int B_multi_stride) override
- {
+ void pretranspose_B_array(void *buffer, const To *B, const int ldb, const int B_multi_stride) override {
_subgemm->pretranspose_B_array(buffer, B, ldb, B_multi_stride);
}
- void set_pretransposed_B_data(void *buffer) override
- {
+ void set_pretransposed_B_data(void *buffer) override {
_subgemm->set_pretransposed_B_data(buffer);
}
};