Имеет ли cuSolverDN или другая библиотека CUDA пакетную версию QR-разложения для плотных матриц для решения A*x = b?

Я пытаюсь решить A*x = b, где A имеет комплексные значения и является плотным.

Я использовал метод cusolverDnCgeqrf() из библиотеки cuSolverDN, чтобы выполнить QR-разложение для одного линейного набора уравнений. Однако я хочу сделать это несколько раз, чтобы ускорить обработку.

Есть ли "пакетная" версия этого метода? Или я могу использовать другую библиотеку CUDA?

1 ответ

Вы можете использовать пакетный магма QR: http://icl.cs.utk.edu/projectsfiles/magma/doxygen/group__group__qr__batched.html

Или пакетная библиотека Nvidia: https://devblogs.nvidia.com/parallelforall/parallel-direct-solvers-with-cusolver-batched-qr/

Я не уверен, есть ли еще обертки для Python для них. Я хочу добавить, что пакетная версия многих решателей в настоящее время доступна либо через Magma, либо через Nvidia.

Единого стандарта пока нет, но он находится в стадии разработки, его обсуждают на семинарах по пакетной обработке: здесь

http://www.netlib.org/utk/people/JackDongarra/WEB-PAGES/Batched-BLAS-2017/ и здесь:

http://www.netlib.org/utk/people/JackDongarra/WEB-PAGES/Batched-BLAS-2016/

Проект готов, и я надеюсь, что скоро будет стандартный пакетный BLAS.

Другие вопросы по тегам