Thank you for your interest in contributing to TensorCraft-HPC! We welcome all forms of contributions.
If you find a bug or have a feature suggestion, please submit it via GitHub Issues:
- Search existing issues to avoid duplicates
- Use a clear title to describe the problem
- Provide reproduction steps (if it's a bug)
- Include environment information:
- Operating system
- CUDA version
- GPU model
- Compiler version
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes:
git commit -m 'Add some feature' - Push the branch:
git push origin feature/your-feature - Create a Pull Request
- Use C++17 as the base standard
- Follow Google C++ Style Guide (with exceptions below)
- Indentation: 4 spaces
- Naming conventions:
- Class names:
PascalCase - Function names:
snake_case - Variable names:
snake_case - Constants:
kConstantNameorCONSTANT_NAME - Template parameters:
PascalCase
- Class names:
- Kernel functions use
__global__prefix - Device functions use
__device__ __forceinline__ - Use
__restrict__to hint the compiler - Explicitly specify
__launch_bounds__
- All public APIs need documentation comments
- Use Doxygen style comments
- Complex algorithms need explanation
- All new features need tests
- Use GoogleTest framework
- Test files go in
tests/directory
cmake --preset dev
cmake --build --preset dev --parallel 2
ctest --preset dev --output-on-failureBefore submitting a PR, please confirm:
- Code follows project style guidelines
- All tests pass
- New features have corresponding tests
- Documentation is updated
- No compiler warnings
- No significant performance regression
- GitHub Issues: Technical issues and feature requests
- Discussions: General discussion and Q&A
Thank you for your contribution! 🎉