Segundo Pat Gelsinger, silício sem suporte de software é um bug!

O suporte ao hardware por parte de drivers, APIs, bibliotecas e frameworks, é fundamental para garantir a utilização plena dos recursos que ele oferece. Isto todos já sabem e como dizem na gíria popular, dizer isto é “chover no molhado”! No entanto, as estratégicas e propostas elaboradas por cada fabricante de hardware podem variar bastante, de acordo com a sua área de atuação e posição no mercado. No caso da Intel (a maior fabricante de CPUs x86 para o mercado de servidores e PCs desktops), o software deveria “vir em primeiro lugar”

“Broad software compatibility is a fundamental advantage that Intel’s processors have traditionally had over other CPUs both because of the x86 architecture and because Intel has always worked closely with software developers. But as the world is changing, Intel’s CEO Pat Gelsinger has to look at software in different ways than his predecessors. On the one hand, Intel must work with a broader ecosystem of independent software vendors (ISVs) than before, and work more closely than before. But on the other hand, Intel’s own software could bring new revenue streams to the company.”

— by Tom’s Hardware.

Estranho, não? Apesar da declaração vir de um CEO que representa um fabricante especializado em hardware, na prática as suas afirmações fazem muito sentido! Recentemente, tenho acompanhando o desenvolvimento de muitas tecnologias, o objetivo de tirar o melhor proveito do hardware, como as extensões de conjunto de instruções dos seus processadores, bem como a otimização de baixo nível para o uso eficiente de APIs gráficas, resultando em uma maior performance em computação gráfica. A Intel (de fato) tem se destacado bastante neste aspecot, pois graças aos seus esforços em promover um grande ecossistema de software alinhado aos recursos de hardware que oferece, ela atualmente se encontra em uma posição muito confortável, em relação ao mercado em que atua!

O mesmo se dá em relação ao inverso: cada vez mais grandes desenvolvedores de softwares também estão investindo em plataformas de hardware próprio, para tirar melhor proveito dos recursos e funcionalidades que as suas plataformas oferecem, como é o caso da Apple (que passou a produzir os seus próprios SoCs, baseados na arquitetura ARM e segundo alguns rumores, vai fazer algumas experiências com a arquitetura RISC-V). Já a Microsoft, ela desde sempre adotou uma abordagem diferenciada, mantendo uma relação mais estreita e amigável com os principais fabricantes de hardware, entregando especificações de frameworks e APIs, para facilitar o desenvolvimento de drivers e suporte por parte do seu sistema operacional e aplicativos.

Quanto ao Linux e o Software Livre, ambos também estão tirando um enorme proveito desta abordagem, já que o sistema vem cada vez mais recebendo uma atenção especial por parte de fabricantes e desenvolvedores. O kernel Linux é parte fundamental das principais distribuições do mercado e é bastante utilizado em servidores, datacenters, computação nas nuvens e dispositivos inteligentes, além da grande base de dispositivos móveis que rodam o sistema Android. Ao mesmo tempo, mais projetos de APIs e frameworks de código aberto vêm surgindo no mercado, com a promessa de promover uma abordagem mais abrangente e que faça o uso dos produtos comercializados pelas empresas que a patrocinam. A Intel e a sua API oneAPI é um belo exemplo disso!

Resumindo: para os desenvolvedores (que em geral, costumam ignorar as especificações de hardware), conhecer o funcionamento de hardware é de suma importância, para entender a sua interação com o software e como este último poderá tirar proveito de todos os seus recursos… &;-D