Библиотека Linal содержит подпрограммы линейной алгебры, в том числе векторные и матрично-векторные операции:
Распространяется по лицензии BSD из трех пунктов, исходный код также опубликован на Bitbucket.
Скачать linal-1.0.tar.bz2 (28 Кб)
Решатель системы линейных уравнений:
Подпрограммы векторных и матрично-векторных операций:
При наличии OpenMP, поддержка включается автоматически.
При наличии CUDA, собирается библиотека linal_cu с тем же API, которая выполняет все векторные и матрично-векторные операции на GPU. При использовании библиотеки с поддержкой CUDA считается, что все функции для векторных и матрично-векторных операций получают на вход массив, содержащийся в памяти GPU. Функции ввода-вывода работают с массивами, находящимися в памяти хоста.
Из бекендов решателя, GPU поддерживает только GMRES. Одновременно использовать linal и linal_cu нельзя.
Все функции библиотеки поддерживают типы float и double. Однако, следует иметь ввиду, что при использовании float в бекенде UMFPACK происходит конвертация в double, так как UMFPACK не поддерживает float.
Пример работы с библиотекой см. в файле tests/test_solver.cpp
.