LAPACKE на Accelerate Framework

Я разрабатываю инструмент на основе линейной алгебры на C ++, который позволяет пользователям подключаться к OpenBLAS / ATLAS / Intel MKL в разных операционных системах. Это все хорошо в Windows и Linux, но я бы предпочел, чтобы пользователи OS X также могли подключаться к Accelerate Framework. Тем не менее, мой код использует LAPACKE, который является C-интерфейсом для LAPACK (например, функции являются LAPACKE_fxname), который, по-видимому, не является частью Accelerate Framework. Вместо, он имеет функции CLAPACK f2c’d (например, это функции fxname_), которые имеют другой интерфейс и используют хранилище на уровне столбца.

Поскольку остальная часть моего кода работает на мажоре строк, я бы предпочел не преобразовывать матрицу в мажор столбцов, чтобы использовать CLAPACK в OS X, но это единственный вариант? Другими словами, при разработке кроссплатформенного программного обеспечения с LAPACKE, есть ли способ использовать Accelerate Framework? Или есть какой-то прием, который я могу использовать, чтобы использовать функции CLAPACK в массивах с основными строками (может быть, просто передать флаг «transposed» для «не транспонированных» операций? Мне кажется, что матрица с основными строками хранится таким же образом в качестве транспонированной матрицы порядка столбцов.)

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …