Библиотека линейной алгебры с использованием OpenGL ES 2.0 для iOS

Кто-нибудь знает библиотеку линейной алгебры для iOS, которая использует OpenGL ES 2.0 под прикрытием?

В частности, я ищу способ сделать матричное умножение на матрицах произвольного размера (например, намного больше, чем 4x4, больше как 5000 x 100 000), используя графические процессоры на устройствах iOS.

3 ответа

MetalPerformanceShaders.framework предоставляет некоторые настроенные BLAS-подобные функции. Это не GLES. Он металлический и работает на GPU. Смотрите MetalPerformanceShaders/MPSMatrixMultiplication.h

Есть ли конкретная причина, по которой вы просите "использовать OpenGL ES 2.0 под прикрытием?" Или вы просто хотите быструю аппаратно оптимизированную библиотеку линейной алгебры, такую ​​как BLAS, которая встроена в iOS?

OpenGL на iOS, вероятно, неправильный путь. Металлическая поддержка на iOS была бы лучшим вариантом, если вы собираетесь использовать GPU.

металл

Вы можете использовать поддержку Apple для шейдеров Metal Compute. Я написал высокопроизводительный код для моей докторской диссертации в нем. Ранний эксперимент, который я провел при расчете некоторых фракталов с использованием металла, может дать вам несколько идей для начала.

В конечном счете, этот вопрос слишком широк. Для чего вы собираетесь использовать библиотеку или как вы собираетесь ее использовать? Это умножение один раз? Вы тестировали текущие библиотеки и обнаружили, что производительность слишком низкая? Если да, то сколько?

В общем, вы можете проводить образовательные или чисто информационные эксперименты по проверке производительности алгоритма X на процессоре в сравнении с GPU и специализированным аппаратным обеспечением, но чаще всего вы сталкиваетесь с законом Амдаля и вашим кодом против команды экспертов в данной области.

ускоряться

Вы также можете заглянуть в структуру ускорения, которая предлагает BLAS.

Apple, согласно докладу WWDC 2014 " Что нового в Accelerate Framework", вручную настроила библиотеки линейной алгебры, ориентированные на их оборудование текущего поколения. Они не просто быстрые, а энергоэффективные. Есть и более новые разговоры.

Другие вопросы по тегам