Существует ли реализация градиентного спуска, которая использует матричное умножение?
Я использую приведенную ниже реализацию градиентного спуска в Octave для ML.
Сначала я попытался увеличить количество процессорных ядер и запустить многопоточный процессор Octave с использованием OpenBlas, но все еще не получил желаемых результатов, поэтому я попытался использовать инструментарий Nvidia и их графический процессор Tesla K80
Я загружаю Octave, используя nvblas, следуя инструкциям в этой статье:
Ускорение вставки в GNU Octave
Когда я проверил nvidia-smi, я обнаружил, что графический процессор простаивает, хотя мое тестирование с использованием умножения матричной матрицы дает ~9 терафлопс
Позже я понял, что умножение вектора матрицы, использованное для вышеупомянутой реализации, не поддерживается в соответствии с документацией nvblas.
Итак, мой вопрос: есть ли реализация градиентного спуска, которая использует матричное умножение или что-то эквивалентное, что может заменить реализацию градиентного спуска?