BLAS-эквивалент функции LAPACK для графических процессоров - PullRequest
4 голосов
/ 06 февраля 2012

В LAPACK есть эта функция для диагонализации

  SUBROUTINE DSPGVX( ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU,
 $                   IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK,
 $                   IFAIL, INFO )

*

Я ищу ее реализацию на GPU.Я пытаюсь выяснить, была ли эта функция уже реализована в CUDA (или OpenCL), но нашел только CULA, которая не является открытым исходным кодом.

Поэтому, и если существует дополнительная сторона CUBLAS, мне интересно, как я могу узнать, доступен ли эквивалент этой подпрограммы для BLAS или CUBLAS.

Ответы [ 2 ]

12 голосов
/ 06 февраля 2012

BLAS не включает решатели на собственные значения, и CUBLAS ничем не отличается в этом отношении.Разработанная UTK библиотека Magma включает в себя несколько подпрограмм, ускоряющих собственные значения GPU.Я не думаю, что xSPGV реализован, но некоторые другие.В зависимости от характеристик вашей матрицы, может быть что-то, что вы могли бы использовать.

2 голосов
/ 07 февраля 2012

MAGMA включает в себя исходный код.Только CUDA + CPU (на данный момент?)

"Проект MAGMA направлен на разработку библиотеки плотной линейной алгебры, аналогичной LAPACK, но для гетерогенных / гибридных архитектур, начиная с современных систем" Multicore + GPU "."

http://icl.cs.utk.edu/magma/index.html

http://web.eecs.utk.edu/~luszczek/pubs/parcocudaopencl.pdf (MAGMA для OpenCL в процессе)

РЕДАКТИРОВАТЬ: я наткнулся на эту библиотеку, когда я искалOCL материал ... http://viennacl.sourceforge.net/ Я собираюсь рассмотреть его поближе.(Вы можете сказать, что это хорошо по стилю сайта)

...