实验步骤:

1.下载docker和speccpu2017

2.docker下载镜像,创建容器

3.将下载的宿主机speccpu2017拷贝到docker创建的容器中(docker cp)

4.在docker容器(docker exec)中编译运行speccpu2017

下载docker

yum  install docker-ce -y

下载镜像


  1. docker search gcc //(选择第一个下载)
  2. sudo docker pull gcc //(下载最新版)
  3. docker images //(查看本地已经下载的镜像)

docker容器命令


  1. docker run -it imageID /bin/bash //(交互式运行,进入容器查看内容)
  2. docker ps -a //(查看本地容器)
  3. docker start ContainerID //(开启容器)
  4. docker exec -it ContainerID /bin/bash //(交互式运行)
  5. docker cp source_path_file destination_path_file //(宿主机和docker文件拷贝)

SPECCPU2017是标准性能评估组织继SPECCPU 2006之后,最新的CPU子系统量化测试工具,共4个大类,43个测试,包括聚焦单任务的整形、浮点型运算速度的性能测试SPECspeed integer、SPECspeed 2017 Floating Point,聚集整体并发的整形、浮点型运算速度的性能测试SPECrate 2017 Interger和SPECrate 2017 Floating Point。

下载specccpu2017

官网下载speccpu2017的光盘安装镜像和AOCC的编译器压缩包。

或者百度网盘下载cpu2017-1.05.iso
                链接:百度网盘 请输入提取码
                提取码:5thr

speccpu2017的安装


  1. mkdir -p /home/speccpu2017 //创建安装路径
  2. mount cpu2017-1.0.5.iso /mnt/  //(挂载iso镜像,并切换到/mnt目录下)
  3. cd /mnt
  4. ./install.sh  //(执行install安装,输入之前创建完成的/home、speccpu2017路径)

执行./install.sh之后,输入安装位置/home/speccpu2017,选择yes,如下图所示:

修改配置文件

在/home/speccpu2017/config文件夹,复制Example-gcc-linux-x86.cfg文件并重命名spec17-opti-gcc7.3.cfg,修改该文件,查找“edit”字样的内容。

1.查看gcc/g++/gfortran的版本


  1. gcc -v
  2. g++ -v
  3. gfortran -v

2.查看gcc的安装位置

which gcc

config文件修改规则如下:

如果在/usr/bin/gcc文件夹下则修改gcc_dir为/usr,如果在/usr/local/bin/gcc文件夹下则修改gcc_dir为/usr/local,

对应修改SPECLANG = /usr/bin/或者/usr/local/bin/

详细参考链接:https://pan.baidu.com/s/1NLoD3K-VPOrQPgpEHfALjw 
提取码:09rq

speccpu2017配置环境及运行


  1. source shrc //(设置环境)
  2. runcpu --config=spec17-opti-gcc7.3_1.cfg -size=ref --tune=all -noreportable all -l --copies=4

测试参数说明:

runcpu: 位于bin目录下的二进制执行文件

--config:编译执行的配置文件有base和

--size: 测试规模,表示数据集大小,数据集共三种:test、train、ref。其中test最小,跑的时间最短,如果测试编译器正确性的时候可以用test规模,但是测试性能的时候用ref

--tune: 测试模式,base是基准测试,peak是峰值测试,默认是base

-noreportable: 表示不检测生成的二进制文件是否修改过。--reportable如果原来生成的二进制文件被修改了,则运行时会自动重新编译成二进制文件。

all: 测试范围,all表示进行fp和int测试(将all替换成intrate或fprate进行定点和浮点的测试,将all替换成456/444等文件编号,表示对某一测试项进行单独测试)可选fprate、 fpspeed、 intrate、 intspeed or all等。这里建议一次运行单个测试,全部测试all可能会需要两三天时间。

-l: 表示测试中,如遇报错,略过错误继续测试

--copies: 设置测试的CPU核心数目

注意事项:

在测试时,主要注意磁盘空间与cpu核数等。若在docker和isula中运行intrate和fprate时,需要保证在相同核心数目和bechmark数目下测试,查看运行时间比较CPU的处理能力。若在docker和isulad中运行intspeed和fpspeed时,需要注意的是要保证磁盘空间大于10GB,运行时会产生的较多的内存和磁盘占用;由于intspeed和fpspeed是单核运行,时间会比较久。

测试结果说明:

查看性能分数

  • 测试完成后,可进入/spec2017/result/路径下查看已完成的测试结果文件

    CPU2017.xxx.intrate.refrate.txt、CPU2017.xxx.fprate.refrate.txt、CPU2017.xxx.intspeed.refspeed.txt、CPU2017.xxx.fpspeed.refspeed.txt

  • 测试过程中,如果想提前知道已经完成的测试子项分数,可使用如下命令进行查看,ratio即为得。

    less CPU2017.XXX.log.debug | grep Success

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览10955 人正在系统学习中

