{"id":29360309,"url":"https://github.com/sciroccogti/ldpc-with-simd","last_synced_at":"2025-07-09T07:30:30.658Z","repository":{"id":52467489,"uuid":"304829308","full_name":"Sciroccogti/LDPC-with-SIMD","owner":"Sciroccogti","description":"LDPC with SIMD aimed at AMD CPUs.","archived":false,"fork":false,"pushed_at":"2022-09-22T03:28:28.000Z","size":582,"stargazers_count":0,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-08T18:22:21.906Z","etag":null,"topics":["alist","ldpc","simd","tanner-graph"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sciroccogti.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}},"created_at":"2020-10-17T08:10:43.000Z","updated_at":"2021-11-13T13:08:58.000Z","dependencies_parsed_at":"2023-01-18T18:17:08.323Z","dependency_job_id":null,"html_url":"https://github.com/Sciroccogti/LDPC-with-SIMD","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/Sciroccogti/LDPC-with-SIMD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciroccogti%2FLDPC-with-SIMD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciroccogti%2FLDPC-with-SIMD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciroccogti%2FLDPC-with-SIMD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciroccogti%2FLDPC-with-SIMD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sciroccogti","download_url":"https://codeload.github.com/Sciroccogti/LDPC-with-SIMD/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sciroccogti%2FLDPC-with-SIMD/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264413673,"owners_count":23604272,"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","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":["alist","ldpc","simd","tanner-graph"],"created_at":"2025-07-09T07:30:23.886Z","updated_at":"2025-07-09T07:30:30.641Z","avatar_url":"https://github.com/Sciroccogti.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LDPC-with-SIMD\n\nLDPC with SIMD.\n\n⚠️ Just a experiment project, currently it's not using SIMD, and may not work properly.\n\n## Environment\n\n- OS: Ubuntu 20.04.1 or 18.04.4\n- Instruction: AVX2 or AVX512\n- Dependency:\n  - [CMake](https://cmake.org/)\n  - [Conon](https://conan.io/)\n  - [Eigen3](http://eigen.tuxfamily.org)\n  - [Python3-dev](https://www.python.org/)\n\n## Functions\n\n### Binary LDPC\n\n- [x] Encode\n- [x] Modulate(BPSK)\n- [x] Channel(AWGN)\n- [x] Demodulate(BPSK)\n- [x] Decode(NMS/SPA)\n\n### NonBinary LDPC\n\n- [x] Encode\n- [x] Modulate(BPSK)\n- [x] Channel(AWGN)\n- [x] Demodulate(BPSK)\n- [x] Decode(EMS)\n\n### Tools\n\n- [x] Draw Tanner\n- [x] Type in Alist\n\n### Install Conan\n\n```Bash\nsudo apt install python3-pip\npip3 install conan\n```\n\n### Install Python3-dev\n\n```Bash\nsudo apt install python3-dev\n```\n\n## How to use\n\n### 1 Simulation\n\n```Bash\nmkdir build\ncd build\nconan install .. --build=yaml-cpp\nconan profile update settings.compiler.libcxx=libstdc++11 default\ncmake -DBUILD_SHARED_LIBS=ON ..\ncmake --build .\n../bin/LDPC-with-SIMD --dec-h-path ../example/H.alist\n```\n\n### 2 Tools\n\n#### 2-1 Draw Tanner\n\n```Bash\npython3 script/tanner.py --dec-h-path example/H.alist\n```\n\n![](assets/tanner.png)\n\n#### 2-1 Type in Alist\n\n```Bash\npython3 script/makeAlist.py\n# nRow is: 4\n# nCol is: 6\n# 1 1 0 1 0 0 \n# 0 1 1 0 1 0\n# 1 0 0 0 1 1\n# 0 0 1 1 0 1\n# filename is: aaa.alist\n```\n\n## References\n\n### Binary LDPC and Basic\n\n- [pyldpc](https://github.com/hichamjanati/pyldpc.git)\n- [5G-SIMD-LDPC](https://github.com/SherlockHsu/5G-SIMD-LDPC)\n- [Python处理alist文件](https://www.cnblogs.com/lingr7/p/13038410.html)\n- [aff3ct](https://github.com/aff3ct/aff3ct)\n- [paper: NMS](https://www.researchgate.net/publication/3160637_Near_optimum_universal_belief_propagation_based_decoding_of_low-density_parity_check_codes)\n\n### Nonbinary LDPC\n\n- [NB_LDPC_FB](https://github.com/cedricomarchando/NB_LDPC_FB)\n- [Kaiserslautern database](https://www.uni-kl.de/channel-codes/channel-codes-database/non-binary-ldpc/)\n\n### C++ tutorial\n\n- [c++模板类(一)理解编译器的编译模板过程](http://blog.csdn.net/onafioo/article/details/29857281)\n- [Conan-CMake transparent integration](https://blog.conan.io/2018/06/11/Transparent-CMake-Integration.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciroccogti%2Fldpc-with-simd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsciroccogti%2Fldpc-with-simd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciroccogti%2Fldpc-with-simd/lists"}