Я ищу любую стандартную программу C, которая использует API-интерфейсы OpenMP для разреженных матрично-векторных или матрично-матричных умножений. Может кто подскажет, есть ли такие программы.
программа умножения разреженных матриц openmp
Ответы (2)
Если вы не ищете библиотеку с открытым исходным кодом, вы можете попробовать взглянуть на подпрограммы Intel MKL Sparse-BLAS уровня 2 и уровня 3:
http://software.intel.com/sites/products/documentation/hpc/mkl/updates/10.3.5/mklman/index.htm
Эти библиотеки должны быть многопоточными с использованием OpenMP, как указано на следующей странице:
person
Massimiliano
schedule
20.08.2011
Я хотел бы знать, есть ли у кого-нибудь солидный опыт работы с разреженными подпрограммами Intel.
- person Lucas; 29.08.2011
Я не понимаю, почему вы ищете стороннюю библиотеку для выполнения разреженных матрично-матричных умножений.
Взгляните на эту замечательную книгу (Введение в параллельные вычисления): http://www.scribd.com/doc/60118054/72/The-matrix%E2%80%93vector-multiplication-with-OpenMP.
person
Thomas Berger
schedule
17.08.2011
ОП запрашивает библиотеки для разреженных данных (разреженные матрицы, разреженные векторы). Кажется, ваша ссылка касается только традиционных (то есть плотных) матриц, или я что-то упустил?
- person Iterator; 19.08.2011
Нет, в книге также есть очень большая часть о разреженной матрице. Также упоминаются две библиотеки: LAPACK и то, как она с ней работает. Поскольку LAPACK является библиотекой по умолчанию для математики с OpenMP, я не понимаю необходимости в дополнительных библиотеках. Извините, если мой пост был непонятен.
- person Thomas Berger; 19.08.2011
Я думаю, что просьба о библиотеке — абсолютно оправданный вопрос. Часто очень полезно и важно иметь под рукой тщательно протестированные библиотеки, на которые можно положиться. Самостоятельное программирование полностью противоречит мантре повторного использования рабочего кода.
- person Lucas; 29.08.2011
@ Лукас, верно, но есть библиотека по умолчанию! LAPACK — это лучшая практика для OpenMP, и она упоминается в книге.
- person Thomas Berger; 29.08.2011
@Thomas, если бы я хотел использовать Lapack, я бы также использовал де-факто стороннюю библиотеку. Кроме того, Lapack не включает алгоритмы для разреженных матриц netlib.org/lapack. Вопрос также неявно касался подпрограмм blas, а не подпрограмм lapack.
- person Lucas; 29.08.2011