[转帖]docker编译speccpu2017的更多相关文章

  1. 利用Docker编译Hadoop 3.1.0

    前言 为什么要使用Docker编译,请自行百度 操作系统环境:Centos 6.8 uname -r 内核版本:2.6.32-642.el6.x86_64 除非有把握否则不要在Centos6.8中直接 ...

  2. YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集

    YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...

  3. 使用 Docker 编译 OpenWRT(Widora)

    Docker 是一种新的被称之为容器的虚拟机.本文将使用此工具,进行 OpenWRT 的编译. 在 Docker 中下载 Ubuntu 14.04 的镜像 使用以下命令可以十分方便的从远程服务器上将 ...

  4. [转帖]Docker的daemon.json的作用

    Docker(十六)-Docker的daemon.json的作用 https://www.cnblogs.com/zhuochong/p/10070434.html jfrog 培训的时候 说过这个地 ...

  5. [转帖]Docker里运行Docker docker in docker(dind)

    Docker里运行Docker docker in docker(dind) http://www.wantchalk.com/c/devops/docker/2017/05/24/docker-in ...

  6. (原) ubuntu下用pycharm2016.1专业版配docker编译环境(docker Interpreter)

    一:先创建docker-machine 先创建docker machine.我主机上的虚拟机是virtualbox.$ docker-machine create --driver virtualbo ...

  7. docker 编译开发代码做镜像

    文件目录 Dockerfile 是docker制作镜像的文件,docker_run.sh是sh文件,gin_test是go编译之后的linux可执行程序,gintest.env是配置文件夹 首先写一个 ...

  8. Docker编译Android6.0源码

    docker环境配置 更正时区时间 # 查看当前时间 $ date # 修改当前时间 $ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ech ...

  9. 使用Docker编译OpenResty支持国密ssl加密

    编译环境 执行编译操作环境如下 #操作系统 CentOS Linux release 7.4.1708 (Core) #docker版本 Version: 19.03.5 编译过程 Dockerfil ...

  10. [转帖]Docker容器CPU、memory资源限制

    Docker容器CPU.memory资源限制 https://www.cnblogs.com/zhuochong/p/9728383.html 处理事项内容等 这一块内容感觉 不清楚.. 背景 在使用 ...

随机推荐

  1. 云原生2.0时代,华为云DevOps立体运维实践

    摘要:随着云原生2.0时代的来临,越来越多的企业及个人选择使用云原生技术来构建业务,云原生技术给业务构建.交付带了便利的同时,对运维也提出了更高的要求. 2020年12月,中国DevOps社区峰会在北 ...

  2. 将模型转为NNIE框架支持的wk模型第一步:tensorflow->caffe

    摘要:本系列文章旨在分享tensorflow->onnx->Caffe->wk模型转换流程,主要针对的是HI3516CV500, Hi3519AV100 支持NNIE推理框架的海思芯 ...

  3. 分享两个常见的搜索算法:BFS和DFS

    摘要:本文为大家分享两个常见的搜索算法:BFS和DFS. 本文分享自华为云社区<BFS和DFS算法初探>,作者: ayin. 本次分享两个常见的搜索算法: 1.BFS 即广度优先搜索 2. ...

  4. 一文了解 DataLeap 中的 Notebook

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 概述 Notebook 是一种支持 REPL 模式的开发环境.所谓「REPL」,即「读取-求值-输出」循环:输入一 ...

  5. Solon 开发进阶,五、全局异常订阅

    Solon 开发进阶 一.插件扩展机制 二.体外扩展机制 三.常用配置说明 四.启动参数说明 五.全局异常订阅 所谓"全局异常",是指通过事件总线发布的异常.目前框架会把未吃掉的异 ...

  6. termius macos 破解版,激活版下载,永久激活,亲测可用

    termius 是一款非常值得推荐的 SSH/SFTP 跨平台终端工具,其十分亮眼的功能是可以上传文件夹,这是其他几款终端工具都不具备的,比如说 macOS 自带的终端.号称 21 世纪最强终端的 w ...

  7. 3 分钟看完 NVIDIA GPU 架构及演进

    近期随着 AI 市场的爆发式增长,作为 AI 背后技术的核心之一 GPU(图形处理器)的价格也水涨船高.GPU 在人工智能中发挥着巨大的重要,特别是在计算和数据处理方面.目前生产 GPU 主流厂商其实 ...

  8. 关于 Jupyter 导出 PDF/Latex 格式报错的简单解决方法

    利用 Jupyter 提供的 Print Preview 功能,然后鼠标右键点击打印,就能导出PDF了,而且不会出问题,中文,图片都可以

  9. # 2027 ( 统计元音 ) :hash应用

    Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个 ...

  10. CodeForces -337A:Puzzles(水)

    The end of the school year is near and Ms. Manana, the teacher, will soon have to say goodbye to a y ...