DAIBenchAI 评估集

联合创作 · 2023-09-26 07:01

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

  • 启动基准测试

  • 得到结果

浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报