Realização:

Desafio de
Programação Paralela

Informações Gerais

O principal propósito desse desafio é fomentar o conhecimento em programação paralela e distribuída. O principal objetivo da competição é que os participantes alcancem o maior desempenho possível dos problemas apresentados, sem sacrificar a qualidade das respostas. Alunos de graduação e pós-graduação de Ciência da Computação, Engenharia da Computação, Sistemas de Informação e cursos correlatos são convidados a participar desta Maratona.

A competição deste ano acontecerá de forma presencial. Para participar, é necessário definir uma equipe que pode ser composta por até 3 (três) estudantes e um treinador (opcional). Sua duração será de 30h conforme está definida na grade de programação da ERAD-SP, durante a qual a equipe deverá resolver até 2 problemas. As equipes devem trazer seu próprio equipamento para a competição (notebooks, tablets, etc). A ERAD-SP poderá fornecer um espaço adicional para os competidores se reunirem para resolver o problema, bem como a organização estará a disposição dos competidores durante todo o evento.

No início da competição (durante a Cerimônia de Abertura), a descrição dos problemas e a sua solução sequencial (serial) serão publicados no site do evento. As resoluções não só devem ter as respostas iguais, mas também apresentar desempenho (speedup) em suas versões paralelas e/ou distribuídas, medidas de acordo com critérios definidos pelo comitê da competição atual.


Programação


Registro da equipe

O registro das equipes pode ser feito ao longo de toda competição, diretamente no formulário online em https://forms.gle/3j4y82YZCkj87b1q6.

Seja rápido e garanta sua participação!


Ambiente Computacional

O ambiente utilizado no Desafio foi fornecido pela MackCloud, Centro Multidisciplinar de Computação Científica e Nuvem da Universidade Presbiteriana Mackenzie. 

Os problemas serão julgados em :

Todos utilizam gcc-8.3.0 e cuda-11.0.0

Como se preparar

Nossa sugestão é que você participe ativamente dos Minicursos oferecidos pela ERAD-SP . Nestes, vocês estarão estudando e aplicando os conhecimentos básicos que serão fundamentais para o Desafio de Programação.

Outras fontes de estudo, caso tenha mais interesse, é o site da Maratona de Programação Paralela que acontece junto ao SBAC-PAD. Procure sobre as edições passadas e links para materiais online.

Segue também uma lista parcial de fontes de estudo:


Observações


Linguagem e Ferramentas

Ferramentas clássicas de HPC (OpenMP, MPI, POSIX Threads, CUDA) 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.


Pontuação

A submissão será considerada se a saída for correta, ou seja, igual 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 um time será somado ao placar. Somente a última submissão válida será considerada.

O acesso aos sistemas de julgamento, pontuação e placar podem ser acessadas em: http://lspd.mackenzie.br/boca/

Comitê

Calebe de Paula Bianchini (Mackenzie)