实验步骤:

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. .NET技术分享日活动-202104

    2021年4月27日下午,个人组织举办了山东地区的山东.NET技术分享日活动.围绕互联网技术.大数据.机器学习.业务实践等方向进行创新技术的实践分享. 本次技术分享日活动面向了山东地区广大的.NET ...

  2. 第九部分_Shell脚本之case语句

    case语句 关键词:确认过眼神,你是对的人 case语句为多重匹配语句 如果匹配成功,执行相匹配的命令 1. 语法结构 说明:pattern表示需要匹配的模式 case var in #定义变量;v ...

  3. 干了三年的Java,你竟然还不会MySQL性能优化

    摘要:MySQL性能优化就算通过合理安排资源,调整系统参数使MySQL运行更快,更节省资源.MySQL性能优化包括查询速度优化,更新速度优化,MySQL服务器优化等等. 前言 MySQL性能优化就算通 ...

  4. 云图说丨初识云应用引擎CAE

    摘要:开发运营一个应用软件,面临种种挑战:软件栈厚重.开发上线慢.资源易浪费.运维投入高.突发流量应对困难. 华为云应用引擎CAE面对挑战,一扫而光!! 本文分享自华为云社区<[云图说] | 第 ...

  5. 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识

    摘要:char类型字段想走索引的话,必须用引号括起来.如果是时间戳等类型的纯数字,建议还是存为int型吧. 本文分享自华为云社区<一次事故,我对MySql时间戳存char(10)还是int(10 ...

  6. 华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼

    摘要:主流的消息中间件包含Kafka.RabbitMQ和RocketMQ,本期云图说为您介绍它们之前的差异. 本文分享自华为云社区<第234期 华山论"件"-Kafka.Ra ...

  7. SparkSQL的入门实践教程

    摘要:Spark SQL是用于处理结构化数据的模块.与Spark RDD不同的是,Spark SQL提供数据的结构信息(源数据)和性能更好,可以通过SQL和DataSet API与Spark SQL进 ...

  8. 📝 App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法

    ​ 引言 在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤.本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Man ...

  9. AIGC加速迭代,云栖大会视频云「媒体服务」专场与你共话云智深度融合

    2023杭州·云栖大会 倒计时5天! 阿里云视频云 5大并行Session 11场话题演讲 深度演绎云智融合的全面进化 「媒体服务」Tech专场 重磅议题剧透来袭 01 「媒体服务」Tech • 新数 ...

  10. Codeforces Round #623 (Div. 2) A~D题,D题multiset使用

    比赛链接:Here 1315A. Dead Pixel 签到题, 比较四个值 max(max(x, a - 1 - x) * b, a * max(y, b - 1 - y)) 1315B. Home ...