Довольно дико, как умножение матриц, которое является такой простой операцией, может иметь так много глубины и сложности, когда вы пытаетесь сделать его чрезвычайно быстрым. Многие из самых заметных улучшений в чипах Nvidia за последние несколько поколений направлены исключительно на ускорение умножения матриц. Например, в B200 у вас есть: - Тензорные ядра (ко-процессоры только для матмулов). Они могут обрабатывать большие блоки, чем предыдущие поколения. - Тензорная память, новый кэш только для хранения промежуточных выходных данных тензорных ядер. - Ускоритель тензорной памяти (TMA), аппаратное обеспечение (введенное в H100) только для асинхронного перемещения памяти для тензорных ядер. И затем вы получаете много сложности из всего программного обеспечения и абстракций, которые вам нужно, чтобы эффективно организовать все это оборудование.