实验1 C++编译器

更新时间:2023-09-19 03:07:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

浙江大学城市学院实验报告

课程名称 多核与并行程序设计 实验项目名称 实验一 C++ 编译器 学生姓名 专业班级 学号 实验成绩 指导老师(签名 ) 日期

一、实验目的

英特尔C++编译器的主要功能与调优测试 二、实验要求

? 硬件

英特尔多核处理器(四核) 512 MB 以上内存 80GB 以上硬盘

支持32位像素显卡

? 软件

Windows XP* SP2 或 Windows 2003

Microsoft Visual Studio* .NET 2003 或2005 英特尔 C++ 编译器 9.0 或更高版本

英特尔 VTune性能分析器 7.2 或更高版本

英特尔 Thread Checker 线程检查器2.2 或更高版本 英特尔 Thread Profiler 线程档案器 2.2 或更高版本 实验代码 三、实验内容 1、相关知识

英特尔C++编译器的主要功能与优点:

支持英特尔多核心处理器以及现有的英特尔处理器与体系结构,针对最新英特尔处理器的先进优化功能可以帮助产生出众的应用程序性能。

与针对 IA-32 的 Microsoft Visual C++、Microsoft Visual C++ 6.0 代码以及 Microsoft Visual C++ .NET 保持跨体系结构的兼容性。

针对最新英特尔处理器的先进优化功能可以帮助产生出众的应用程序性能。

普通优化开关

Linux -O0

-g -O1 -O2 -O3 Windows /Od /Zi /O1 /O2 /O3 作用 禁止优化 生成标记 优化二进制代码 优化速度(默认) 优化数据缓存 过程间有关过程

Linux -ip -ipo

自动并行优化开关

Linux -parallel -par_report[n]

基于CPU的矢量优化开关

Linux -Xw -xP -axP

OpenMP优化开关

Linux -openmp Windows /Qopenmp 作用 打开OpenMP优化功能 Windows /QxW /Q xP /Qaxp 作用 为Pentium 4 等支持MMX,SSE和SSE2指令的处理器专门优化 对酷睿等支持MMX,SSE,SSE2和SSE3指令的处理器专门优化 Windows /Qparallel /Qpar_report[n] 作用 对某些代码做自动并行优化 记录优化过程,汇报结果 Windows /Qip /Qipo 作用 优化编译单个文件 通过内联函数优化交叉编译多个文件 -openmp-report /Qopenmp-report 提供优化报告、错误

支持Intel线程检查器的编译开关

Linux -tcheck

? 英特尔C++ 编译器支持以下语言标准:

? ANSI/ISO 标准,用于 C 语言编译 (ISO/IEC 9899:1990) ? ANSI/ISO 标准 (ISO/IEC 14882:1998) 用于 C++ 语言 ? OpenMP* 规范 2.5 版

? 英特尔C++编译器与其他常用工具保持兼容,可以集成到广泛使用的开发环境,并且同其他广泛使用的编译器保持着特性源与二进制方面的兼容性。

? 集成了 Microsoft Visual Studio 2005、Visual Studio .NET* 2002/2003 以及 Visual Studio 98

? 提供扩展 32 位和 64 位多核英特尔处理器支持。 2、实验步骤

本实验通过一个图象渲染程序来验证 Intel C++编译器常用的优化开关作用。首先安装Intel C++编译器试用版(破解版版本为10.1.014在

ftp://10.66.28.222:2007 用户名:yuxydownload 密码:123456 上可下载)(在Visual Studio .NET之后安装),安装好后打开Visual Studio .NET在已安装产品里可看到多出了Inrel(R) C++ Compiler Integration 的产品,如图

Windows /Qtecheck 作用 支持线程检查器检测线程 在“开始”菜单的“所有程序”栏可看到Intel(R) Software Development Tools -> Inrel(R) C++ Compiler 10.1.014 -> C++ Build Environment for Appliactions running on IA-32 点击后出现如图所示界面:

(1) 原始编译

用微软C++编译器编译

将FTP上的code文件夹整个复制到硬盘,如E盘根目录,在上面的命令行界面输入如下命令跳转到RayTrace2目录:

> cd E: \\code\\CompilerSwitches\\raytrace2\\source\\RayTrace2\\ 然后清理以前生成的文件: > nmake /f raytrace2.mak clean 编译文件:

> nmake /f raytrace2.mak CPP=cl.exe 运行渲染图像程序: > raytrace2 320 240

> Press ?g ? to begin the render > Press ?q ? to quit the application

将屏幕上显示的运行时间记录下来 ________。

用英特尔C++编译器编译 先清理以前生成的文件:

> nmake /f raytrace2.mak clean 编译文件:

> nmake /f raytrace2.mak 运行渲染图像程序: > raytrace2 320 240

> Press ?g ? to begin the render > Press ?q ? to quit the application

将屏幕上显示的运行时间记录下来 ________。

(2)高阶优化

使用高阶优化编译开关(-O3) 先清理以前生成的文件: > nmake /f raytrace2.mak clean 打开-O3开关编译文件:

> nmake /f raytrace2.mak CF=\ 运行渲染图像程序: > raytrace2 320 240

> Press ?g ? to begin the render > Press ?q ? to quit the application

将屏幕上显示的运行时间记录下来 ________。

(3) 过程间优化

使用过程间优化开关(-Qipo)

本文来源:https://www.bwwdw.com/article/o68h.html

Top