Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi

Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi

Merhaba arkadaşlar, basit bir kod hazırlayarak farklı bilgisayarların paralel çalışma hızlarını karşılaştırmaya karar verdim. Bu test için hazırlanan paralel matris çarpma kodu aşağıda verilmiştir.

Paralel Matris Çarpma Kodu

#include
#include
#include

using namespace std;

#define N 2000

void init(int *A, int *B, int *C)
{
   srand(N);

   for(int i = 0; i < N; ++i)
     for(int j = 0; j < N; ++j)
     {
        A[N * i + j] = rand() % 100 + 1;
        B[N * i + j] = rand() % 100 + 1;
        C[N * i + j] = 0;
     }
}

void carp(int P, int *A, int *B, int *C)
{
   omp_set_num_threads(P);

#pragma omp parallel for
   for(int i=0; i < N; ++i)
     for(int j=0; j < N; ++j)
       for(int k=0; k < N; ++k)
         C[N * i + k] += A[N * i + j] * B[N * j + k];
}

int main()
{
   int *A = new int[N * N];
   int *B = new int[N * N];
   int *C = new int[N * N];

   for(int i=1; i < 16; i *= 2)
   {
     init(A, B, C);

     long start = clock();
     carp(i, A, B, C);
     long end = clock();
     cout << "Num Proc: " << i << "\tDur: " << end-start << " ms" << endl;
}

   system("PAUSE");
   return 0;
}

Farklı bilgisayarlar için test sonucuna bakalım. Siz de test sonuçlarınızı bizimle paylaşmak isterseniz buyrun.

Ahmed'in Bilgisayarı

Intel i7-2600K 4.4 Ghz + DDR3 2000 Mhz (bol bol overclock)

Num Proc: 1 Dur: 4475 ms
Num Proc: 2 Dur: 2234 ms
Num Proc: 4 Dur: 1119 ms
Num Proc: 8 Dur: 1041 ms

Serdar'ın Bilgisayarı

Intel i7-3820 Socket 2011 3.6 Ghz + DDR3 1833 Mhz (overclock yok)

Num Proc: 1 Dur: 5023 ms
Num Proc: 2 Dur: 2527 ms
Num Proc: 4 Dur: 1497 ms
Num Proc: 8 Dur: 1248 ms

Beycan'ın Bilgisayarı

Intel i5-2500 3.5 Ghz + DDR3 1600 Mhz (masaüstü az overclock)

Num Proc: 1 Dur: 5592 ms
Num Proc: 2 Dur: 2791 ms
Num Proc: 4 Dur: 1650 ms
Num Proc: 8 Dur: 1840 ms

Contabo VPS XL

Six cores, 3.2 GHz + 16 GB Ram (guaranteed)

Num Proc: 1 Dur: 7925 ms
Num Proc: 2 Dur: 4081 ms
Num Proc: 4 Dur: 2468 ms
Num Proc: 8 Dur: 2046 ms

Beycan'ın Laptop

Intel P7350 Core2Duo 2 GHz + DDR2 800 Mhz (laptop normal)

Num Proc: 1 Dur: 14726 ms
Num Proc: 2 Dur: 7816 ms
Num Proc: 4 Dur: 7472 ms
Num Proc: 8 Dur: 7317 ms

Beycan'ın 2002 Model Bilgisayarı

AMD Athlon 2500+ 1.09 Ghz + DDR 400 Mhz (server yavaşlatılmış)

Num Proc: 1 Dur: 69219 ms
Num Proc: 2 Dur: 69078 ms
Num Proc: 4 Dur: 68234 ms
Num Proc: 8 Dur: 69078 ms

Poundhost AtomCube Server

Dual-Core Intel Atom D525 1.8GHz + 2GB DDR3

Num Proc: 1 Dur: 390240 ms
Num Proc: 2 Dur: 391120 ms
Num Proc: 4 Dur: 428160 ms
Num Proc: 8 Dur: 428080 ms

Poundhost AtomCube sunucusunda program çıktısı yukarıdaki gibi olmasına rağmen, çalışma süreleri yaklaşık olarak 391, 238, 136, 141 saniye olarak çıkmıştır.

Sanal işlemci kullanıldığı için böyle bir sonuç çıkmış olabilir.


12 yıl 9 ay önce eklendi

Asperger sendromu nedir, nasıl tedavi edilir? Hz Muhammed'in doğum tarihi Küresel ısınma karşısında alınabilecek önlemler Belene: Ölüm tarlası! Seni Seviyorum Şiirleri Orhan Bey Dönemi (1324-1362) Vukuatlı nüfus kayıt örneği Talep Tahmin Yöntemleri Dejavu nedir, Dejavu nasıl oluşur? Ahlak Felsefesi (Etik) Dünyada en çok tanınan 15 ünlü Ateist Dilin İnsan ve Toplum Hayatındaki Yeri ve Önemi Sanat Çeşitleri, Zanaat Çeşitleri Evdeki Karıncalardan Kurtulma Yolları Mitozun Evreleri, Mitoz bölünme evreleri nelerdir? Site Nasıl Kurulur? Naim Süleyman oğlu kimdir, hayatı, biyografisi, rekorları Paralel Matris Çarpma Kodu: Bilgisayarınız için basit bir performans testi Köpekler Çikolata Yerse Neden Ölür? Quick Sort (Hızlı Sıralama) Algoritması Open CV (computer vision) kütüphanesini kullanarak yüz tanıma kodu örneği