Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FEA] Atomics codegen refactor (NVIDIA#1993)
* Initial draft of new atomics backend * Change atomic fetch ops back to tag dispatch * Save wip * Add load/store and support for MMIO * Begin working on exch * Enable formatting exchange * Several signed-ness fixes * Make atomics ptx tests build. Lit tests are a WIP. * Fix load/store, some volatileness, and min/max * Formatting and enabled codegen in all builds * Make integral.pass.cpp pass * Make the rest of the atomics tests pass * Use 128b ld/st instead of vector load as it is not atomic across the whole atom * Fix copy-paste mistake in load/store * Whitespace fixup * Fix 128b .exch using .cas operands * Make codegen link fmt as PRIVATE Co-authored-by: Allison Piper <[email protected]> * Simplify MMIO down to a static array. Co-authored-by: Bernhard Manfred Gruber <[email protected]> * Static -> Inline for codegen functions. Replace endl with '\n'. * Supply the output stream directly to `fmt::format` * Update fmtlib. * Revert `fmt::format(out...)` changes. They don't work on MSVC. * Fixup libcudacxx codegen CMake stuff * Remove sneaky cstdef include that was auto-added * [pre-commit.ci] auto code formatting --------- Co-authored-by: Allison Piper <[email protected]> Co-authored-by: Bernhard Manfred Gruber <[email protected]> Co-authored-by: Michael Schellenberger Costa <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information