mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-03 13:11:25 +00:00
* change host using fp16 to check * fp8 to fp8 compare * rewrite input parameters * add not squant * remove some output code * for scale = 1 * format * saturates only for fp8 * add fp8bf16 data type * add fp8bf16 data type * fix test fp8 code * add run_fp8bf16_tests * change fmha fwd example parameter(adding fp8bf16) * Support fp8bf16 for Aiter * Support aiter fp8bf16 in c++ * fix comment about fp8 in readme.md * add fp8fp32 * add fp8fp32 test * remove range_q etc. * format * fix test parameters about squant and fmha example input fp8bf16 fp8fp32 data type * add fp8bf16 to data_type function * change colmajor to rowmajor in test_ck_tile_fmha_fwd_fp8 * format * reset atol for fp8 * fix bug for atol --------- Co-authored-by: rocking <ChunYu.Lai@amd.com> Co-authored-by: asleepzzz <hanwen.chang@amd.com>
43 lines
1.3 KiB
C++
43 lines
1.3 KiB
C++
// SPDX-License-Identifier: MIT
|
|
// Copyright (c) 2025, Advanced Micro Devices, Inc. All rights reserved.
|
|
|
|
#include "example/ck_tile/01_fmha/fmha_fwd.hpp"
|
|
#include "example/ck_tile/01_fmha/fmha_fwd_runner.hpp"
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
#include <tuple>
|
|
#include <string>
|
|
|
|
using ::testing::Values;
|
|
|
|
using DataTypeConfig = FmhaFwdFp8;
|
|
|
|
// Currently there are no fp8 instances for splitkv, pagedkv by default (the tests pass if such
|
|
// instances are added), however the corresponding tests are not disabled (they will be skipped)
|
|
// in case such instances will be added in the future.
|
|
|
|
const auto HDimValues = Values(std::tuple{64, -1}, std::tuple{128, -1});
|
|
|
|
const auto SplitKVHDimValues = Values(std::tuple{64, -1}, std::tuple{128, -1});
|
|
|
|
const auto AppendKVHDimValues = Values(std::tuple{64, -1}, std::tuple{128, -1});
|
|
|
|
// There are no fp8 instances with seqlen padding (mode_enum::group requires it)
|
|
const auto ModeValues = Values(mode_enum::batch);
|
|
|
|
const auto IsVRowmajorValues = Values(false);
|
|
|
|
const auto squant = true;
|
|
const std::string init_method = "uf";
|
|
const bool def_lse = false;
|
|
const bool def_is_v_rowmajor = true;
|
|
|
|
int adjust_seqlen(int seqlen)
|
|
{
|
|
// There are no fp8 instances with padding, pad seqlen to avoid skipping most of the tests
|
|
return ck_tile::integer_least_multiple(seqlen, 128);
|
|
}
|
|
|
|
#include "test_fmha_fwd.inc"
|