[Patch] Layers: Add layers in layout, and replace it in scheduler#1531
[Patch] Layers: Add layers in layout, and replace it in scheduler#1531tdavidcl wants to merge 17 commits intoShamrock-code:mainfrom
Conversation
|
Thanks @tdavidcl for opening this PR! You can do multiple things directly here: Once the workflow completes a message will appear displaying informations related to the run. Also the PR gets automatically reviewed by gemini, you can: |
Summary of ChangesHello @tdavidcl, 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 introduces a significant architectural enhancement by implementing a layered data layout system. The framework's core components, including the scheduler and context, now manage a collection of named data layers instead of a single flat structure. This change provides a more robust and extensible foundation for handling diverse simulation data. The extensive refactoring ensures that existing functionalities remain compatible through dedicated 'old' accessors, while simultaneously opening up possibilities for more complex and modular data management in future developments. Highlights
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 introduces a significant refactoring to support multiple layers in the patch data layout. The changes are widespread and mostly involve replacing pdl() with a backward-compatibility wrapper pdl_old(). While this is a good step towards a more flexible architecture, there are a few critical issues related to incorrect map access by index instead of by key, which will lead to compilation errors. Additionally, the compatibility wrappers have some overly restrictive checks that could hinder future extensibility. My review focuses on fixing these immediate bugs and improving the design for better maintainability.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a significant refactoring to support multiple layers in the patch data layout. The core change replaces PatchDataLayerLayout with PatchDataLayout, a container for named layers. To maintain backward compatibility, pdl_old() and get_layout_ptr_old() have been introduced to access the default "main" layer. The changes are extensive, touching many files, but are mostly mechanical and consistently applied. I've identified two critical issues in test files where the new PatchDataLayout is not initialized correctly, which would lead to runtime errors. These critical issues remain valid and require attention. I've provided suggestions to fix them.
Workflow reportworkflow report corresponding to commit 9f6b209 Light CI is enabled. This will only run the basic tests and not the full tests. Pre-commit check reportPre-commit check: ✅ Test pipeline can run. Doxygen diff with
|
No description provided.