GPUKernelContest/example/build_and_run_topk_pair.sh

60 lines
1.4 KiB
Bash

#!/bin/bash
# TopkPair算法编译和运行脚本
# 用于参赛者只选择TopkPair题目时使用
# 加载公共配置
source "$(dirname "$0")/build_common.sh"
# 显示帮助信息
show_help() {
echo "TopkPair算法编译和运行脚本"
echo "用法: $0 [选项]"
echo ""
echo "选项:"
echo " --help 显示此帮助信息"
echo " --build-only 仅编译,不运行测试"
echo " --run MODE 编译并运行测试 (MODE: correctness|performance|all)"
echo ""
echo "示例:"
echo " $0 # 编译并运行所有测试(默认行为)"
echo " $0 --build-only # 仅编译"
echo " $0 --run correctness # 编译并运行正确性测试"
echo ""
}
# 解析命令行参数
RUN_MODE="all" # 默认运行所有测试
while [[ $# -gt 0 ]]; do
case $1 in
--help)
show_help
exit 0
;;
--build-only)
RUN_MODE=""
shift
;;
--run)
RUN_MODE="$2"
shift 2
;;
*)
print_error "未知选项: $1"
show_help
exit 1
;;
esac
done
# 编译TopkPair算法
if compile_algorithm "TopkPair" "topk_pair_algorithm.maca"; then
# 如果指定了运行模式,则运行测试
if [ -n "$RUN_MODE" ]; then
echo ""
run_single_test "TopkPair" "$RUN_MODE"
fi
else
exit 1
fi