{"id":31768249,"url":"https://github.com/qiskit/qiskit-addon-sqd-hpc","last_synced_at":"2025-10-10T01:58:46.941Z","repository":{"id":315276192,"uuid":"1058658037","full_name":"Qiskit/qiskit-addon-sqd-hpc","owner":"Qiskit","description":"qiskit-addon-sqd-hpc is a modern C++ software library to enable large-scale SQD calculations on HPC systems.","archived":false,"fork":false,"pushed_at":"2025-10-07T20:04:45.000Z","size":392,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-07T22:09:49.164Z","etag":null,"topics":["cpp","cpp17","cpp20","header-only","hpc","qiskit","qiskit-addon","quantum-computing"],"latest_commit_sha":null,"homepage":"https://qiskit.github.io/qiskit-addon-sqd-hpc/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qiskit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-17T11:31:07.000Z","updated_at":"2025-10-03T20:36:42.000Z","dependencies_parsed_at":"2025-09-17T18:59:33.119Z","dependency_job_id":null,"html_url":"https://github.com/Qiskit/qiskit-addon-sqd-hpc","commit_stats":null,"previous_names":["qiskit/qiskit-addon-sqd-hpc"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Qiskit/qiskit-addon-sqd-hpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-addon-sqd-hpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-addon-sqd-hpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-addon-sqd-hpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-addon-sqd-hpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qiskit","download_url":"https://codeload.github.com/Qiskit/qiskit-addon-sqd-hpc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-addon-sqd-hpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002401,"owners_count":26083375,"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-09T02:00:07.460Z","response_time":59,"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":["cpp","cpp17","cpp20","header-only","hpc","qiskit","qiskit-addon","quantum-computing"],"created_at":"2025-10-10T01:58:45.802Z","updated_at":"2025-10-10T01:58:46.923Z","avatar_url":"https://github.com/Qiskit.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![C++17](https://img.shields.io/badge/C++17%20or%20later-%2300599C.svg?logo=c%2B%2B\u0026logoColor=white)](#)\n![Compilers](https://img.shields.io/badge/%F0%9F%94%A8%20Compilers-GCC%20%7C%20Clang%20%7C%20MSVC-informational)\n![Architectures](https://img.shields.io/badge/%E2%9A%99%EF%B8%8F%20Architectures-x86__64%20%7C%20ARMv8-informational)\n![Operating systems](https://img.shields.io/badge/%F0%9F%92%BB%20Operating_systems-Linux%20%7C%20macOS%20%7C%20Windows-informational)\n\u003cbr/\u003e\n[![Docs (dev)](https://img.shields.io/badge/%F0%9F%93%84%20Docs-stable-blue.svg)](https://qiskit.github.io/qiskit-addon-sqd-hpc/)\n[![License](https://img.shields.io/github/license/Qiskit/qiskit-addon-sqd-hpc?label=License)](LICENSE.txt)\n[![Tests](https://github.com/Qiskit/qiskit-addon-sqd-hpc/actions/workflows/test_latest_versions.yml/badge.svg)](https://github.com/Qiskit/qiskit-addon-sqd-hpc/actions/workflows/test_latest_versions.yml)\n[![Coverage](https://coveralls.io/repos/github/Qiskit/qiskit-addon-sqd-hpc/badge.svg?branch=main)](https://coveralls.io/github/Qiskit/qiskit-addon-sqd-hpc?branch=main)\n\n# qiskit-addon-sqd-hpc\n\nThis repository contains an HPC-ready implementation of the [Qiskit addon for Sample-based Quantum Diagonalization (SQD)](https://github.com/Qiskit/qiskit-addon-sqd).\n\n## Features\n\n- Modern C++17 template library, compatible with standard (STL) interfaces.\n- Provides low-level functions for performing postselection, subsampling, and configuration recovery.\n- Able to integrate with the [sbd eigensolver](https://github.com/r-ccs-cms/sbd), which was developed at RIKEN to enable large-scale SQD calculations.  See the [Qiskit 2.2 C API demo repository](https://github.com/qiskit-community/qiskit-capi-demo), in which a single binary harnessing both OpenMP and MPI-level parallelism is compiled for an HPC cluster.\n- Cross-architecture, tested on x86_64 and ARMv8.  Cross-platform, tested on Linux, macOS, and Windows, using GCC, Clang, and MSVC.\n- Compile with exceptions enabled or disabled -- your choice.  [RTTI](https://en.wikipedia.org/wiki/Run-time_type_information) is optional, too.\n- Complete [API documentation](https://qiskit.github.io/qiskit-addon-sqd-hpc/).\n- Fully tested, with a [test suite](test/) based on [doctest](https://github.com/doctest/doctest).\n- Performant, with a [micro-benchmark suite](benchmark/) based on [nanobench](https://github.com/martinus/nanobench).\n\n## Documentation\n\nAll documentation is available at https://qiskit.github.io/qiskit-addon-sqd-hpc/.\n\n## How to build\n\nThe library itself consists only of header files, so it can be used regardless of build system.  The tests and benchmarks are meant to be compiled with `cmake`.\n\n### Clone dependencies for testing\n\nTo clone repositories needed for tests and benchmarks, run:\n\n```sh\ngit submodule update --init --recursive\n```\n\n### Compile\n\n```sh\nmkdir -p build\ncd build\ncmake ..\ncmake --build . -j4\n```\n\nIf you wish to use a different build system, pass the `-G` option to the first invocation of `cmake`.  For instance, to use `ninja`, run `cmake .. -G Ninja`.\n\nTo compile with a version of C++ later than C++17, one must pass the `-DCMAKE_CXX_STANDARD` option to the first invocation of `cmake`.  For instance, to compile with the C++20 standard, run `cmake .. -DCMAKE_CXX_STANDARD=20`.\n\nTo compile with both RTTI and exceptions disabled, one must pass the appropriate flags to `cmake`.  For instance:\n\n```sh\nmkdir -p build\ncd build\ncmake .. -DCMAKE_CXX_FLAGS=\"-fno-rtti -fno-exceptions -DQKA_SQD_DISABLE_EXCEPTIONS=1 -DDOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS\"\ncmake --build . -t sqd_tests\n```\n\nThe above example builds only the `sqd_tests` target, as the benchmarks cannot be compiled with exceptions disabled because [nanobench uses RTTI and exceptions](https://github.com/martinus/nanobench/pull/125) internally.\n\n### Run test suite\n\nTo run the test suite, navigate to the `build` directory, then run\n\n```sh\n./sqd_tests\n```\n\n### Run benchmark suite\n\nTo run the benchmark suite, navigate to the `build` directory, then run\n\n```sh\n./sqd_benchmarks\n```\n\n## Deprecation policy\n\nWe follow [semantic versioning](https://semver.org/) and are guided by the principles in\n[Qiskit's deprecation policy](https://github.com/Qiskit/qiskit/blob/main/DEPRECATION.md).\nWe may occasionally make breaking changes in order to improve the user experience.\nWhen possible, we will keep old interfaces and mark them as deprecated, as long as they can co-exist with the\nnew ones.\nEach substantial improvement, breaking change, or deprecation will be documented in the\n[release notes](https://qiskit.github.io/qiskit-addon-sqd-hpc/release-notes.html).\n\n## Contributing\n\nThe source code is available [on GitHub](https://github.com/Qiskit/qiskit-addon-sqd-hpc).\n\nThe developer guide is located at [CONTRIBUTING.md](https://github.com/Qiskit/qiskit-addon-sqd-hpc/blob/main/CONTRIBUTING.md)\nin the root of this project's repository.\nBy participating, you are expected to uphold Qiskit's [code of conduct](https://github.com/Qiskit/qiskit/blob/main/CODE_OF_CONDUCT.md).\n\nWe use [GitHub issues](https://github.com/Qiskit/qiskit-addon-sqd-hpc/issues) for tracking requests and bugs.\n\n## License\n\n[Apache License 2.0](LICENSE.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiskit%2Fqiskit-addon-sqd-hpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqiskit%2Fqiskit-addon-sqd-hpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiskit%2Fqiskit-addon-sqd-hpc/lists"}