{"id":26265736,"url":"https://github.com/andrewboessen/bitonic-merge-sort","last_synced_at":"2026-05-16T23:32:09.362Z","repository":{"id":271773707,"uuid":"860594161","full_name":"AndrewBoessen/Bitonic-Merge-Sort","owner":"AndrewBoessen","description":"Bitonic Merge Sort algorithm optimized for GPU execution","archived":false,"fork":false,"pushed_at":"2025-01-24T20:12:03.000Z","size":43,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T03:15:04.205Z","etag":null,"topics":["bitonic-merge-sort","cuda","sorting-network"],"latest_commit_sha":null,"homepage":"","language":"Cuda","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/AndrewBoessen.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":"2024-09-20T18:23:34.000Z","updated_at":"2025-01-24T20:12:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d612d22-b09a-4498-bd98-18dbefee5ab3","html_url":"https://github.com/AndrewBoessen/Bitonic-Merge-Sort","commit_stats":null,"previous_names":["andrewboessen/bitonic-merge-sort"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AndrewBoessen/Bitonic-Merge-Sort","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewBoessen%2FBitonic-Merge-Sort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewBoessen%2FBitonic-Merge-Sort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewBoessen%2FBitonic-Merge-Sort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewBoessen%2FBitonic-Merge-Sort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndrewBoessen","download_url":"https://codeload.github.com/AndrewBoessen/Bitonic-Merge-Sort/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewBoessen%2FBitonic-Merge-Sort/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33122081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"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":["bitonic-merge-sort","cuda","sorting-network"],"created_at":"2025-03-14T03:15:06.943Z","updated_at":"2026-05-16T23:32:09.324Z","avatar_url":"https://github.com/AndrewBoessen.png","language":"Cuda","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GPU Bitonic Merge Sort\n\nThis repository contains an implementation of the Bitonic Merge Sort algorithm optimized for GPU execution. Bitonic Merge Sort is a parallel sorting algorithm that is particularly well-suited for implementation on GPUs due to its highly parallelizable nature.\n\n## Overview\n\nBitonic Merge Sort is a comparison-based sorting algorithm that can sort n elements in O(log^2(n)) parallel steps using O(n log^2(n)) comparisons. This implementation leverages the massive parallelism of GPUs to achieve high-performance sorting for large datasets.\n\n## Features\n\n- Efficient GPU implementation of Bitonic Merge Sort\n- Support for sorting large arrays of various data types\n- Optimized for CUDA-capable NVIDIA GPUs\n- Configurable block size and thread count for performance tuning\n- Benchmarking tools to compare CPU and GPU sorting performance\n\n## Requirements\n\n- CUDA-capable GPU (Compute Capability 3.0 or higher)\n- CUDA Toolkit (version 10.0 or later recommended)\n- C++ compiler with C++11 support\n- CMake (version 3.10 or later)\n\n## Installation\n\n1. Clone this repository:\n   ```\n   git clone https://github.com/yourusername/gpu-bitonic-sort.git\n   cd gpu-bitonic-sort\n   ```\n\n2. Build the project:\n   ```\n   make all\n   ```\n\n## Usage\n\nAfter building the project, you can run the main executable:\n\n```\n./gpu_bitonic_sort [array_size]\n```\n\nThis will generate a random array of the specified size, sort it using both CPU and GPU implementations, and display timing information and correctness verification.\n\n## Performance\n\nThe GPU implementation typically outperforms CPU-based sorting algorithms for large datasets. Performance can vary based on the specific GPU hardware and the size of the input data. Benchmark results for various array sizes and GPU models can be found in the `benchmarks` directory.\n\n## Contributing\n\nContributions to improve the implementation or extend its functionality are welcome. Please feel free to submit issues or pull requests.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewboessen%2Fbitonic-merge-sort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewboessen%2Fbitonic-merge-sort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewboessen%2Fbitonic-merge-sort/lists"}