示例#
cuMAC 测试向量生成为 HDF5 文件#
测试向量位于 testVectors
目录中。每个测试向量包含在 cuMAC API 结构 (aerial_sdk/cuMAC/src/api.h
) 中定义的参数和数据数组:cumacCellGrpUeStatus
、cumacCellGrpPrms
和 cumacSchdSol
。
参数配置可以在 aerial_sdk/cuMAC/examples/parameters.h
文件中指定。
使用 multiCellSchedulerUeSelection 测试平台 (aerial_sdk/cuMAC/examples/multiCellSchedulerUeSelection
) 创建 TV
DL TV
./aerial_sdk/cuMAC/build/examples/multiCellSchedulerUeSelection/multiCellSchedulerUeSelection -t 1
UL TV
./aerial_sdk/cuMAC/build/examples/multiCellSchedulerUeSelection/multiCellSchedulerUeSelection -d 0 -t 1
H5 TV 在上次模拟的 TTI 之后创建。假设仿真持续时间足够长,以便调度器算法的性能收敛。
单 TTI 测试#
给定单个 TTI 的相同输入参数,相同调度器算法的 GPU 和 CPU 实现应给出相同的输出解。
两种类型的测试
每个调度器模块测试:DL/UL UE 选择、DL/UL PRG 分配、DL/UL 层选择和 DL/UL MCS 选择
完整的 DL/UL 调度器流水线测试
基于 TV 加载的单 TTI 测试平台 (aerial_sdk/cuMAC/examples/tvLoadingTest
)。
构建 cumac 后,使用以下命令检查测试平台的输入参数:./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -h
每个调度器模块测试
DL UE 选择
./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -i [path to TV] -g 2 -d 1 -m 01000
DL PRG 分配
./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -i [path to TV] -g 2 -d 1 -m 00100
DL 层选择
./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -i [path to TV] -g 2 -d 1 -m 00010
DL MCS 选择
./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -i [path to TV] -g 2 -d 1 -m 00001
可以通过设置输入参数来测试 UL 调度器模块:
-d 0
完整的 DL/UL 调度器流水线测试
DL/UL 调度器模块按顺序执行:UE 选择 > PRG 分配 > 层选择 > MCS 选择
DL 调度器流水线
./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -i [path to TV] -g 2 -d 1 -m 01111
UL 调度器流水线
./aerial_sdk/cuMAC/build/examples/tvLoadingTest/tvLoadingTest -i [path to TV] -g 2 -d 0 -m 01111
通过标准
CPU 和 GPU 计算的解决方案应完全匹配:测试平台返回 1 (PASS) 或 0 (FAIL)
连续时间测试#
在相同的初始状态下,当运行一段时间后,相同调度器算法的 GPU 和 CPU 实现应实现相似的性能曲线。
完整的 DL/UL 调度器流水线测试
连续时间测试平台 (
aerial_sdk/cuMAC/examples/multiCellSchedulerUeSelection
)构建 cumac 后,使用以下命令检查测试平台的输入参数
./aerial_sdk/cuMAC/build/examples/multiCellSchedulerUeSelection/multiCellSchedulerUeSelection -h
无需使用预生成的 H5 TV。所有参数均使用 cuMAC 内部模拟器计算。
可以使用
aerial_sdk/cuMAC/examples/parameters.h
文件指定模拟器配置。DL/UL 调度器模块按顺序执行:UE 选择 > PRG 分配 > 层选择 > MCS 选择
DL 调度器流水线测试
./aerial_sdk/cuMAC/build/examples/multiCellSchedulerUeSelection/multiCellSchedulerUeSelection
UL 调度器流水线测试
./aerial_sdk/cuMAC/build/examples/multiCellSchedulerUeSelection/multiCellSchedulerUeSelection -d 0
通过标准
GPU 和 CPU 调度器实现实现的性能曲线应匹配:测试平台返回 1 (PASS) 或 0 (FAIL)
两种类型的性能曲线
所有小区的总吞吐量
每个 UE 吞吐量的 CDF