Skip to content

Converting to a standalone adapter - #2

Draft
kayaercument wants to merge 2 commits into
Munich-Quantum-Software-Stack:developfrom
kayaercument:develop
Draft

Converting to a standalone adapter#2
kayaercument wants to merge 2 commits into
Munich-Quantum-Software-Stack:developfrom
kayaercument:develop

Conversation

@kayaercument

Copy link
Copy Markdown
Collaborator

This PR aims to convert the existing implementation into a standalone implementation.

How to run it:

# Install CUDA Quantum
wget -O install_cuda_quantum https://github.com/NVIDIA/cuda-quantum/releases/download/0.15.0/install_cuda_quantum_cu12.x86_64 && bash install_cuda_quantum

#Compile the adapter with the CUDA Quantum's Clang
cmake .. -DCMAKE_CXX_COMPILER=/${CUDA_INSTALL_DIR/lib/llvm/bin/clang -DCMAKE_C_COMPILER=${CUDA_INSTALL_DIR/lib/llvm/bin/clang -DCUDAQ_DIR=${CUDA_INSTALL_DIR}/lib/cmake/cudaq

#Build and install
make && make install

A couple of things need to be improved:

  • Better naming for the parameters.
  • Improve the code quality.
  • Better dependency management.

FYI: @ctminh @echavarria-mqv

@kayaercument
kayaercument requested a review from mnfarooqi July 20, 2026 14:18
@kayaercument kayaercument self-assigned this Jul 20, 2026
FetchContent_Declare(
mqss-client
GIT_REPOSITORY https://github.com/kayaercument/MQSS-Client.git
GIT_TAG develop

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A version tag would be more stable as the develop is going to change over time.

Comment thread src/mqss.yml
# Define the JIT lowering pipeline
jit-mid-level-pipeline: "lower-to-cfg,quake-to-cc-prep,func.func(expand-control-veqs,combine-quantum-alloc,canonicalize,combine-measurements)"
# Tell the rest-qpu that we are generating OpenQASM 2.0.
codegen-emission: qasm2

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any option for the user to set it to a different IR type? e.g. quake or qir?

Comment thread src/CMakeLists.txt
@@ -0,0 +1,39 @@
set(LIBRARY_NAME mqss-adapter)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be a good idea to move this CMake file to the root folder?

Comment thread include/MQSSQPU.h
/// @brief the platform file path
std::filesystem::path platformPath;

mqss::client::MQSSClient client;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it need to be public?

Comment thread src/MQSSQPU.cpp
const cudaq::AnyModule &module,
cudaq::KernelArgs args) {
throw std::runtime_error(
"MQSSQPU does not support launching the async_sample_policy.");

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why MQSS can't support async? What is needed to support async?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants