实验步骤:

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. Python实用技巧:将 Excel转为PDF

    将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致.今天给大家分享一个使用第三方Python库Spire.XLS for Py ...

  2. 【华为云技术分享】LwM2M协议的学习与分享

    [摘要] 本文主要对于LwM2M协议进行了简单的介绍,包括协议的体系架构以及特性.对象.资源.接口的定义等,希望对你有所帮助. 1协议简介 LwM2M(Lightweight Machine-To-M ...

  3. KubeEdge在边缘计算领域的安全防护及洞察

    摘要:着重介绍Kubeedge在安全防护方面的实践,并介绍OpenSSF在开源软件安全方面的计划与目标. 本文分享自华为云社区<KubeEdge在边缘计算领域的安全防护及洞察>,作者:华为 ...

  4. 直击火山引擎V-Tech峰会!仅需简单登录,即可极速体验数据引擎ByteHouse

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   9月19日,火山引擎"数据飞轮·V-Tech数据驱动科技峰会"在上海举办.会上重磅发布数智 ...

  5. 【JAVA基础】批处理脚本

    update ifp_project set is_self_run = 'N' where is_self_run is null; update ifp_invoice_header set is ...

  6. UVA - 12096 :The SetStack Computer

    题目大意 用集合模拟计算机操作.每执行完一个操作,输出栈顶的集合大小,操作如下: PUSH:空集合压栈 DUP:将栈顶元素再次压栈 UNION:依次弹栈得a,b,求并集后压栈 INTERSECT:依次 ...

  7. FastDFS 海量小文件存储解决之道

    作者:vivo互联网服务器团队-Zhou Changqing 一.FastDFS原理介绍 FastDFS是一个C语言实现的开源轻量级分布式文件系统 . 支持 Linux.FreeBSD.AID 等Un ...

  8. xapian 搜索引擎介绍与使用入门

    Xapian 是一个开源搜索引擎库,使用 C++ 编写,并提供绑定(bindings )以允许从多种编程语言使用.它是一个高度适应性的工具包,允许开发人员轻松地将高级索引和搜索功能添加到自己的应用程序 ...

  9. [吉他谱]duvet

  10. .NET CORE实战项目之CMS 部署篇 思维导图

    .NET Core实战项目之CMS 第十七章 CMS网站系统的部署 如何优雅的利用Windows服务来部署ASP.NET Core程序