项目文件夹

文件
wehub-resource-sync 59a0a3844c
PR Test AMD / cancel-on-close (push) Has been skipped
PR Test NVIDIA ARM / scan (push) Has been skipped
PR Test NVIDIA / cancel-on-close (push) Has been skipped
PR Test AMD / scan (push) Has been skipped
PR Test NVIDIA ARM / cancel-on-close (push) Has been skipped
PR Test NVIDIA / scan (push) Has been skipped
Release Docker Images / build (cu129-torch-2.11.0) (push) Has been skipped
Release Docker Images / build (cu130-torch-2.11.0) (push) Has been skipped
Release PyPI / publish (push) Has been skipped
Scheduler Python Test / test (push) Successful in 27m19s
Docs / build (push) Successful in 28m8s
Scheduler C++ Test / test (push) Successful in 28m19s
Scheduler C++ Test / test-flat (push) Successful in 28m18s
Docs / deploy (push) Has been cancelled
PR Test AMD / finish (push) Has been cancelled
PR Test NVIDIA / finish (push) Has been cancelled
PR Test NVIDIA ARM / finish (push) Has been cancelled
PR Test NVIDIA ARM / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test AMD / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test NVIDIA / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:31 +08:00

48 行
1.8 KiB
C++

#include <gtest/gtest.h>
#include "scheduler/operations/cache.h"
namespace tokenspeed::test {
TEST(CacheOperationKindTest, FlatWriteBackBucketsTransfersByKind) {
WriteBackOperation op;
op.op_id = 7;
op.transfers = {
TransferPair{CacheKind::kKV, 1, 11},
TransferPair{CacheKind::kMamba, 2, 22},
TransferPair{CacheKind::kKV, 1, 11},
TransferPair{CacheKind::kMamba, 3, 23},
};
FlatWriteBackOperation flat({op});
ASSERT_EQ(flat.op_ids, std::vector<cache_op_id>({7}));
EXPECT_EQ(flat.src_pages[0], std::vector<std::int32_t>({1}));
EXPECT_EQ(flat.dst_pages[0], std::vector<std::int32_t>({11}));
EXPECT_EQ(flat.src_pages_by_kind.at("kv")[0], std::vector<std::int32_t>({1}));
EXPECT_EQ(flat.dst_pages_by_kind.at("kv")[0], std::vector<std::int32_t>({11}));
EXPECT_EQ(flat.src_pages_by_kind.at("mamba")[0], std::vector<std::int32_t>({2, 3}));
EXPECT_EQ(flat.dst_pages_by_kind.at("mamba")[0], std::vector<std::int32_t>({22, 23}));
}
TEST(CacheOperationKindTest, FlatLoadBackBucketsTransfersByKind) {
LoadBackOperation op;
op.op_id = 9;
op.transfers = {
TransferPair{CacheKind::kKV, 10, 20},
TransferPair{CacheKind::kMamba, 30, 40},
};
FlatLoadBackOperation flat({op});
ASSERT_EQ(flat.op_ids, std::vector<cache_op_id>({9}));
EXPECT_EQ(flat.src_pages[0], std::vector<std::int32_t>({10}));
EXPECT_EQ(flat.dst_pages[0], std::vector<std::int32_t>({20}));
EXPECT_EQ(flat.src_pages_by_kind.at("kv")[0], std::vector<std::int32_t>({10}));
EXPECT_EQ(flat.dst_pages_by_kind.at("kv")[0], std::vector<std::int32_t>({20}));
EXPECT_EQ(flat.src_pages_by_kind.at("mamba")[0], std::vector<std::int32_t>({30}));
EXPECT_EQ(flat.dst_pages_by_kind.at("mamba")[0], std::vector<std::int32_t>({40}));
}
} // namespace tokenspeed::test