Вычисление GPU обещает более высокую производительность по сравнению с вычислением CPU, для приложений, таких как компьютерное зрение и машинное обучение, но проблема заключается в том, что многие разработчики могут не иметь нужной квалификации или времени, чтобы использовать такие API, как OpenCL. Так что ARM решили написать свои собственные вычислительные библиотеки ARM и сейчас представили их под MIT лицензией.
Функции найденные в библиотеке включают в себя:
- Начальные операторы арифметических, математических и бинарных функций
- Цветовые манипуляции (преобразование, извлечение канала и многое другое)
- Фильтры свертки (Собел, Гаусса и многое другое)
- Край Канни, углы Харрис, оптический поток и многое другое
- Пирамиды (такие как Лапласиана)
- HOG (гистограмма ориентированных градиентов)
- SVM (поддержка векторных машин)
- H/SGEMM (Половинная и одинарная точность общей матрицы умножения)
- Сверточные нейронные сети строительных блоков (активация, свертка, полное подключение, локальное подключение, нормализация, объединение, Soft-max)
Библиотека работает на Linux, Android или чистый метал armv7a (32bit) или arm64-v8a (64bit) архитектуре, использует NEON, OpenCL, или NEON + OpenCL. Вам потребуется OpenCL совместимы GPU, так что все GPU Mali-4xx не полностью поддерживаются, вам понадобится SoC with Mali-T6xx, T-7xx, T-8xx или G71 GPU чтобы воспользоваться библиотекой, исключая только функции NEON.
Для того, чтобы продемонстрировать свою новую библиотеку, ARM сравнили ее по производительности с библиотекой OpenCV на смартфоне Huawei Mate 9 c процессором HiSilicon Kirin 960 и ARM Mali G71MP8 GPU.
Даже с некоторым ускорением NEON в OpenCV, функции Convolutions и SGEMM примерно в 15 раз быстрее с вычислительной библиотекой ARM. Обратите внимание ARM выбрали аппаратную платформу с одним из их лучших GPU, так что он пока должен быть быстрее на OpenCL, на других ARM GPU разница должна быть меньше, но все равно должна быть заметна, то есть в несколько раз быстрее.
Прирост производительности других функций не столь значителен, но вычислительная библиотека все еще быстрее в 2 – 4 раза по сравнению с OpenCV.
В то время, как исходный код был представлен около трех недель назад, вычислительная библиотека ARM уже используется в некоторыми производителями встраиваемых, потребительских и мобильных микросхем и OEM, для приложений, таких как 360-градусная панорамная камера, вычислительная камера, виртуальная и дополненная реальность, сегментация изображений, функция обнаружения и извлечения, обработка изображений, отслеживание, стерео и глубинный расчет, и несколько алгоритмов машинного обучения.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.