Open Source ARM вычислительная библиотека представлена с NEON и OpenCL функциями ускорения для компьютерного зрения, машинного обучения


Вычисление 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.

Вычислительная библиотека ARM vs OpenCV, одно-поточный, CPU (NEON)

Даже с некоторым ускорением NEON в OpenCV, функции Convolutions и SGEMM примерно в 15 раз быстрее с вычислительной библиотекой ARM. Обратите внимание ARM выбрали аппаратную платформу с одним из их лучших GPU, так что он пока должен быть быстрее на OpenCL, на других ARM GPU разница должна быть меньше, но все равно должна быть заметна, то есть в несколько раз быстрее.

Вычислительная библиотека ARM vs OpenCV, одно-поточный, CPU (NEON)

Прирост производительности других функций не столь значителен, но вычислительная библиотека все еще быстрее в 2 — 4 раза по сравнению с OpenCV.

В то время, как исходный код был представлен около трех недель назад, вычислительная библиотека ARM уже используется в некоторыми производителями встраиваемых, потребительских и мобильных микросхем и OEM, для приложений, таких как 360-градусная панорамная камера, вычислительная камера, виртуальная и дополненная реальность, сегментация изображений, функция обнаружения и извлечения, обработка изображений, отслеживание, стерео и глубинный расчет, и несколько алгоритмов машинного обучения.

Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.