Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -291,10 +291,10 @@ The backend shares the existing USE_HIPKITTENS_GEMM build option with MXFP8:
* OFF - disable the HipKittens blockwise FP8 and MXFP8 GEMM backend;
* ON - enable the HipKittens GEMM backend (default).

On gfx950 there are two blockwise FP8 GEMM kernels, selected at runtime by the NVTE_BLOCKWISE_FP8_POWER_OF_2_SCALE environment variable:
On gfx950 there are two blockwise FP8 GEMM kernels, selected at runtime by the NVTE_FP8_BLOCK_SCALING_FP32_SCALES environment variable, which also controls the scale produced by the Float8BlockScaling recipe:

* 0 - compute the GEMM with the FP32 scales directly;
* 1 - cast the incoming FP32 scales to E8M0 (power-of-2) and compute the GEMM with those scales (default).
* 0 - cast the incoming FP32 scales to E8M0 (power-of-2) and compute the GEMM with those scales (default);
* 1 - compute the GEMM with the FP32 scales directly.

Two-stage amax Kernel
^^^^^^^^^^^^^^^^^^^^^
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1110,8 +1110,8 @@ class BlockwiseGemmCdna4 final : public BlockwiseGemmBackend {
float *sb = reinterpret_cast<float *>(const_cast<void *>(ksb));

static const bool use_pow2 = []() {
const char *e = std::getenv("NVTE_BLOCKWISE_FP8_POWER_OF_2_SCALE");
return e == nullptr || std::strcmp(e, "0") != 0;
const char *e = std::getenv("NVTE_FP8_BLOCK_SCALING_FP32_SCALES");
return e == nullptr || std::strcmp(e, "1") != 0;
}();

const int k_iters = K / BLOCK_K;
Expand Down
Loading