- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈工大_软件学院《并行程序设计》课程实验报告之二
《并行程序设计》课程实验报告
实验2:基于Windows Thread和OpenMP的多线程编程
姓名 *** 院系 软件学院 学号 ********** 任课教师 张伟哲 指导教师 苏统华 实验地点 软件学院五楼机房 实验时间 2015年4月8日 实验课表现 出勤、表现得分 实验报告
得分 实验总分 操作结果得分 一、实验目的 要求:需分析本次实验的基本目的,并综述你是如何实现这些目的的?
一、
1.。Visual Studio* .NET*集成开发环境的使用;
3、掌握Windows32 Thread API开发多线程程序;
4、掌握
二、
.掌握的;
掌握;掌握OpenMP进行多核架构下多线程编程的基本使用方法和调试方法。
二、实验内容 该部分填写在实验过程中,你都完成了哪些工作。
一、
Win32 Threads\ HelloThreads\,用Microsoft Visual studio打开文件HelloThread.sln,编译并运行程序;
2. 对main.cpp中函数进行修改,要求输出线程创建顺序(例如:Hello Thread 0, Hello Thread 1, Hello Thread 2 等等);
注意:利用CreateThread()循环变量作为每个线程的执行顺序唯一标识
3. 编译并多次Win32 Threads\ Pi\,用Microsoft Visual studio打开文件Pi.sln,编译并运行程序;
5. 对此串行代码使用Windows32 Thread API进行线程化,要求4线程实现,且每次迭代计算仅由一个线程完成
6. 使用CRITICAL_SECTION机制和Semaphors机制对多线程共享变量进行互斥操作,避免数据竞争。
二、
Microsoft Visual Studio工具打开实验程序文件:
/Helloworlds/Helloworlds.c;
3、编译,运行程序并记录实验结果;
4、在源程序代码中的找到主程序体:
printf(Hello World\n);
for(i=0;i6;i++)
printf(Iter:%d\n,i);;
加上#pragma omp parallel
{
}段
5、采用/Qopenmp重新编译程序(使用Intel编译器,通过Intel命令窗口进入)
C:\icl /Qopenmp HelloWorlds.c;
6、设定Openmp线程数:
C:\Set OMP_NUM_THREADS=2;
7、重新运行程序,观测实验结果,并记录。
实验二 积分方法求PI值的并行处理化算法
1、关闭病毒扫描和监控程序;
2、采用Microsoft Visual Studio工具打开实验程序文件:
/pi/pi.sln;
3、编译,运行程序并记录实验结果;
4、在源程序代码中的找到主程序体中进行omp方式优化
5、采用/Qopenmp重新编译程序;
三、实验结果 记录实验结果。
2.1
一、
(1)
直接编译运行:
(2)
打印数值
(3)
每次打印10个 Hello ,会发现明显的乱序执行现象
(4)
运行程序
(5)
使用下面的多线程代码进行计算
#include windows.h
#include stdio.h
CRITICAL_SECTION cSection;
const int numThreads = 4;
static long num_steps=100000;
double step, pi;
double x, sum = 0.0;
DWORD WINAPI helloFunc(LPVOID pArg)
{
int s = *(int *)pArg;
step = 1.0/(double) num_steps;
for (int i=s; i s + 25000; i++){
x = (i+0.5)*step;
EnterCriticalSection(cSection);
sum = sum + 4.0/(1.0 + x*x);
LeaveCriticalSection(cSection);
}
return 0;
}
void main()
{
InitializeCriticalSection(cSection);
HANDLE hThread[numThreads];
int tNum[numThreads];
for (int i = 0; i numThreads; i++) {
tNum[i] = i * 25000;
hThread[i] =
CreateThread(NULL, 5
您可能关注的文档
- 高级刀具管理方法TM doc using OP Manual 2013-Keith2014.11.4.pdf
- 高级数据库中的并控制问题.ppt
- 高管持股、高管的有收益与公司的并购行为.pdf
- 高考复习系列之四辨析并修改病句.ppt
- 高考英语教案——列句、宾从、状从.doc
- 高考政治经济生活七课复习.ppt
- 高考数学易失分、误点特别提醒(珍藏版)1.doc
- 高考复习:文言文句ppt课件3.ppt
- 高速公路沥青路面见病害检测方法.pdf
- 高职高专教材出版况与规划(陈光).ppt
- 贵州贵州省建设投资集团有限公司招聘考试真题附答案详解(研优卷).docx
- 河南南阳师范学院2021年招聘25名硕士研究生冲刺卷一(附答案与详解)及答案详解(名校卷).docx
- 陕西延长石油 (集团) 有限责任公司 所属单位招聘笔试题库及答案详解(必刷).docx
- 贵州民航产业集团有限公司招聘笔试题库含答案详解(基础题).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库含答案详解(考试直接用).docx
- 邢台市水务发展集团有限公司招聘真题附答案详解(实用).docx
- 新华保险总部人力资源部(党委组织部)招聘笔试题库含答案详解(预热题).docx
- 贵州苔茶产业发展集团有限公司招聘笔试题库含答案详解(b卷).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库附答案详解(综合题).docx
- 贵州城乡产业发展集团有限公司招聘笔试题库附答案详解(实用).docx
最近下载
- 《研学旅行指导师实务》课件——第2章 研学旅行指导师职业道德与素质.pptx VIP
- 工业特种设备安全 作者 蒋军成 第二章 锅炉.pptx VIP
- 《研学旅行指导师实务》课件——第7章 研学旅行安全管理.pptx VIP
- 【人教版】2025-2026学年三年级数学上册教学计划(及进度表).docx VIP
- 《研学旅行指导师实务》课件——第4章 研学旅行操作流程.pptx VIP
- 2024-2025学年新七年级英语上册Unit1《This+is+me!+》课本笔记(译林版).pdf VIP
- 2024废品收购合同范本.docx VIP
- 《研学旅行指导师实务》课件——第3章 研学旅行课程设计.pptx VIP
- 登高作业安全事故的应急预案.docx VIP
- 《研学旅行指导师实务》课件——第6章 基(营)地研学课程操作.pptx VIP
文档评论(0)