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
Realização da Competição: início da competição as 13:30 do dia 17 de julho de 2023
Divulgação dos Resultados: sessão de encerramento da ERAD-SP (veja na 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 :
1 nó computacional Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz com 128 Gb de RAM
1 nó computacional Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz com 64 Gb de RAM e 1 NVidia Tesla K80
80T de Storage com acesso via Infiniband
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)