Мне нужно вычислить определитель матрицы (массив двойной) с CUDA, и я хочу использовать разложение LU, чтобы сделать это.
Я не нахожу функцию устройства в cusolverSp.h
но только функция хоста cusolverSpDcsrlsvluHost
,
Я смотрю в CUDA 7,0 и CUDA 7,5.
Я не понимаю, почему я не могу найти его, потому что это описано в официальной документации: http://docs.nvidia.com/cuda/cusolver/index.html#api
Другие функции, такие как разложение Холецкого на устройстве работает.
Это реализовано?
Если да, где я могу найти это?
Спасибо за помощь!
Глядя на указанную вами документацию, я вижу:
Замечание 5: указывается только путь процессора (хоста)
Небольшое чтение на странице дает это:
Затем cuSolverSP предоставляет новый набор разреженных подпрограмм на основе
редкая QR-факторизация. Не все матрицы имеют хороший шаблон разреженности
для параллелизма в факторизации, поэтому библиотека cuSolverSP также
обеспечивает путь процессора для обработки этих последовательных матриц. За
те матрицы с обильным параллелизмом, путь GPU доставит
более высокая производительность. Библиотека предназначена для вызова из C и
C ++.
Объединяя эти две цитаты, я полагаю, что функцию устройства не стоило предоставлять … Это только моя интерпретация.