Openmp İle İlgilenenlere Basit Bir Soru
-
Arkadaşlar bu kod sadece işlem kalabalığı olsun diye yazıldı. Paralleştirmek için eklenen OpenMP satırları doğru mu kontrol edebilir misiniz ? Eğer doğruysa bu gerizekalı program neden 8 ayrı işlemcide çalışmak yerine 'top' komutunda bana sadece tek bir işlemcide %800 performans olarak gösteriyor ?
PROGRAM denemep
USE omp_lib
INTEGER :: i,x,sum
!$OMP PARALLEL DO PRIVATE(i,x),SHARED(sum)
DO i=1,200000
DO x=1, 200000
sum = 3*x* i
END DO
END DO
!$OMP END PARALLEL DO
END PROGRAM
-
top komutu tüm CPU'ların toplam kullanımı verir. Tüm CPU'ların kullanımlarını ayrı ayrı görmek istersen mpstat komutunu kullanabilirsin. Eğer yüklü değil ise sysstat paketini yükleyerek elde edebilirsin.
-
evet hocam hatta;
top yerine top -H kullanmam gerekirdi.
yada top yazdıktan sonra 1 e basmam..
Peki openMP kodu doğru mu çünkü zamanda tasarruf yapmayı bir yana bırakalım, birazcık daha uzun sürüyor..