{"id":19737235,"url":"https://github.com/waelkarman/parallel-executions","last_synced_at":"2025-10-06T00:41:12.516Z","repository":{"id":229827760,"uuid":"777742784","full_name":"waelkarman/parallel-executions","owner":"waelkarman","description":"Exploring parallel programming using C++ primitives, POSIX Threads and OpenMPI.","archived":false,"fork":false,"pushed_at":"2024-04-21T11:51:19.000Z","size":519,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-21T12:56:59.875Z","etag":null,"topics":["cplus20","pthread"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waelkarman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-03-26T12:32:15.000Z","updated_at":"2024-04-23T12:57:50.437Z","dependencies_parsed_at":"2024-04-23T12:57:47.958Z","dependency_job_id":"8a9d095c-9cba-42c8-add9-4d2511731ab5","html_url":"https://github.com/waelkarman/parallel-executions","commit_stats":null,"previous_names":["waelkarman/parallel-data-structure","waelkarman/parallel-executions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/waelkarman/parallel-executions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waelkarman%2Fparallel-executions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waelkarman%2Fparallel-executions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waelkarman%2Fparallel-executions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waelkarman%2Fparallel-executions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waelkarman","download_url":"https://codeload.github.com/waelkarman/parallel-executions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waelkarman%2Fparallel-executions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278542673,"owners_count":26004060,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cplus20","pthread"],"created_at":"2024-11-12T01:10:05.054Z","updated_at":"2025-10-06T00:41:12.501Z","avatar_url":"https://github.com/waelkarman.png","language":"C++","readme":"# parallel programming [in development]\nThe main goal is to master parallel programming using C++ primitives, POSIX Threads and OpenMPI.\n\n- C++/20 primitives\n- POSIX Threads\n- OpenMPI\n\n\u003cimg src=\"doc/screen2.gif\"\u003e\n\nThe gif shows the behaviour implemented into the posix_singlecore_scheduler file as can be seen into htop observing the PID the application is creating a thread for each core sequentially. \n\n\u003cimg src=\"doc/screen1.gif\"\u003e\n\nThe gif shows the behaviour implemented into the thread_pool file as can be seen into htop the thread PID are always the same to process 100 different tasks. Use the same threads avoid the overhead introduced by creation and deletion of the threads.\n\n\n\n\u003c!-- lstopo --\u003e \n\u003c!-- numactl --\u003e\n\n# C++/20 build within a Docker\nUse the dockerfile to compile the C++/20 code if your system does not support it.\n\nPlease build using the following commands:\n\n\u003e sudo docker build -t cpp20-runner .\n\nTo run:\n\n\u003e sudo docker run cpp20-runner ./\\\u003cEXECUTABLE NAME\\\u003e\n\nTo stop the execution find the ID of your container using:\n\n\u003e sudo docker ps\n\nTo stop:\n\n\u003e sudo docker stop \\\u003cCONTAINER ID\\\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaelkarman%2Fparallel-executions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaelkarman%2Fparallel-executions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaelkarman%2Fparallel-executions/lists"}