Repository navigation
Conversation
Summary of ChangesHello, 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 addresses a critical limitation in how Kueue ResourceFlavors handle TPU-specific node labels. By removing the automatic injection of topology-related labels and implementing a robust filtering layer, the changes ensure that Kueue does not inadvertently constrain large-scale TPU workloads to single node blocks, thereby enabling proper allocation for multi-cube and multi-slice configurations. 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 the 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 counterproductive. 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. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request removes the automatic addition of the TPU topology label to GKE node labels and filters out TPU-related labels (topology, slice, and partition) from the rendered resource flavor. The review feedback suggests replacing the hardcoded "cloud.google.com/gke-tpu-topology" string literal with the existing tpuTopologyLabel constant to improve maintainability.
c72e67c to
ac423e1
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request removes the TPU topology label assignment from the GKE orchestrator and introduces filtering logic in renderResourceFlavor to exclude TPU topology, slice, and partition labels from the Kueue ResourceFlavor specification. The review feedback correctly identifies a lack of unit test coverage for this new filtering logic and suggests adding a comprehensive unit test to verify that blocked labels are filtered out while allowed labels are preserved.
ac423e1 to
10220a3
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request removes the TPU topology label assignment from the GKE job orchestrator's accelerator resolution and introduces a filtering mechanism in renderResourceFlavor to exclude TPU topology, slice, and partition labels from the rendered resource flavor. A new unit test has been added to verify this filtering behavior. I have no feedback to provide as the changes are clean and well-tested.
…lusiveTopology when slicing
4cbf339 to
ceabb74
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request updates the GKE job orchestrator to filter out TPU topology, slice, and partition labels when rendering resource flavors, and adjusts the exclusive topology configuration to account for static slicing in addition to dynamic slicing. Relevant unit tests have been updated and added to verify this filtering behavior. I have no additional feedback to provide.
Description
Fixes an issue where
gclusterinjected node-pool specific physical topology labels (cloud.google.com/gke-tpu-topology:) into KueueResourceFlavor.spec.nodeLabels.Because Kueue enforces
ResourceFlavor.spec.nodeLabelsacross all workloads using that flavor, Kueue constrained multi-cube and multi-slice TPU workloads (e.g.4x4x8and4x8x8) to a single 16-node block (4x4x4), capping pod allocation at 16 nodes.Fix
cloud.google.com/gke-tpu-topologylabel injection inresolveAccelerators(pkg/orchestrator/gke/gke_job_orchestrator.go).renderResourceFlavor(pkg/orchestrator/gke/infra_manager.go) to prevent topology keys from entering KueueResourceFlavorspecs.Verification
go test ./...) passed cleanly.bodaborg-super-tpu7x-y6k):4x4x8workload launched and ran on 32 nodes (previously capped at 16).4x8x8workload launched and ran on 64 nodes (previously capped at 16).