Каковы эквиваленты открытого кода библиотек Apple Accelerate Framework?
Если мы посмотрим под зонтик Accelerate Framework, мы увидим несколько библиотек:
Я знаю, что BLAS и LAPACK имеют открытый исходный код, и тот же код, который используется в других местах, может быть скомпилирован с помощью Accelerate. Но как насчет vForce, vMathLib (и других в vMisc) и vDSP? Есть ли какой-нибудь открытый код для этих библиотек?
РЕДАКТИРОВАТЬ:
Позвольте мне уточнить это немного больше (только знаю, что у меня достаточно знаний, чтобы сделать это). В основном, vDSP, vFoce и vMathLib являются векторно-ориентированными библиотеками. Итак, если у нас есть вектор и мы хотим вычислить по нему компонентную функцию, скажем, sin() и cos(), быстрее использовать vvsincos() из Accelerate, потому что он будет передавать вычисления sin() и cos () для всех записей в векторе, что быстрее, чем использование цикла for для вектора. Просто расширяя эти функции в рядах Тейлора и используя тригонометрические отношения, мы видим, что происходит несколько повторяющихся вычислений, и фреймворк пытается этого избежать.
Это то же самое для FFT под vDSP и т. Д.
Чем моя проблема: что такое ЛУЧШИЙ открытый исходный код, эквивалентный этому? И если я разрабатываю свой проект в Accelerate, как я могу распространять его, используя инструменты с открытым исходным кодом, без необходимости переписывать мой код?
1 ответ
Стивен Кэнон (@stephencanon) любезно ответил мне в твиттере:
" OpenCV обеспечивает некоторые функциональные возможности vImage, а GSL частично перекрывается с vDSP. Ни один из них не является полным эквивалентом и не совместим с интерфейсом, поэтому нет замены, как в случае с BLAS/LAPACK".