nnstreamer / nntrainer

NNtrainer is Software Framework for Training Neural Network Models on Devices.
Apache License 2.0
135 stars 71 forks source link

[ Wait for #2500 ] [ BLAS ] Refactor blas/math related files into cpu backend considering arch-dep #2549

Open skykongkong8 opened 2 months ago

skykongkong8 commented 2 months ago

While during the process of implementing additional features in NEON, I found myself making unnecessary code blocks. This is a suggestion-draft of refactorization for current blas/math related files.

DONE

TODO

Final form of this PR would be like:

...
tensor
├─── cpu_backend
│   └─── cpu_backend.h (has all external functions from previous `blas_interface.h`)
│   └─── aarch64
│      └─── aarch64_compute_backend
│      └─── neon_half (For armv8.2+)
│      └─── neon_single
│           ...
│   └─── x86_64
│      └─── x86_64_compute_backend
│      └─── AVX2_implemented (vcvt, cblas)
│      └─── AVX2_not_yet_implemented (go to fallback_internal)
│           ...
│   └─── fallback
│      └─── fallback ( !x86_64 & !aarch64 )
│      └─── fallback_internal
...

and removing blas_interface.h

taos-ci commented 2 months ago

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2549. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2549-202404181618220.29115009307861-c94059c0dfb6b54f2021eb42c4aa56adbc256ee3/.

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, nntrainer/tensor/cpu_backend/x86/x86_compute_library.cpp does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, The last line of a text file must have a newline character. Please append a new line at the end of the line in nntrainer/tensor/cpu_backend/fallback/cblas_fallback.h.

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2549-202404231448330.50109505653381-9928557b5c2d1e69647f68e68da0b41b463ab56d/.

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, nntrainer/tensor/cpu_backend/x86_64/x86_64_compute_library.cpp does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, nntrainer/tensor/cpu_backend/x86_64/x86_64_compute_library.cpp does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2549-202404231727240.68732190132141-950d9d530bcc4e49dba3d8422cdd78522d0ae33e/.

taos-ci commented 2 months ago

:octocat: cibot: @skykongkong8, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2549-202404240900580.55294299125671-5cca57a800deb6f9eead446b56ba231833114fdb/.