Executando verificação de segurança...
7

Pesquisadores do MIT apresentam linguagem de programação Exo 2

A Exo 2 pertence a uma categoria conhecida como “linguagens programáveis pelo usuário” (USLs, na sigla em inglês), permitindo que programadores definam explicitamente “agendamentos” (schedules) para orientar o compilador na geração do código, em vez de depender exclusivamente de otimizações automáticas.

Um dos desafios das USLs existentes, incluindo a primeira versão da Exo, é a limitação do conjunto de operações de agendamento. A Exo 2 supera essa restrição ao permitir que os usuários definam novas operações de agendamento fora do compilador. Com essa abordagem, a Exo 2 pode reduzir em até 100 vezes a quantidade de código necessária para agendamentos, ao mesmo tempo em que mantém um desempenho comparável ao de implementações otimizadas manualmente.

Outro benefício está na redução do esforço necessário para desenvolver código, pois a Exo 2 possibilita a reutilização de agendamentos em diferentes aplicações e arquiteturas de hardware. Para demonstrar isso, os pesquisadores criaram uma biblioteca de agendamento com cerca de 2 mil linhas de código.

Além disso, a nova versão introduz um mecanismo chamado Cursors, projetado para garantir que as otimizações feitas pelos programadores permaneçam estáveis e funcionem corretamente, independentemente de outras modificações no código.

No futuro, a equipe planeja ampliar o suporte da Exo 2 para um número maior de aceleradores de hardware, incluindo GPUs.

Carregando publicação patrocinada...