Repository navigation
honeykrisp: M1 compute speedups and the deferred CDM barrier on G13G (stacked on #3, #4, #5) #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
joshuaswarren
wants to merge
69
commits into
omacom:main
Choose a base branch
from
joshuaswarren:honeykrisp-omarchy-v3
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
5701aa8
honeykrisp: hardware 8x8x8 fp32 cooperative matrix via simd_matrix_fm…
joshuaswarren 8d93327
honeykrisp: match generated nir_simd_matrix_fmadd_agx(fp32) signature
joshuaswarren 5f4b553
agx/isa: disassemble simd_matrix_fmadd32/16 so debug builds can compi…
joshuaswarren d6f3635
agx/isa: include bit6 of opcode 0x6f in simd_matrix exact mask
joshuaswarren 5da2559
honeykrisp: advertise 16x16x16 and fp16 cooperative matrix shapes
joshuaswarren cc4c415
agx: keep the mod-32 shift count when fusing ushr+iand into ubfe
joshuaswarren 4a1ceff
agx: correctly rounded fdiv/frcp, faithful log/log2, exact sin/cos re…
joshuaswarren ebcc3ca
agx: lower the fdiv that int64 lowering and the perspective divide em…
joshuaswarren 2315de0
honeykrisp: enable VK_KHR_cooperative_matrix by default (AGX_SIMDMAT=…
joshuaswarren 0facecf
honeykrisp: dependency-track the per-launch CDM barrier on the Vulkan…
joshuaswarren d597ce2
hk: opt-in bounded poll before blocking syncobj waits (HK_SUBMIT_POLL…
joshuaswarren 9019bd6
agx: lower cooperative matrices in software outside full subgroups
joshuaswarren 9599a3c
agx: address cooperative matrix memory in component units
joshuaswarren a016f02
agx: return a flushed signed zero from sin under DenormFlushToZero
joshuaswarren f06b1b2
honeykrisp: key the shader cache on the cooperative matrix compiler s…
joshuaswarren a2e0a48
honeykrisp: restore the norobust perftest option
joshuaswarren 90b8a24
agx: index software cooperative matrix memory at the pointer width
joshuaswarren 96f4036
agx: represent the fused shift-then-mask as ubfe, not ubitfield_extract
joshuaswarren 7c8edf7
agx/isa: decode the matrix instructions with a cached destination
joshuaswarren 1d382d7
honeykrisp: advertise cooperative matrices on G13 only
joshuaswarren f884173
honeykrisp: dependency-track the CDM barrier on G13 only
joshuaswarren fa3b70b
honeykrisp: keep the kitchen-sink CDM barrier on G13G
joshuaswarren 79994c2
agx/simdmat: load paired (col,col+1) fragments by default
joshuaswarren 50cf059
agx: fold constant shared-memory address deltas into the lload/lstore…
joshuaswarren ff01378
agx: skip the register-pressure scheduler for compute shaders
joshuaswarren b7551fd
agx: apply the M1 compute codegen defaults on G13 only
joshuaswarren 0eb5f65
honeykrisp: defer the CDM barrier to the end of the batch on G13G
joshuaswarren 5fbd5e9
hk: enable cooperative matrices by default on G14X
joshuaswarren 0537a51
agx: flush the exact quotient in precise fp32 division, not the corre…
joshuaswarren b2c157f
nir: pass FP_MATH_CTRL to the builder generator
joshuaswarren 355c19b
tests: cooperative matrix and precise math regressions for AGX
joshuaswarren 77025cf
agx: lower log() the same way regardless of where ln2 comes from
joshuaswarren 304f019
hk: order internal full-barrier precomp launches with surrounding CDM…
joshuaswarren e2f46e8
agx: only adopt an early-killed source region when it is free
joshuaswarren 7d66ea0
honeykrisp: shorten normalized precise division
joshuaswarren 5058212
honeykrisp: use direct reciprocal for normalized division
joshuaswarren e672f37
tests: pin the 2.5 ulp default-division bound for AGX
joshuaswarren 76d1f5e
honeykrisp: exact reciprocal without the division machinery
joshuaswarren c434c73
agx: round log() once unless the multiply is exact
joshuaswarren 00df31f
honeykrisp: let the hardware rcp give the reciprocal edge cases
joshuaswarren be2d8e3
honeykrisp: fold sub-format lea offsets into the access index on sing…
joshuaswarren e17ce7a
agx: test the sub-format address fold
joshuaswarren fe6a9a5
agx: pin float-control keying of division, not its op counts
joshuaswarren ed30194
hk: launch buffer copies and fills without an internal full barrier
joshuaswarren 91dd75e
nir/opt_large_constants: allow a re-store of the same constants from …
joshuaswarren 52cecbf
hk: compute-shader large constant arrays as constant data
joshuaswarren ad8932b
hk: expose VK_KHR_shader_bfloat16 with bf16 cooperative matrices
joshuaswarren fcd28f4
hk: dependency-tracked CDM barrier by default on gen-14 G14X (M2 Pro/…
joshuaswarren be1c268
spirv: make image texels available after the write and visible before…
joshuaswarren 8fc2e45
agx: hoist compute device loads over independent ALU and barriers, on…
joshuaswarren 5f3f7e4
hk: default the device heap to 90% of system memory
joshuaswarren a54d9c1
hk: refuse device memory that would leave too little system memory
joshuaswarren 839f1d1
agx: use the whole user address window for the heap
joshuaswarren 02765a8
hk: give the BO cache back before refusing for the free-memory reserve
joshuaswarren 69bde15
hk: flush every CDM launch in command buffers that record graphics or…
joshuaswarren 795ae42
tests: use a neutral lock file name in the GPU test scripts
joshuaswarren 5c8d6b9
hk: use the full CDM barrier word after graphics or meta
joshuaswarren a5a7723
hk: close the graphics batch before a query-pool copy
joshuaswarren 807dc2b
Revert "hk: close the graphics batch before a query-pool copy"
joshuaswarren 43aaf80
Revert "hk: use the full CDM barrier word after graphics or meta"
joshuaswarren f144c79
honeykrisp: keep a compute batch open across a barrier only when it i…
joshuaswarren 8fe35ac
tests: measure the 2.5 ULP bound in float32 spacing
joshuaswarren 5ce4451
tests: repair fp32 error oracle and complete numerical fixtures
chriskearney cbb46d1
hk: return an error when a shader's code or constant buffer cannot be…
joshuaswarren 23f25ee
vk/drm_syncobj: never poll past the caller's deadline
joshuaswarren 8b95ec3
tests: one GPU lock for the harnesses, 8-bit storage for the u8 matri…
joshuaswarren 9323171
agx: keep the sign of shared-memory constant addends, prove the align…
joshuaswarren 0c82971
agx: take a non-const alu in is_one (#6)
joshuaswarren 7b81213
honeykrisp: default CDM barrier word 0x1FF on gen-14 G14X (#5)
joshuaswarren File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.