Почему CuBlas не использует массив 1d для треугольных матриц? - PullRequest
0 голосов
/ 05 июля 2018

Это может быть возврат к старому дизайну библиотеки BLAS, но я был удивлен только сейчас, когда обнаружил, что CuBlas тратит память, используя регулярные 2d-массивы для треугольных матриц. Я полагаю, это делает взаимодействие с остальным API более удобным.

1 Ответ

0 голосов
/ 05 июля 2018

Я был удивлен только сейчас, обнаружив, что CuBlas тратит память, используя регулярные двумерные массивы для треугольных матриц

Это не совсем верно.

Если вы посмотрите на процедуры уровня 2 BLAS, вы увидите, что они работают с треугольными или эрмитовыми матрицами, хранящимися в упакованном формате.

Подпрограммы уровня 3 BLAS этого не делают, но есть две веские причины, по которым они хранятся в полном плотном формате.

  • BLAS делает это таким образом

  • Эти подпрограммы были в основном добавлены в BLAS в качестве поддержки решателей LAPACK. И эти решатели обычно хранят результаты факторизации на месте в предоставленных полностью плотных входных данных, поэтому логично использовать этот формат в BLAS

Полагаю, если вам не нравится выбор дизайна, вы всегда можете попробовать написать Джеку Донгарре жалобу.

...