умножение матриц для целочисленных типов с использованием BLAS - PullRequest
4 голосов
/ 02 декабря 2009

Есть ли эквивалент dgemm (от BLAS) для целочисленных типов? Я знаю только dgemm, sgemm для матриц двойной точности / одинарной точности, но хотел бы иметь его для матриц целого типа, таких как int (или short int ...).

Примечание: я не ищу решение, которое включает преобразование в float / double, и ищу быструю реализацию библиотеки.

Также, тот же вопрос для dgemms (используя алгоритм Штрассена).

Ответы [ 2 ]

3 голосов
/ 02 декабря 2009

Вы не указали язык программирования. В C ++ вы можете взаимодействовать с библиотекой матриц, такой как Eigen (отказ от ответственности: я связан с этим проектом). Eigen использует векторизацию, поэтому она должна быть довольно быстрой - убедитесь, что вы включили векторизацию - но я не проводил никаких экспериментов, поэтому я не уверен. Есть некоторые сложные проблемы с выравниванием , которые могут быть проблемой для вас, но я не знаком с ними.

В этом вопросе SO рассматриваются различные библиотеки матриц C ++, в основном в контексте компьютерной графики.

3 голосов
/ 02 декабря 2009

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

...