Skip to content

[MISC] Move register-tile Cholesky out of genesis into quadrants.#2860

Draft
hughperkins wants to merge 1 commit into
Genesis-Embodied-AI:mainfrom
hughperkins:hp/move-tiles-into-quadrants
Draft

[MISC] Move register-tile Cholesky out of genesis into quadrants.#2860
hughperkins wants to merge 1 commit into
Genesis-Embodied-AI:mainfrom
hughperkins:hp/move-tiles-into-quadrants

Conversation

@hughperkins
Copy link
Copy Markdown
Collaborator

Delete genesis/utils/_tile16.py and _tile32.py, whose contents (the inlined column-setter cascades + qd.static-unrolled cholesky_ body) now live in quadrants/lang/simt/_tile16.py and _tile32.py upstream. The constraint solver switches from Tile16x16Cholesky / Tile32x32Cholesky to qd.simt.Tile16x16 / qd.simt.Tile32x32, and the blocked-Cholesky bodies go back to the readable slice syntax (tile[:] = arr[r:r2, c:c2], tile -= qd.outer(v, v)) instead of the explicit _load3d / _store3d / _resolve_vec3d / _ger_sub private calls that were required while two distinct tile classes co-existed in one kernel.

Pairs with quadrants PR hp/import-tiles-from-genesis.

Description

Related Issue

Resolves Genesis-Embodied-AI/Genesis#

Motivation and Context

How Has This Been / Can This Be Tested?

Screenshots (if appropriate):

Checklist:

  • I read the CONTRIBUTING document.
  • I followed the Submitting Code Changes section of CONTRIBUTING document.
  • I tagged the title correctly (including BUG FIX/FEATURE/MISC/BREAKING)
  • I updated the documentation accordingly or no change is needed.
  • I tested my changes and added instructions on how to test it for reviewers.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Delete `genesis/utils/_tile16.py` and `_tile32.py`, whose contents (the
inlined column-setter cascades + qd.static-unrolled cholesky_ body) now live
in `quadrants/lang/simt/_tile16.py` and `_tile32.py` upstream. The constraint
solver switches from `Tile16x16Cholesky` / `Tile32x32Cholesky` to
`qd.simt.Tile16x16` / `qd.simt.Tile32x32`, and the blocked-Cholesky bodies go
back to the readable slice syntax (`tile[:] = arr[r:r2, c:c2]`,
`tile -= qd.outer(v, v)`) instead of the explicit `_load3d` / `_store3d` /
`_resolve_vec3d` / `_ger_sub` private calls that were required while two
distinct tile classes co-existed in one kernel.

Pairs with quadrants PR hp/import-tiles-from-genesis.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant