Skip to content

Conversation

@machichima
Copy link

Purpose of PR

Add development guide for contributors to follow

Related Issues or PRs

Changes Made

  • Bug fix
  • New feature
  • Refactoring
  • Documentation
  • Test
  • CI/CD pipeline
  • Other

Breaking Changes

  • Yes
  • No

Checklist

  • Added or updated unit tests for all changes
  • Added or updated documentation for all changes
  • Successfully built and ran all unit tests or manual tests locally
  • PR title follows "MAHOUT-XXX: Brief Description" format (if related to an issue)
  • Code follows ASF guidelines

@machichima machichima changed the base branch from main to dev-qdp December 16, 2025 12:59
Copy link
Member

@guan404ming guan404ming left a comment

Choose a reason for hiding this comment

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

LGTM, thanks

uv pip install -r requirements.txt
```

If you only want to run mahout qdp without running qiskit or pennylane benchmark tests, simply uninstall them:
Copy link
Member

@guan404ming guan404ming Dec 16, 2025

Choose a reason for hiding this comment

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

I think we should clean up our environment and manage everything with uv.
We can handle this as a follow-up.

Copy link
Author

Choose a reason for hiding this comment

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

Sure! I will create a follow-up PR for this


### Q: I already installed CUDA driver and toolkit, making sure nvcc exists in PATH, but still get "no CUDA installed" warning

A: Run `cargo clean` to clean up the cache and try again No newline at end of file
Copy link
Member

Choose a reason for hiding this comment

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

Nice, useful suggestion

@guan404ming
Copy link
Member

Need to resolve the ci error, thanks~

@machichima
Copy link
Author

Hi @guan404ming ,
The CI error is solved. Thank you!

@@ -0,0 +1,90 @@
# Development Guide
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be nice to mention the devcontainer. #685

Copy link
Author

Choose a reason for hiding this comment

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

Thank you for this! I will add it into the docs

Copy link
Author

Choose a reason for hiding this comment

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

Added

Then, go to the `benchmark/` directory, where all e2e and benchmark tests are located, and install the requirements needed for testing:

```sh
uv pip install -r requirements.txt
Copy link
Contributor

@ryankert01 ryankert01 Dec 17, 2025

Choose a reason for hiding this comment

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

I'm actually thinking of moving /benchmark to /qdp-python/benchmark and manage dependency with pyproject.toml in the qdp-python, and expecting to install benchmark related stuff with uv pip install '.[benchmark]' or something. What do you guys think?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think is a nice suggestion.

Copy link
Contributor

Choose a reason for hiding this comment

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

created #735

Copy link
Author

Choose a reason for hiding this comment

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

SG to me!

@rich7420
Copy link
Contributor

@machichima thanks for the patch!
I think maybe we could add more trouble shooting Q/A.
like:
Q: Build fails with CUDA-related errors
A: Ensure CUDA toolkit is properly installed and nvcc is in PATH. Try cargo clean and rebuild.
Q: Python import fails after installation
A: Ensure you're using the correct Python environment where the package was installed. Verify with python -c "import mahout_qdp".
or something else.

@400Ping
Copy link

400Ping commented Dec 17, 2025

+1

@rawkintrevo rawkintrevo changed the title [docs] Add qdp development guide [docs][qdp] Add qdp development guide Dec 17, 2025
@rawkintrevo
Copy link
Contributor

just added qdp tag to title- we could also start using labels if y'all prefer

@machichima
Copy link
Author

@rich7420 added more troubleshooting. Please let me know if there's more things you want to add. Thank you!

@rich7420
Copy link
Contributor

LGTM

Copy link
Contributor

@ryankert01 ryankert01 left a comment

Choose a reason for hiding this comment

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

lgtm

@rich7420 rich7420 merged commit f9e4c28 into apache:dev-qdp Dec 19, 2025
2 checks passed
@rich7420
Copy link
Contributor

thanks @machichima for the patch, @guan404ming , @400Ping and @ryankert01 for the review

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.

6 participants