DAIBenchAI 评估集

联合创作 · 2023-09-26

DAIBench( DiDi AI Benchmarks )旨在提供一套适用于生产环境的AI评估集,跨越不同类型的GPU服务器和云环境,为用户未来的硬件选型、软件和库提供有效可信的测试结果优化、业务模型完善、链路压测等阶段打下坚实的数据基础和技术参考。

支持的功能

  • 分层基准测试,从硬件(L1)、算子(L2)到模型(L3),更高级别的基准测试待定。
  • 云原生基准测试,容器化部署,简单易用。
  • 多云基准测试结果对于考虑价格/性能很有用。

总体结构

DAIBench综合考虑了现有的GPU性能测试工具,将指标分为硬件层、框架(算子)层、算法层。

对于每个级别,DAIBench 目前支持以下测试:

支持的测试
硬件层 重点关注硬件本身的指标,如峰值计算吞吐量(TFLOPS/TOPS)计算指标和内存访问带宽、PCIe通信带宽等I/O指标。
帧/算子层 基于主流AI框架评估常用算子(卷积、Softmax、矩阵乘法等)的算力。
模型层 通过在一系列生产任务中选择模型来执行端到端评估。

入门

硬件层

cd <test_folder> bash install.sh bash run.sh 

对于GPU测试,请先安装合适nvidia-drivercuda

算子层

当前算子层正在使用DeepBench

cd operator bash install.sh # download source code & prepare nccl 

运行 GEMM、卷积、循环运算和稀疏 GEMM 基准测试:

bin/gemm_bench <inference|train> <int8|float|half> 

要执行 NCCL 单一 All-Reduce 基准测试:

bin/nccl_single_all_reduce <num_gpus> 

NCCL MPI All-Reduce 基准测试可以使用 mpirun 运行,如下所示:

mpirun -np <num_ranks> bin/nccl_mpi_all_reduce 

num_ranks 不能大于系统中 GPU 的数量。

模型层

docker并且nvidia-docker是模型测试所必需的。要运行特定模型,请阅读Readme.md文件夹中的内容。

一般测试程序:

  • 下载数据集
  • 预处理数据集(如果需要)
  • 构建 docker
  • 启动基准测试
  • 得到结果
浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报