OpenMP程序的编译与运行-实验报告二.doc
文本预览下载声明
曲阜师范大学
实 验 报 告
课程名称:并行计算
实验名称: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 omp.h
#include stdio.h
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 : 定义控制台应用程序的入口点。
//
#includestdafx.h
#includestdio.h
#includeomp.h
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);
}
}
}
答:(提供关键的截图和简单的文字描述)
通过远程桌面连接66(在自己机器上运行即可),登录进window系统
打开VS2008编辑上述的hellomp.c 源程序
编译hellomp.c 程序
运行hellomp.c 程序
结果截图如下
显示全部