Skip to content

✨ MQT QDMI Driver #1010

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 85 commits into
base: qdmi-na-device
Choose a base branch
from
Draft

✨ MQT QDMI Driver #1010

wants to merge 85 commits into from

Conversation

ystade
Copy link
Collaborator

@ystade ystade commented Jun 20, 2025

Description

This is the second PR in a series of PRs adding QDMI implementations to MQT. #996 has already implemented a QDMI device. Still missing are QDMI clients and FoMaC making use of the device and the driver that is contained in this PR.

⚠️Note: This PR is based on the changes proposed in #996 as the device is needed for proper testing. Hence, I set qdmi-na-device as the base branch. This must be changed before merging and it should be merged to main after #996 was merged.

Checklist:

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

Copy link

codecov bot commented Jun 25, 2025

Codecov Report

Attention: Patch coverage is 51.70940% with 113 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/qdmi/Driver.cpp 49.7% 110 Missing ⚠️
include/mqt-core/qdmi/Driver.hpp 80.0% 3 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.7) reports: 4 concern(s)
  • test/qdmi/test_driver.cpp:18:1: warning: [misc-include-cleaner]

    included header tuple is not used directly

       18 | #include <tuple>
          | ^~~~~~~~~~~~~~~~
       19 | #include <unordered_set>
  • test/qdmi/test_driver.cpp:36:5: warning: [misc-include-cleaner]

    no header providing "size_t" is directly included

       13 |     size_t devicesSize = 0;
          |     ^
  • test/qdmi/test_driver.cpp:42:10: warning: [misc-include-cleaner]

    no header providing "std::vector" is directly included

       20 |     std::vector<QDMI_Device> devices(devicesSize / sizeof(QDMI_Device));
          |          ^
  • test/qdmi/test_driver.cpp:343:8: warning: [misc-include-cleaner]

    no header providing "std::array" is directly included

       13 |   std::array<char, size> devices{};
          |        ^

Have any feedback or feature suggestions? Share it here.

Comment on lines +361 to +372
INSTANTIATE_TEST_SUITE_P(
// Custom instantiation name
DefaultDevices,
// Test suite name
DriverTest,
// Parameters to test with
::testing::Values("MQT NA QDMI Default Device"),
[](const testing::TestParamInfo<std::string>& info) {
std::string name = info.param;
std::replace(name.begin(), name.end(), ' ', '_');
return name;
});

Check notice

Code scanning / CodeQL

Unused static variable Note test

Static variable gtest_DefaultDevicesDriverTest_dummy_ is never read.

Copilot Autofix

AI 2 days ago

Copilot could not generate an autofix suggestion

Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support.

Comment on lines +361 to +372
INSTANTIATE_TEST_SUITE_P(
// Custom instantiation name
DefaultDevices,
// Test suite name
DriverTest,
// Parameters to test with
::testing::Values("MQT NA QDMI Default Device"),
[](const testing::TestParamInfo<std::string>& info) {
std::string name = info.param;
std::replace(name.begin(), name.end(), ' ', '_');
return name;
});

Check notice

Code scanning / CodeQL

Unused static function Note test

Static function gtest_DefaultDevicesDriverTest_EvalGenerateName_ is unreachable (
gtest_DefaultDevicesDriverTest_dummy_
must be removed at the same time)
Static function gtest_DefaultDevicesDriverTest_EvalGenerator_ is unreachable (
gtest_DefaultDevicesDriverTest_dummy_
must be removed at the same time)

Copilot Autofix

AI 2 days ago

Copilot could not generate an autofix suggestion

Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Anything related to C++ code enhancement New feature or request minor Minor version update QDMI Anything related to QDMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants