Despacho Dinâmico de Alto Desempenho com GLIBC hwcaps
2025-07-16
Este artigo demonstra como aproveitar o hwcaps do GLIBC 2.33+ para despacho dinâmico simples em bibliotecas compartilhadas amd64 e POWER. Ao criar arquivos de biblioteca para diferentes conjuntos de instruções de CPU (por exemplo, x86-64-v4, x86-64-v3, etc.) em `/usr/lib/glibc-hwcaps/`, o vinculador dinâmico carrega automaticamente a biblioteca correspondente com base no conjunto de instruções mais alto suportado pela CPU, otimizando o desempenho. Isso resolve o desafio de manter o desempenho consistente da biblioteca em diferentes arquiteturas de CPU, como demonstrado na criação do pacote Debian da biblioteca ggml usada pelo llama.cpp e whisper.cpp.
Desenvolvimento
despacho dinâmico