Proposta Técnica de Projeto: Avaliação,
Otimização e Expansão de Compilador Portátil
para HPF
Extensões aprovadas em HPF 2.0
A especificação da linguagem HPF 2.0 [6]
é dividida em duas partes:
-
a linguagem HPF 2.0 própriamente dita
-
extensões aprovadas para HPF 2.0
O compilador HPF desenvolvido no IEAv inicialmente aceitava programas descritos
em um subconjunto de HPF 1.0, denominado "HPF 1.1 Subset"[6].
Atualmente reconhece programas descritos em HPF2.0. Dentre as diretivas
reconhecidas, destacamos DISTRIBUTE, ALIGN, PROCESSORS, TEMPLATE e INDEPENDENT.
Há ainda as extensões dos comandos FORALL e PURE.
A especificação de HPF 2.0 propõe um conjunto de extensões
à linguagem com o propósito de investigar a utilidade destas
novas diretivas e instrínsicas à exploração
de paralelismo em Fortran, para uma futura implementação
em compiladores HPF, já como parte das diretivas "oficiais" da linguagem.
Dentre estas diretivas, destacamos:
-
distribuições INDIRECT, visando distribuições
irregulares (many-to-one mapping)
-
ON, permitindo explicitar paralelismo de tarefas (task
parallelism)
-
I/O paralelo
-
novas instrínsicas
Concretamente,
propomos a avaliação do esforço de implementação
destas novas diretivas e sua utilidade. Em função dos resultados
desse estudo, propomos implemetar as diretivas e intrínsicas selecionadas.