Merged
Merged
Conversation
Summary of Changes
Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request improves the robustness and user experience when integrating ONNX Runtime. It adds a crucial build-time warning for potential CUDA version mismatches that could lead to runtime failures, helping users proactively address compatibility issues. Additionally, it refines the application's ability to catch and report errors originating from the ONNX Runtime library, ensuring clearer diagnostics and more stable execution.
Highlights
- CUDA Compatibility Warning: A new CMake warning has been introduced to alert users if their CUDA version is incompatible with the ONNX Runtime GPU binary, specifically for ONNX Runtime versions 1.22 and greater requiring CUDA 12 or newer.
- Improved ONNX Runtime Error Handling: Exception handling for ONNX Runtime operations has been enhanced to catch and log specific ONNX Runtime exceptions, providing more informative error messages and preventing mixed log output.
- cmake/FindDependencies.cmake
- Introduced a CMake warning to alert users about potential ONNX Runtime GPU binary mismatches with older CUDA versions (less than 12.0).
- Corrected a typo from "FATAL_ERRROR" to "FATAL_ERROR" for x86_64 ONNX Runtime support on macOS.
- src/colmap/feature/onnx_utils.cc
- Included the "" header for standard I/O operations.
- Implemented
RethrowONNXExceptionhelper function to standardize ONNX Runtime exception handling, logging errors, and ensuring proper newline formatting forstderr. - Refactored
ONNXModelconstructor to delegate session initialization to a newInitializeSessionprivate method, addingtry-catchfor robust error handling during construction. - Wrapped the
ONNXModel::Runmethod's execution withtry-catchto catch and rethrow ONNX Runtime exceptions using the new helper.
- src/colmap/feature/onnx_utils.h
- Declared the new
InitializeSessionprivate method in theONNXModelclass to support refactored session setup.
- Declared the new
- No human activity has been recorded on this pull request yet.
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in pull request comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with ๐ and ๐ on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. โฉ
Labels
None yet