Esta será a primeira edição da Maratona de Programação Paralela da ERAD/RS.
O principal propósito dessa competição é fomentar o conhecimento em programação paralela e distribuída em um torneio de alto nível. Seus alvos são as respostas corretas e o ganho de desempenho. Alunos de graduação e pós-graduação de Ciêcia da Computação, Engenharia da Computação, Sistemas de Informação e cursos correlatos são convidados a participar desta Maratona.
Cada equipe é composta por 3 (três) estudantes. A duração da maratona será de aproximadamente 4 horas para resolver até 5 problemas. As equipes podem trazer qualquer tipo de material impresso (livros, manuais, anotações, artigos). Não será permitido consulta em materiais externos durante a maratona.
No começo da competição, as equipes recebem a descrição dos problemas e sua solução sequencial (serial). As resoluções não só devem ter as respostas iguais, mas também apresentar desempenho (speedup) em suas versões paralelas (ou distribuídas), medidas de acordo com critérios definidos pelo comitê da competição atual.
Use o formulário online para registrar sua equipe. Somente alunos inscritos no evento poderão participar da maratona.
Limite de equipes: máximo de 13 equipes por ordem de registro.
Os computadores utilizados serão:
Máquina de testes:
A linguagem alvo será C/C++ com as ferramentas de programação paralela: MPI, OpenMP e CUDA.
A principal fonte de estudo é o site da Maratona de Programação Paralela que acontece junto ao SBAC-PAD. Procure sobre as edições passadas e links para materias online.
Abaixo segue uma lista parcial de fontes de estudo:
A Maratona é aberta a Equipes compostos de até três (3) estudantes, de graduação ou pós-graduação.
Um membro substituto pode ser indicado, e uma substituição é permitida até o início da Maratona. Cada Equipe terá um PC e acesso a máquina paralela para testar e medir suas soluções. O ambiente será testado durante o Warmup. Consulta a qualquer tipo de material impresso é permitido, e esses são de responsabilidade das Equipes.
Um comitê irá especificar um conjunto de problemas. Cada problema consiste na descrição informal do que precisa ser resolvido, formatos de entrada e saída, e implementação sequencial.
Ferramentas clássicas de HPC (OpenMP, MPI, POSIX Threads) estarão disponíveis aos competidores na máquina alvo. Outras ferramentas estarão disponíveis de acordo com a disponibilidade de plataforma.
Importante: o alvo principal da competição é o Speedup, e qualquer técnica será permitida a fim de melhorar o desempenho.
As Equipes terão acesso a um sistema online de submissão, uma versão modificada do BOCA. Submissões, esclarecimentos, problemas ou qualquer outro problema durante a competição deve ser reportadas através do sistema.
Os Juízes irão inspecionar as submissões e qualquer submissão injusta ou fraudulenta desclassificará a Equipe. Não obstante, qualquer código suspeito, malicioso, ou plagiado desclassifica a Equipe.
Uma submissão é um arquivo compacto com o código fonte, o Makefile e um script de execução. O script deve ser nomeado com o nome do problema com letras maiúsculas (ex. A). Pode-se submeter diversas soluções.
A submissão será considerada se a saída é correta, semelhante a saída do programa sequencial.
O speedup de cada submissão será medido da seguinte forma: o tempo de execução de uma solução será dividido pelo tempo de execução sequencial medido pela organização. A solução será medida três vezes e o tempo médio será empregado no cálculo do speedup. Qualquer otimização da parte sequencial será um bônus. O speedup de todos os problemas solucionados por uma Equipe será somado ao score. Somente a última submissão será considerada.
O comitê é composto por:
O comitê agradece especialmente ao Prof. Dr. Calebe de Paula Bianchini (Mackenzie/Brasil) pelo software e auxílio técnico indispensável à realização desta maratona.