Hirdetés
- Sok hűhó négyszázért: AMD Ryzen 7 9850X3D
- Két 8 GB-os VGA-ra teszi fel ezt a negyedévet az NVIDIA?
- Bambu Lab 3D nyomtatók
- NVIDIA GeForce RTX 3060 Ti / 3070 / 3070 Ti (GA104)
- Milyen billentyűzetet vegyek?
- Sony MILC fényképezőgépcsalád
- Ilyet se látunk minden nap, már füstölt a GeForce, de a játék még futott
- Fejhallgató erősítő és DAC topik
- OLED TV topic
- Webes drivert fejleszt a Razer
-
PROHARDVER!

Új hozzászólás Aktív témák
-
pomorski
őstag
Sziasztok,
egy kis okosságra/segítségre volna szükségem többszálas (openmp) programozás kapcsán. Adott egy fortran kód, amit mi írtunk, néhányezer soros egyszálas. Kimértük, hogy vannak olyan részek, amik végrehajtása nagyon-nagyon időigényes, ezért kézenfekvő volt az ötlet, hogy párhuzamosítani kellene openmp segítségével az időigényes blokkokat a lehető legtriviálisabb módon. Az egyik ilyen időigényes blokk az alábbi:
.
.
.
.
.
jb=0
do ib=1,elteres
do kb=1,mutato(ib)
jb=jb+1
jk=0
do ik=1,elteres
do kk=1,mutato(ik)
jk=jk+1
if (ib.eq.ik)then
sl_tmp=0._dp
if(kb.eq.kk)sl_tmp=egyedi_proton_spe(jb,jk,mm/2,n_of_sdet,s)
if(s(jb)%neutron.eq.s(jk)%neutron.and.kb.ge.kk)then
sl_tmp1=egyedi_proton_tbint(jb,jk,mm/2,n_of_sdet,s)
ujhmatp(ib)%hh(kk,kb)=sl_tmp+sl_tmp1
ujhmatp(ib)%hh(kb,kk)=sl_tmp+sl_tmp1
endif
endif
enddo
enddo
enddo
enddo
.
.
.
.
.
ezt az alábbi módon openmp-sítettem (a legbelső vastag betűvel szedett részt):
.
.
.
.
.
jb=0
do ib=1,elteres
do kb=1,mutato(ib)
jb=jb+1
jk=0
do ik=1,elteres!$omp parallel &
!$omp private(kk,sl_tmp,sl_tmp1) &
!$omp reduction(+:jk)
!$omp dodo kk=1,mutato(ik)
jk=jk+1
if (ib.eq.ik)then
sl_tmp=0._dp
if(kb.eq.kk)sl_tmp=egyedi_proton_spe(jb,jk,mm/2,n_of_sdet,s)
if(s(jb)%neutron.eq.s(jk)%neutron.and.kb.ge.kk)then
sl_tmp1=egyedi_proton_tbint(jb,jk,mm/2,n_of_sdet,s)
ujhmatp(ib)%hh(kk,kb)=sl_tmp+sl_tmp1
ujhmatp(ib)%hh(kb,kk)=sl_tmp+sl_tmp1
endif
endif
enddo!$omp end do
!$omp end parallelenddo
enddo
enddo
.
.
.
.
.
de sajnos hülyeséget számol a progi, ha őt -openmp kapcsolóval fordítom le. Ha nem rakom be eme kapcsolót, és a fordító egyszálas üzemmódban fordítja, akkor tökéletes eredményt számol a progi, -csak lassan ugyebár.“Ökölszabályként” tudom, hogy ami értéket kap az “private”, ami felösszegződik, annál használni kell a reduction-t. Illetve azt is, tudom, hogy időként szükség van a “shared”-re is. Sok mindent kipróbáltam, de a kód csak nem akar megfelelő lenni többszálas fordítás esetén. Ötlet?
szerk: Sajnos csak így sikerült beilleszteni a kódot, a formázás eltűnt, bocs.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Genshin Impact (PC, PS4, Android, iOS)
- Sok hűhó négyszázért: AMD Ryzen 7 9850X3D
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Hosszú premier előzetest kapott az Arknights: Endfield
- BestBuy topik
- Honda topik
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Eredeti játékok OFF topik
- Samsung Galaxy S25 - végre van kicsi!
- Két 8 GB-os VGA-ra teszi fel ezt a negyedévet az NVIDIA?
- További aktív témák...
- Kingston Fury Beast 2x8GB ddr4 2666mhz KF426C16BBK2
- OHH ! Dell Latitude 9430 Üzleti Profi Prémium Ultrabook 14" -80% i7-1265U 32/1TB IRIS Xe FHD+
- Canon EOS 200D +kit objektív és táska ( 6100 expo )
- Chieftec Eco Series 600W táp eladó!
- Szinte Új Razer Kraken 2019 Fekete/Fehér/Zöld Bolti ár:20k INGYEN FOXPOST
- HIBÁTLAN iPhone 13 Pro Max 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS4260
- Akciós kisWorkstation! Dell Precision 3560 i7-1165G7 4.7GHz / 32GB / 512GB / Quadro T500 2GB FHD 15"
- Raktáron lévó VGA-k!!! Kamatmentes részletre is!! Érdeklődj!!!
- ÚJ Razer Kraken V4 Pro gamer fejhallgató
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen 2 munkaállomás - i7 11850H 16GB DDR4 1TB SSD RTX A2000 4GB W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs



