This change adds a new NVGPU operation that targets the PTX mma.sp.sync
instruction variants. A lowering to NVVM is provided using inline
assembly.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Looks good. Adding some comment[s].
Do plan to use mma.sync.sp or adding it just for completion?
Would be interested to know the users of nvgpu dialect who are actively working on using mma.sync.sp instruction.
mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp | ||
---|---|---|
448 | Is it ok to move all inline asm (emit* functions including emitCpAsyncOpZfillAsm) into a its own file NVGPUToNVASM.[h/cpp]? Let me know how you feel about it. I think we will need a few more inline asm, that I can think of, before it becomes available in nvvm backend. We can just edit NVGPUToNVASM.* file as we add more asm and prune it when it becomes available through NVVM. |
mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp | ||
---|---|---|
448 | I would prefer not create a file just to have inline assembly. It doesn't sound like a very natural separation of the code to me. |
Is it ok to move all inline asm (emit* functions including emitCpAsyncOpZfillAsm) into a its own file NVGPUToNVASM.[h/cpp]? Let me know how you feel about it.
I think we will need a few more inline asm, that I can think of, before it becomes available in nvvm backend. We can just edit NVGPUToNVASM.* file as we add more asm and prune it when it becomes available through NVVM.