GZbkihevah\Zgb_dhff_glZjb_\hibjZ_lkybrbjhdhjZkijhkljZg_gguc\gZ
klhys__\j_fy klZg^Zjl
Open_MP
Hkgh\gZyhjb_glZpbyk^_eZgZgZ jZ[hlmk
h[s_ciZfylvxgblyfbWKUHDGVby\gufhibkZgb_fiZjZee_ebafZ<NhjljZ
g_ijbagZdhfki_pdhff_glZjby2SHQB03y\ey_lkyij_nbdk
!$OMP
Z\yaud_Kb
bkihevamxl^bj_dlb\m
#pragma omp
<gZklhys__\j_fyijZdlbq_kdb\k_\_^m
sb_ ijhba\h^bl_eb603-dhfivxl_jh\ ih^^_j`b\Zxl 2SHQB03 \dhfibeylh-
jZogZk\hboieZlnhjfZo
2. JZkrbj_gbykms_kl\mxsboyaudh\ijh]jZffbjh\Zgby
Djhf_bkihevah\Zgbydhff_glZjb_\ ^ey ihemq_gby iZjZee_evghcijh]jZffu
qZklhb^mlgZjZkrbj_gb_kms_kl\mxsboyaudh\ijh]jZffbjh\Zgby<\h^ylky
^hihegbl_evgu_ hi_jZlhju b gh\u_ we_f_glu hibkZgby i_j_f_gguo iha\h
eyxsb_ ihevah\Zl_ex y\gh aZ^Z\Zlv iZjZee_evgmx kljmdlmjm ijh]jZffu b \
g_dhlhjuokemqZyomijZ\eylvbkiheg_gb_fiZjZee_evghcijh]jZffuLZdyaud
High Performance Fortran (HPF)
ihfbfhljZ^bpbhgguohi_jZlhjh\NhjljZgZ
bkbkl_fuki_pdhff_glZjb_\kh^_j`blgh\uchi_jZlhj
FORALL
\\_^_gguc^ey
hibkZgbyiZjZee_evguopbdeh\ijh]jZffuGZb[he__bgl_j_kghcq_jlhcHPF
ij_^klZ\ey_lkyfgh]hmjh\g_\h_hlh[jZ`_gb_fZkkb\-fZkkb\-rZ[ehg-\bjlm
Zevguc ijhp_kkhjguc fZkkb\ - nbabq_kdb_ ijhp_kkhju iha\heyxs__ fZdkb
fZevgh]b[dhhlh[jZ`Zlvihevah\Zl_evkdb_^Zggu_gZj_Zevgucdhfivxl_jGZ
\uqbkebl_evghfdeZkl_j_GB<PF=MmklZgh\e_gZkbkl_fZ
HPF Adaptor
i_
j_\h^ysZyijh]jZffmkHPFgZFortrankMPI.
>jm]bf ijbf_jhf kem`bl yaud
mpC
jZajZ[hlZgguc \Bgklblml_ kbkl_fgh]h
ijh]jZffbjh\ZgbyJ:GdZdjZkrbj_gb_$16,&Hkgh\gh_gZagZq_gb_PS& —
kha^Zgb_ wnn_dlb\guo iZjZee_evguo ijh]jZff ^ey g_h^ghjh^guo \uqbkeb
l_evguo kbkl_f Ihevah\Zl_ev fh`_l aZ^Zlv lhiheh]bx k_lb jZkij_^_e_gb_
^Zgguob\uqbke_gbcbg_h[oh^bfu_i_j_kuedb^ZgguoIhkuedZkhh[s_gbc
hj]Zgbah\ZgZkbkihevah\Zgb_fbgl_jn_ckZ03,
DVM
-kbkl_fZ ij_^gZagZq_gZ ^ey kha^Zgby i_j_ghkbfuo b wnn_dlb\guo \u
qbkebl_evguoijbeh`_gbcgZyaudZo&-'90b)RUWUDQ-'90^eyiZjZee_evguo
dhfivxl_jh\ k jZaebqghc Zjobl_dlmjhc :[[j_\bZlmjZ DVM khhl\_lkl\m_l
^\mf ihgylbyf: Distributed Virtual Memory b Distributed Virtual Machine. I_j\h_
hljZ`Z_lgZebqb__^bgh]hZ^j_kgh]hijhkljZgkl\Z<lhjh_hljZ`Z_lbkihevah
\Zgb_\bjlmZevguofZrbg^ey^\moklmi_gqZlhcko_fuhlh[jZ`_gby^Zgguob
\uqbke_gbc gZ j_Zevgmx iZjZee_evgmx fZrbgm Fh^_ev ijh]jZffbjh\Zgby
ij_^iheZ]Z_laZ^Zgb_DVM-mdZaZgbckihfhsvxki_pdhff_glZjb_\ZagZqbl
h^bg\ZjbZglijh]jZffu^eyihke_^h\Zl_evgh]hbiZjZee_evgh]hbkiheg_gby
Ih^^_j`b\Zxlkyljb]jmiiu^bj_dlb\^bj_dlb\ujZkij_^_e_gby^Zgguo^b
j_dlb\ujZkij_^_e_gby\uqbke_gbcbki_pbnbdZpbbm^Ze_gguo^ZgguoDhf
ibeylhji_j_\h^blijh]jZffmgZyaudNhjljZgbebKbbkihevamy^eyhj]Zgb
aZpbb f_`ijhp_kkhjgh]h \aZbfh^_ckl\by h^gm ba kms_kl\mxsbo l_ogheh]bc