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