[REFACTOR] Remove picojson dependency, replace with tvm::ffi::json API#18759
Conversation
Summary of ChangesHello @MasterJH5574, 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 refactors the codebase by eliminating the external Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request successfully refactors the codebase to remove the picojson dependency and replace its usage with the tvm::ffi::json API. The changes span across several C++ source files, build configurations, and license files, effectively removing all traces of picojson. The migration to the new JSON API has been implemented correctly. I've suggested one minor performance improvement to pre-allocate memory for a vector, consistent with patterns in other parts of the modified code. Overall, this is a solid refactoring that improves dependency management.
fb2d1f5 to
576b306
Compare
|
cc @Ubospica |
Ubospica
left a comment
There was a problem hiding this comment.
LGTM! Just some minor comments.
576b306 to
5c8d6da
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request is a refactoring that removes the picojson dependency and replaces all its usages with the new tvm::ffi::json API. This change affects several files, mainly in the runtime, where JSON parsing was used for configuration and metadata loading. The migration is done cleanly, using the new FFI-based JSON API, which is more integrated with the TVM type system. The changes also include cleanups in build files (CMakeLists.txt, Makefile) and license files to completely remove any trace of picojson. The refactoring is well-executed and improves the codebase by reducing an external dependency.
Migrate all picojson usages to the new tvm::ffi::json API built on the FFI type system, and remove the 3rdparty/picojson directory entirely. - Migrate src/runtime/vm/tensor_cache_support.cc - Migrate src/runtime/disco/loader.cc - Migrate src/runtime/contrib/nvshmem/init.cc - Remove PICOJSON_PATH from CMakeLists.txt, LibInfo.cmake, libinfo.cc - Remove picojson include path from web/Makefile - Remove picojson entry from LICENSE - Delete 3rdparty/picojson/ and licenses/LICENSE.picojson.txt
5c8d6da to
db324f7
Compare
Migrate all picojson usages to the new tvm::ffi::json API built on the FFI type system, and remove the 3rdparty/picojson directory entirely.