Имеет ли 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.