OpenMP程序的编译与运行-实验报告二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

曲阜师范大学

实验报告

课程名称:并行计算

实验名称:OpenMP并行程序的编译和运行姓名:***

学号:**********

班级:2014级全日制研究生

实验日期:2014年10月31

一. 实验目的

1) 在Linux平台上编译和运行OpenMP程序;

2) 在Windows平台上编译和运行OpenMP程序。

二. 实验环境

1) 硬件环境:32核CPU、32G内存计算机;

2) 软件环境:Linux、Win2003、GCC、MPICH、VS2008;

3) Linux登录方式:通过ssh方式(用SecureCRT工具或putty工具,可网上下载)连接曙光集群服务器,用户名:root,密码:********;

4) Windows登录方式:在自己机器上运行。

三. 实验内容

1. Linux下OpenMP程序的编译和运行。OpenMP是一个共享存储并行系统上的应用编程接口,支持C/C++和FORTRAN等语言,编译和运行简单的"Hello World"程序。在Linux下编辑hellomp.c源程序,或在Windows下编辑并通过附件中的FTP工具(端口号:1021)上传,用"gcc -fopenmp -O2 -o hellomp.out hellomp.c"命令编译,用"./hellomp.out"命令运行程序,代码如下:

#include

#include

int main()

{

int nthreads,tid;

omp_set_num_threads(8);

#pragma omp parallel private(nthreads,tid)

{

tid=omp_get_thread_num();

printf("Hello World from OMP thread %d\n",tid);

if(tid==0)

{

nthreads=omp_get_num_threads();

printf("Number of threads is %d\n",nthreads);

}

}

}

答:(提供关键的截图和简单的文字描述)

(1)先通过putty连接到曙光集群,登录进去,就到了LINUX系统

(2)查询hellomp.c文件

(3)显示hellomp.c文件内容

(4)输入"gcc -fopenmp -O2 -o hellomp.out hellomp.c"命令编译(5)输入"./hellomp.out"命令运行程序

得到的结果截图如下:

2. Windows下OpenMP程序的编译和运行。用VS2008编辑上述的hellomp.c源程序,注意在菜单“项目->属性->C/C++->语言”选中“OpenMP支持”,编译并运行程序。

// hellomp.c.cpp : 定义控制台应用程序的入口点。

//

#include

#include

#include

int main()

{

int nthreads,tid;

omp_set_num_threads(8);

#pragma omp parallel private(nthreads,tid)

{

tid=omp_get_thread_num();

printf("Hello World from OMP thread %d\n",tid);

if(tid==0)

{

nthreads=omp_get_num_threads();

printf("Number of threads is %d\n",nthreads);

}

}

}

答:(提供关键的截图和简单的文字描述)

(1)通过远程桌面连接219.218.25.166(在自己机器上运行即可),登录进window系统(2)打开VS2008编辑上述的hellomp.c 源程序

(3)编译hellomp.c 程序

(4)运行hellomp.c 程序

(5)结果截图如下

相关文档
最新文档