24小时热门版块排行榜    

查看: 627  |  回复: 6
【奖励】 本帖被评价3次,作者zyy816增加金币 1.5
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyy816

至尊木虫 (著名写手)


[资源] 【分享】简易的程式平行化方法-OpenMP

http://heresy.spaces.live.com/bl ... ECF9015F!1018.entry

2006/6/9
?????????л???????OpenMP?????????
????????Heresy ?????????_?????? openMP ????????????@??c???f???W???B?????????f??W??????????????????????^?m????f??????δ???????????????k???

??????????@?|?????о??????????????


--------------------------------------------------------------------------------

?????оw?????

???p????? CPU ??????AMD ?? Athlon64x2??Intel ?? Pentium-D??Core Duo????????????е? Core 2 Duo?????????????????X?????????????????r?? Pentium D???^????F?A?? C/P ??O????p???? CPU?????????p????????N?????

???????????оw??single thread????????????????????K?]???k?????????????Ч??????^???????оw??multi thread???????????????^??????????r??????_????????????????ε???????????оw???????f?????????????????????????Σ????G?o???w?????????????????? 10 ?? * 10 ?Σ?????? 100 ???????????????оw???????f??????????@????????o???w?????????????w??????? 5 ?Σ????????????r?g?????? 50 ??

??????????оw???????H??]?@?N???Ρ?????????и䴙?Y????????????r?g?????????F???У????????r???p?????Ч????????? 1 + 1 = 2 ?@????????????????????????й???????????и?????????????P??????@?????????и?o????????????????????\????????Y??????????}?????????????оw????????????S?o?????????????оw?????}?s??????

???^???????X????????????????????????????????????????? Intel Hyper-Threading Technology ?@?????????????r?g??????????оw??????????????????????????????оw???????оw??????е?Ч?????????????????M???


--------------------------------------------------------------------------------

?????оw????

???????r??????N????????оw??????????????????????????? thread ??????????H????????a???????? thread ????????? POSIX Threads ?@?? library???????????a??????????оw?????????? Microsoft VisualStudio 2005 ?У?????????? thread ???????@?N????????????a?????? thread????????????? thread ????????_????o?? thread ??\??????????????? thread ????Y?????????

????????H???????? thread ???M?韩???????????????????}?s??????????????????????Щ???ε?????л???????? thread library ??????????????c???u?????????X???@?r???? Open MP ????ζ????OpenMP ????N????^???A???????ε???????л????????оw???? API???????ε????Σ?????????????????????????????????л???????


--------------------------------------------------------------------------------

OpenMP ????????

??? Visual C++ 2005 ????? openMP ??????y?????? Project ?? Properties ?? C/C++ ?e Language ?? OpenMP Support ?_?????????? /openmp?????????? VC++2005 ????g?r?? OpenMP ???Z????????????? OpenMP ??n?????t????? include OpenMP ?? header file : omp.h??

????? for ????л??????????N???????????Σ??????????????


#pragma omp parallel for
??????

???????H????κ??ε????????????????\???????

#include
#include

void Test( int n )
{
for( int i = 0; i < 10000; ++ i )
{
  //do nothing, just waste time
}
printf( "%d, ", n );
}

int main(int argc, char* argv[])
{
for( int i = 0; i < 10; ++ i )
  Test( i );

system( "pause" );
}??????????? main() ?????????ε?????????Σ???ζ??????? Test() ?@????????K??????????дΔ???i?????M Test()  ?K????????????????????Y???????

0, 1, 2, 3, 4, 5, 6, 7, 8, 9,??????????? OpenMP ?? mian() ?e???????л????????????????????????

#include
#include
#include

void Test( int n )
{
for( int i = 0; i < 10000; ++ i )
{
  //do nothing, just waste time
}
printf( "%d, ", n );
}

int main(int argc, char* argv[])
{
#pragma omp parallel for
for( int i = 0; i < 10; ++ i )
  Test( i );

system( "pause" );
}????????^??β?????????У??t????????????????????l?F?Y???????

0, 5, 1, 6, 2, 7, 3, 8, 4, 9,??????Y???????@??l?F?????]?????? 0 ?? 9 ???????????????????????N????????????Σ?OpenMP ?????? 0 - 9 ????????E????? 0 - 4, 5 - 9 ???????G?o???????оw????????????????F?@????e????????

??????N?_?????????????оw???????????ж?????????????????????? Hyper Thread ????????????оw???????????????w????????????????????f?? Pentium 4 HT ???????????оw???????????????T?п????? CPU ??????????? 50%???????? OpenMP ?????M????л?????????????????h??r???у??w????? CPU ????????????ǹ???????T??????? CPU ??????? 100%??



--------------------------------------------------------------------------------


?????OpenMP ????????@??????????? OpenMP ????m????κ????????????????? :p

???^?????????????y??^Ч?????????ЩЧ??y???Y??????r???????Щ?e?`???? OpenMP ???????


--------------------------------------------------------------------------------

?]??

Microsoft VisualStudio 2005 Express ???У??K?]?и??? OpenMP ?@?? library???????? Professional ????汾???У?http://msdn2.microsoft.com/en-us/library/hs24szh9(VS.80).aspx????
OpenMP ????W???http://www.openmp.org
OpenMP in Visual C++ (Microsoft MSDN Library)??http://msdn2.microsoft.com/en-us/library/tt15eb9t.aspx
Visual C++ ???g???x? /openmp??http://msdn2.microsoft.com/zh-tw/library/fw509c3b.aspx

[ Last edited by mingdong on 2009-8-13 at 06:02 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lei0736

荣誉版主 (职业作家)


★★★ 三星级,支持鼓励

我们自己编的就是OMP并行 偷懒的做法
5楼2009-02-21 10:12:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

yalefield

金虫 (文坛精英)


★★★ 三星级,支持鼓励


lei0736(金币+1,VIP+0):谢谢 5-31 19:27
繁体字,按死缓
笔划多,不厌烦
2楼2009-02-20 16:09:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

erylingjet

铁杆木虫 (著名写手)


什么东西,没看懂?
3楼2009-02-20 19:56:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)


引用回帖:
Originally posted by erylingjet at 2009-2-20 19:56:
什么东西,没看懂?

国语而已。
4楼2009-02-20 22:18:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见