ufabc-bcc / 2019.Q1.PP.Projeto2.Sokoban

Repositório para discussão e dúvidas sobre o Projeto 2 - Sokoban de 2019.Q1 Programação Paralela
0 stars 0 forks source link

Assertion 'buckets' failed #2

Open leonaascimento opened 5 years ago

leonaascimento commented 5 years ago

Os níveis do arquivo levels.zip que está na página do projeto são diferentes dos que estão chumbados no código C do Rosetta Code. O caso else é parecido com o nível 01 do levels.zip, mas tem 4 casas alvo em vez de 6.

Ao modificar o código C do Rosetta Code para usar os arquivos do levels.zip, explodiu o "erro" Assertion 'buckets' failed já para o nível 01 do levels.zip. Se for relevante, estou testando em um notebook com 16GB de RAM e o erro ocorre próximo aos 15GB de consumo. Sem as otimizações do tabuleiro mencionadas em aula, não dá pra fazer nada.

A saída do programa está abaixo.

    #####          
    #   #          
    #$  #          
  ###  $##         
  #  $ $ #         
### # ## #   ######
#   # ## #####  ..#
# $  $          ..#
##### ### #@##  ..#
    #     #########
    #######        
ohsok.out: src/main.c:178: extend_table: Assertion `buckets' failed.
Aborted (core dumped)

@francesquini poderia nos guiar com algumas medidas de tempo de consumo de memória do seu programa? Só para visualizarmos o que é possível...

francesquini commented 5 years ago

Olá @leonaascimento

Na minha máquina (16GB) ele funciona corretamente para o caso 01. Você compilou o código com -O3?

Ele usa por volta de 15 GB para resolver este caso, contudo. Talvez você não tenha configurado espaço de swap suficiente?

A princípio se preocupe em rodar o -1 e o 0 em paralelo. Depois preocupe-se com os casos maiores.