Uma camada linear com dimensão de entrada 4096 e dimensão de saída 4096 multiplica uma matriz de entrada (batch_size × 4096) por uma matriz de pesos (4096 × 4096), produzindo uma saída (batch_size × 4096). Cada elemento de saída é o produto escalar de uma linha de entrada e uma coluna de peso: 4096 multiplicações e 4095 adições. Para um exemplo, são 4096 × 4096 ≈ 16,8 milhões de operações multiplica-e-soma. Para uma camada. Um Transformer de 32 camadas faz isso dezenas de vezes por camada.
A multiplicação de matrizes é "embaraçosamente paralela": cada elemento de saída pode ser computado independentemente. Uma CPU os computa sequencialmente (rápido por elemento, mas serial). Uma GPU computa milhares simultaneamente (mais lento por elemento, mas massivamente paralelo). Uma NVIDIA H100 realiza ~1000 TFLOP/s de multiplicação de matrizes FP16 — aproximadamente 1 quatrilhão de operações multiplica-e-soma por segundo. Esse paralelismo é a razão inteira pela qual deep learning se tornou prático.
GEMM (General Matrix Multiply) é tão central que fabricantes de hardware o otimizam obsessivamente. CUDA cores são projetados para matmul. Tensor Cores (NVIDIA) realizam multiplicações de matrizes 4×4 em um único ciclo de clock. Toda a hierarquia de memória (registradores, memória compartilhada, cache L1/L2, HBM) é organizada para manter dados fluindo para as unidades de matmul. Quando pessoas dizem que a inferência de IA é "limitada por largura de banda de memória", elas querem dizer que o hardware consegue multiplicar mais rápido do que consegue ler as matrizes da memória.