docker编译speccpu2017
实验步骤:
1.下载docker和speccpu2017
2.docker下载镜像,创建容器
3.将下载的宿主机speccpu2017拷贝到docker创建的容器中(docker cp)
4.在docker容器(docker exec)中编译运行speccpu2017
下载docker
yum install docker-ce -y
下载镜像
docker search gcc //(选择第一个下载)sudo docker pull gcc //(下载最新版)docker images //(查看本地已经下载的镜像)
docker容器命令
docker run -it imageID /bin/bash //(交互式运行,进入容器查看内容)docker ps -a //(查看本地容器)docker start ContainerID //(开启容器)docker exec -it ContainerID /bin/bash //(交互式运行)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的安装
mkdir -p /home/speccpu2017 //创建安装路径mount cpu2017-1.0.5.iso /mnt/ //(挂载iso镜像,并切换到/mnt目录下)cd /mnt./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的版本
gcc -vg++ -vgfortran -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配置环境及运行
source shrc //(设置环境)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即为得。
docker编译speccpu2017相关推荐
- 利用docker编译Android源码
本文描述了如何在一个docker上搭建Android编译环境. Docker Docker是一个计算机操作系统的容器,利用主机内核,搭建独立的文件系统,让用户程序运行在一个与宿主机文件系统无关的独立环 ...
- 使用 docker 编译运行 abp 项目
在前面的两篇文章中,介绍了如何在华为鲲鹏架构及其Euler系统上运行dotnet core, 使用docker运行了默认的mvc模板项目,这篇文章继续介绍在docker中运行更复杂的dotnet co ...
- 树莓派 编译live555_树莓派raspberry4B入坑指南 part-6 docker编译古灵币钱包
在上一节我们已经部署好了grin服务,今天讲讲如何编译grin-wallet. grin区块链包含自底向上分三个部分,层层依赖密不可分: grin:grin区块链server,提供chaindata数 ...
- coco训练集darknet_YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集
YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性:Look Once ...
- 魔兽世界服务端AzerothCore+Centos系统+docker编译教程
魔兽世界服务端AzerothCore+Centos系统+docker编译教程 1.1 准备工作 1.1.1 准备 1.1.2 安装软件 1.1.3 下载源码 1.1.4 地图文件 1.2 修改配置文件 ...
- 使用Docker编译OpenJDK8
简介 本文主要介绍如何用docker编译openjdk8. 步骤 1.前置环境 必须安装dokcer环境,然后才能执行下面的操作. 镜像地址: https://github.com/BoYiZhang ...
- 小熊派折叠开发板Docker编译烧录安装HAP
有些小伙伴已经使用了官方的Docker环境编译烧录了鸿蒙的开发板,比如说HI3861和HI3516,或者其他的开发板,这个时候如果买了小熊派折叠开发板,那环境应该怎么配置呢? 1.基础的编译环境 鸿蒙 ...
- Docker - 编译安装nginx镜像
目录 知识点1:制作镜像的常用指令 RUN和CMD/ENTRYPOINT的区别 首先需要一个安装nginx的脚本 制作Dockerfile 开始制作镜像 查看镜像是否制作成功 启动一个容器来测试镜像 ...
- android6.0-nexus5 mac上docker 编译刷机
下载源码 hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 300g ~/android.dmg hdiuti ...
- jenkins docker 编译verify出现crash的问题
环境:通过jenkins编译.gerrit触发.jenkins里具体的编译是下载好代码并在docker里编译 情景:我自己更改了下编译脚本,push 到gerrit review,触发jenkins编 ...
最新文章
- python UnboundLocalError: local variable 'log_f' referenced before assignment 错误
- 项目前期——用例图、类图、活动图、组件图
- C++智能指针使用指南 part1:基本使用
- vue与thymeleaf结合使用注意事项
- 捷径app 保存视频_Android N App捷径
- 每天一个Linux命令(6):rmdir命令
- 城市ai大脑_激发AI研究的大脑五个功能
- python-视频爬取到本地
- 大数据基础课02 从萌芽到爆发,大数据经历了哪些发展?
- debian 11修改ip地址的方法
- EntityWrapper
- RDD之Cartesian
- 三十七、缓存注解@Cacheable、@CacheEvict、@CachePut详解
- 从零开始的单片机学习(四)
- uniapp 下拉列表插件 lable问题
- Global Mapper20生成可以进CAD的国家2000坐标系的DXF等高线
- 【建瓯最坏】APT的YARA规则
- 轨道不平顺-振动响应-信号分析方法(持续整理中...)
- RT-Thread创始人新年寄语: 开源如水、商业似船
- 当“B”AT成为历史 留给百度的时间不多了
热门文章
- python万年历节气_python3实现万年历(包括公历、农历、节气、节日)
- DotaMax网站”获取“自己与职业选手(知名玩家)对战记录
- 很勤奋的学画画从零基础开始学习,到成为一名原画师需要几年?
- 用Python 实现简单的汇率计算
- 至于你信不信(由你),我反正信了
- Uncaught Exception: Error [ERR REQUIRE ESM]: requireO of ES Modul……
- V2X车联网-学习整理笔记
- 计算机解决问题的几个必要,1–1计算机解决问题的过程.ppt
- 【架构】1366- 如何画出一张优秀的架构图
- Python秒算24点,行还是不行?