Google: внедрение OpenCL вдвое ускорило механизм логического вывода в TensorFlow

image

Google представила новый механизм логического вывода на мобильных ускорителях через OpenCL для своей платформы TensorFlow на Android. По словам представителей компании, он удвоит скорость вычислений по сравнению с существующим модулем на основе OpenGL при исполнении моделей ИИ «разумного размера».

Механизм доступен в последней версии библиотеки TensorFlow Lite.

Вычислительные шейдеры добавляли в версии OpenGL ES 3.1, API для рендеринга векторной графики, но тогда команда TensorFlow заявила, что этот API не позволяет реализовать в полной мере потенциал графических процессоров из-за проблем обратной совместимости.

OpenCL же с самого начала разрабатывался как стандарт для вычислений с использованием различных ускорителей. В TensorFlow решили перейти на движок на основе OpenCL после соответствующего исследования.

Поддержка FP16 и концепция постоянной памяти в новом механизме логического вывода TensorFlow поможет работать некоторым старым ускорителям типа Adreno 305 в полную силу. А вот испытание поисковой нейронной системы MNASNet 1.3 через новую библиотеку TensorFlow продемонстрировало уменьшение задержки со 100 мс до 25 мс.

При этом в Google отметила, что OpenCL не является частью стандартного дистрибутива Android, поэтому новая библиотека может быть недоступна для некоторых пользователей.

В связи с этим TensorFlow Lite теперь проверяет наличие OpenCL. Если API недоступен, то происходит переключение на движок на базе OpenGL.

См. также:

© Habrahabr.ru