{"id":25435770,"url":"https://github.com/quentin18/exact-cover-parallel","last_synced_at":"2026-01-31T05:32:04.991Z","repository":{"id":112299329,"uuid":"356276965","full_name":"Quentin18/exact-cover-parallel","owner":"Quentin18","description":"Exact cover parallelization","archived":false,"fork":false,"pushed_at":"2022-01-28T16:02:19.000Z","size":6685,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T07:49:59.047Z","etag":null,"topics":["exact-cover","hpc","mpi","openmp"],"latest_commit_sha":null,"homepage":"","language":"eC","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Quentin18.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-09T13:15:55.000Z","updated_at":"2022-01-28T15:59:37.000Z","dependencies_parsed_at":"2023-05-12T15:30:18.138Z","dependency_job_id":null,"html_url":"https://github.com/Quentin18/exact-cover-parallel","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Quentin18/exact-cover-parallel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quentin18%2Fexact-cover-parallel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quentin18%2Fexact-cover-parallel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quentin18%2Fexact-cover-parallel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quentin18%2Fexact-cover-parallel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Quentin18","download_url":"https://codeload.github.com/Quentin18/exact-cover-parallel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quentin18%2Fexact-cover-parallel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28930374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exact-cover","hpc","mpi","openmp"],"created_at":"2025-02-17T07:31:55.870Z","updated_at":"2026-01-31T05:32:04.958Z","avatar_url":"https://github.com/Quentin18.png","language":"eC","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exact Cover Parallel\n\nParallélisation d'un solver du problème de couverture exacte.\n\n## Répertoires\n\n- `sequential` : programme séquentiel\n- `openmp` : parallélisation avec OpenMP\n- `mpi` : parallélisation avec MPI\n- `hybrid` : parallélisation avec MPI et OpenMP\n- `checkpointing` : parallélisation avec *checkpointing*\n- `instances` : instances du problème de couverture exacte\n- `benchmark` : scripts en Python pour lancer des benchmarks et visualiser les\nrésultats, fichiers de configuration (json) et fichiers de résultats (csv, png)\n\n## Compilation\n\n- Compiler un seul programme : aller dans un répertoire et entrer `make`\n- Compiler tous les programmes :  entrer `make` à la racine du répertoire\n- Supprimer un exécutable : entrer `make clean` dans un répertoire\n- Supprimer tous les exécutables : entrer `make clean` à la racine du répertoire\n\n## Versions\n\nVoici les différentes versions du solver du problème de couverture exacte.\n\n### Séquentielle\n\n- Répertoire : `sequential`\n- Programme : `exact_cover.c`\n\n```\n./exact_cover.out --in ../instances/bell13.ec\n```\n\n### Parallèle avec OpenMP\n\n- Répertoire : `openmp`\n- Programmes :\n  - `exact_cover_omp_bfs.c`\n  - `exact_cover_omp_tasks.c`\n\n```\n./exact_cover_omp_bfs.out --in ../instances/bell13.ec\n```\n\n### Parallèle avec MPI\n\n- Répertoire : `mpi`\n- Programmes :\n  - `exact_cover_mpi_bfs.c`\n  - `exact_cover_mpi_dynamic.c`\n  - `exact_cover_mpi_static.c`\n\nEn local (pour tester) :\n```\nmpirun -n 4 ./exact_cover_mpi_bfs.out --in ../instances/bell13.ec\n```\nSur Grid5000 (avec un processus par coeur) :\n```\nmpirun --map-by ppr:1:core --hostfile $OAR_NODEFILE ./exact_cover_mpi_bfs.out --in ../instances/bell13.ec\n```\n\n### Parallèle hybride MPI + OpenMP\n\n- Répertoire : `hybrid`\n- Programmes :\n  - `exact_cover_hybrid_bfs.c`\n  - `exact_cover_hybrid_tasks.c`\n\nEn local (pour tester) :\n```\nmpirun -x OMP_NUM_THREADS=2 -n 4 ./exact_cover_hybrid_bfs.out --in ../instances/bell13.ec\n```\nSur Grid5000 (avec un processus par noeud) :\n```\nmpirun --map-by ppr:1:node --hostfile $OAR_NODEFILE ./exact_cover_hybrid_bfs.out --in ../instances/bell13.ec\n```\n\n### Parallèle avec checkpointing\n\n- Répertoire : `checkpointing`\n- Programmes :\n  - `exact_cover_hybrid_cp.c`\n  - `exact_cover_mpi_cp.c`\n\n## Auteur\n\n[Quentin Deschamps](mailto:quentindeschamps18@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquentin18%2Fexact-cover-parallel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquentin18%2Fexact-cover-parallel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquentin18%2Fexact-cover-parallel/lists"}