Nova linguagem de programação promete turbinar a computação de alta performance

A computação de alta performance ou alto desempenho, do inglês high performance computing (HPC), se refere à capacidade de processar dados e realizar simultaneamente cálculos complexos em alta velocidade. Ela é essencial em uma quantidade cada vez maior de situações em que é necessário analisar um vasto volume de dados, que em condições normais levariam muito tempo.

É praticamente consenso que neste tipo de equação a relação entre velocidade e eficiência, ou confiabilidade nos resultados, é inversamente proporcional. Se a prioridade for rapidez, a precisão é menor, e vice-versa.

Agora, uma equipe de pesquisadores do renomado Massachussetts Institute of Technology – MIT desenvolveu uma nova linguagem de programação específica para computação de alta performance, que faz cair por terra a dicotomia entre velocidade e confiabilidade.

A equipe formada por dois professores e uma doutouranda do Laboratório de Ciência da Computação e Inteligência Artificial do MIT (CSAIL) apresentaram sua criação no POPL’22 –Symposium on Principles of Programming Languages (simpósio anual de Princípios de Linguagens de Programação), realizado na Filadélfia (EUA). Eles afirmam que, com o que chamaram de linguagem tensorial, a velocidade e a precisão no processamento podem andar juntas. O ponto de partida, segundo eles, é produzir um único número ou um tensor, que são, por sua vez, generalizações de vetores e matrizes.

Batizada de Tensor Language (ou linguagem de tensor, numa tradução livre), foi desenvolvida de forma que todas as suas funções sejam trabalhadas e processadas como tensores. Desta forma, são definidos os vetores ou matrizes que não sejam unidimensional ou bidimensional.

Exemplo de como funciona a nova linguagem

Em um artigo que publicaram, há um exemplo sobre a aplicação da linguagem. Ele propõe imaginar uma série de números distribuídos em uma matriz de 100 linhas e 100 colunas, cada um correspondendo a um pixel. Para chegar à média desses números, serie necessário calcular o valor mediano das linhas e colunas da matriz e depois fazer outra operação para chegar ao resultado final.

“Há muitas formas de programação para escrever uma equação que calcule esta média. Na linguagem de tensor, uma fórmula específica faz o cálculo de forma otimizada para computadores de alta performance, sem perda de desempenho e ainda mais rápido”, explica Arie Halpern, especialista em tecnologias disruptivas. A computação de alto desempenho consome muitos recursos, por isso é preciso mudar ou reescrever programas de uma forma ideal para acelerar e otimizar o resultado.

A otimização do programa é verificada por uma função de assistente de prova, que realiza cálculos complexos em segundo plano para confirmar se a adaptação do programa está correta. Além disso, utiliza da melhor forma possível os recursos do hardware em que o programa está sendo executado.

A nova linguagem de programação ainda é um protótipo, mas os cientistas estão empenhados em melhorar a escalabilidade para que possa ser usada em programas ainda maiores do que os que já usamos atualmente.