Şimdi Ara

İşlemcinizin Hızını Test Edin - DonanimHaber.com (8. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
179
Cevap
1
Favori
6.019
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 56789
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • quote:

    Orijinalden alıntı: canerpense

     İşlemcinizin Hızını Test Edin - DonanimHaber.com

    i5 750@3.6ghz

    Aslında toptan gösterse hepsini (22.044 tanesini) daha iyi olur sanki.

    Birde 2.5m olanı bu şekilde yaparsan benchmark yapmak istiyorum hocam.

    http://www.mediafire.com/?dtv78beptl9tcco

    kendi yaptığımı ve 2.5m luk olanı biraz düzenledim sayı aralığını ikisindede dilediğin gibi ayarlayabilirsin

    asalsayi1 olan kendi yaptığım,asalsayi2 de rubisconun paylaştığı algoritma



    < Bu mesaj bu kişi tarafından değiştirildi atyay -- 10 Kasım 2011; 22:14:33 >




  • Mesajim dursun
  • quote:

    Orijinalden alıntı: atyay

    http://www.mediafire.com/?dtv78beptl9tcco

    kendi yaptığımı ve 2.5m luk olanı biraz düzenledim sayı aralığını ikisindede dilediğin gibi ayarlayabilirsin

    asalsayi1 olan kendi yaptığım,asalsayi2 de rubisconun paylaştığı algoritma

    Testleri yaptım. Senin algoritmayı beğenmedi benim işlemci sanırım

    i5 750 @3.6ghz'de yapıldı yine testler. Arkada bi ton program açık ancak yük bindiren türden programlar değil.

    Asal1:
     İşlemcinizin Hızını Test Edin - DonanimHaber.com
     İşlemcinizin Hızını Test Edin - DonanimHaber.com


    250k testi: 00dk 01.7931025 sn
    2.5m testi: 01dk 10.7250453 sn

    Asal2:
     İşlemcinizin Hızını Test Edin - DonanimHaber.com
     İşlemcinizin Hızını Test Edin - DonanimHaber.com


    250k testi: 00dk 00.9100520 sn
    2.5m testi: 00dk 06.4753703 sn

    Bu testlere multi-thread eklenip, çok basit bir GUI yapılıp, hile yapılması engellenip, DH sunucularına skor upload etme özelliği (basit bir excel veri tabanı kullanılabilir belki, DH'ın 5-10MB yeri varsa) eklenirse; alın size Official DHMark CPU Suite 0.1 Alpha işte




  • Az önce 8 çekirdekli işlemci testine katıldık.Şimdi de bu deneyelim dedim.Ancak sonuçlardan görünen o ki açık bir şekilde bu test intel işlemcileri daha çok sevmiş.Ve işlemcileri sonunda dek zorlamıyor bile.



  • Bu da diğer laptop um.

    lenovo ideapad y560p

    corei7 2630qm
    (4x2) 8 gb ddr3 1333
    1 gb radeon hd 6570

    bu test için hazırlanan program bence gözden geçirilmeli.Çıkan sonuçlar çok tutarsız gibi.

  • #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sieve(int size) {
    int i = 2,j,k;
    char *sieve = calloc(size, 1);
    while (i*i <= size) {
    if (!sieve) {
    for(j = i+i; j < size; j+=i) { sieve[j] = 1; }
    for(k=i+1; k < size; k++) {
    if(!sieve[k]) { i = k; break; }
    }

    }
    }
    for (i=2; i<size; i++) {
    if (!sieve);
    }
    printf("\n");
    free(sieve);
    }
    int main() {
    clock_t start = clock();

    sieve(32000000);
    printf("Gecen Zaman : %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
    return 0;

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

    Bunun gibi bir modifikasyonla biraz daha hızlı çalışabilir algoritma. bütün sayılarda sieve etmek yerine sadece asal sayılarda sieve etmek biraz daha optimizasyonlu olabilir. ama thread konularını bilenler varsa, nasıl paralelleştirebileceğimiz üzerinde de düşünebiliriz. benim elimde şu anda sadece CUDA SDK'i var. onunla paralelleştirilebilir, tabi nVidia kartı olanlar için ki o da işlemciyi değil ekran kartını test eder.



    < Bu mesaj bu kişi tarafından değiştirildi yesil1026 -- 11 Kasım 2011; 8:58:16 >




  • quote:

    Orijinalden alıntı: yesil1026

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sieve(int size) {
    int i = 2,j,k;
    char *sieve = calloc(size, 1);
    while (i*i <= size) {
    if (!sieve) {
    for(j = i+i; j < size; j+=i) { sieve[j] = 1; }
    for(k=i+1; k < size; k++) {
    if(!sieve[k]) { i = k; break; }
    }

    }
    }
    for (i=2; i<size; i++) {
    if (!sieve);
    }
    printf("\n");
    free(sieve);
    }
    int main() {
    clock_t start = clock();

    sieve(32000000);
    printf("Gecen Zaman : %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
    return 0;

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

    Bunun gibi bir modifikasyonla biraz daha hızlı çalışabilir algoritma. bütün sayılarda sieve etmek yerine sadece asal sayılarda sieve etmek biraz daha optimizasyonlu olabilir. ama thread konularını bilenler varsa, nasıl paralelleştirebileceğimiz üzerinde de düşünebiliriz. benim elimde şu anda sadece CUDA SDK'i var. onunla paralelleştirilebilir, tabi nVidia kartı olanlar için ki o da işlemciyi değil ekran kartını test eder.

    güzel bir optimizasyon olmuş... eğer programı threadlere bölme eklemek istiyorsan threading'le ilgili şu makale çok işine yarayacaktır:

    http://www.albahari.com/threading/

    asal sayılarla ilgili en etkili sieve algoritması da burada:

    http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes




  • Intel Core 2 Quad Q8200 2.33@2.80 10 Saniye, daha yüksek (15 saniye civarı) bekliyordum. :D
     İşlemcinizin Hızını Test Edin - DonanimHaber.com
  • quote:

    Orijinalden alıntı: nadir_en

    güzel bir optimizasyon olmuş... eğer programı threadlere bölme eklemek istiyorsan threading'le ilgili şu makale çok işine yarayacaktır:

    http://www.albahari.com/threading/

    asal sayılarla ilgili en etkili sieve algoritması da burada:

    http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes



    Belki daha da ilerletilebilir veya Sieve of Eratosthenes'den daha iyi algoritmalar da vardır ama araştırmak ve zaman ayırıp uğraşmak lazım. yine de basitten başlayıp modifikasyonlarla ilerlemek de iyidir. işlemci karşılaştırması için ise multithreaded yapmak lazım. onun için de iki farklı yöntem var. bir tanesi tek bir asal sayı için sieve yapılacak sayıları threadler arasında paylaştırmak. diğeri de her thread için farklı asal sayı belirleyip threadlerin o sayıya göre sieve yapması. bu sıralar belki uğraşamayabilirim ama burada bunları benden iyi yapabilecek çok yetenekli arkadaşlar gördüm.
    bu arada, şu anda çalıştığım PCde i5 650 var ve 250000 hesaplayan ilk program 15 saniye sürdü.




  • quote:

    Orijinalden alıntı: yesil1026

    quote:

    Orijinalden alıntı: nadir_en

    güzel bir optimizasyon olmuş... eğer programı threadlere bölme eklemek istiyorsan threading'le ilgili şu makale çok işine yarayacaktır:

    http://www.albahari.com/threading/

    asal sayılarla ilgili en etkili sieve algoritması da burada:

    http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes



    Belki daha da ilerletilebilir veya Sieve of Eratosthenes'den daha iyi algoritmalar da vardır ama araştırmak ve zaman ayırıp uğraşmak lazım. yine de basitten başlayıp modifikasyonlarla ilerlemek de iyidir. işlemci karşılaştırması için ise multithreaded yapmak lazım. onun için de iki farklı yöntem var. bir tanesi tek bir asal sayı için sieve yapılacak sayıları threadler arasında paylaştırmak. diğeri de her thread için farklı asal sayı belirleyip threadlerin o sayıya göre sieve yapması. bu sıralar belki uğraşamayabilirim ama burada bunları benden iyi yapabilecek çok yetenekli arkadaşlar gördüm.
    bu arada, şu anda çalıştığım PCde i5 650 var ve 250000 hesaplayan ilk program 15 saniye sürdü.

    haklısın olabilir daha iyisi ama en etkilisi diye bu yöntemi okumuştum... multithreaded'da aynı sieve'i threadlere bölmek daha mantıklı çünkü farklı asal sayılar farklı zamanlarda hesaplanacağı için bazı threadler işi bitirip diğerlerinden erken idle'a düşecektir, bu da cpu'yu program boyunca full kullanmayı engelleyici bir faktör...




  • quote:

    Orijinalden alıntı: yesil1026

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sieve(int size) {
    int i = 2,j,k;
    char *sieve = calloc(size, 1);
    while (i*i <= size) {
    if (!sieve) {
    for(j = i+i; j < size; j+=i) { sieve[j] = 1; }
    for(k=i+1; k < size; k++) {
    if(!sieve[k]) { i = k; break; }
    }

    }
    }
    for (i=2; i<size; i++) {
    if (!sieve);
    }
    printf("\n");
    free(sieve);
    }
    int main() {
    clock_t start = clock();

    sieve(32000000);
    printf("Gecen Zaman : %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
    return 0;

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

    Bunun gibi bir modifikasyonla biraz daha hızlı çalışabilir algoritma. bütün sayılarda sieve etmek yerine sadece asal sayılarda sieve etmek biraz daha optimizasyonlu olabilir. ama thread konularını bilenler varsa, nasıl paralelleştirebileceğimiz üzerinde de düşünebiliriz. benim elimde şu anda sadece CUDA SDK'i var. onunla paralelleştirilebilir, tabi nVidia kartı olanlar için ki o da işlemciyi değil ekran kartını test eder.

    quote:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sieve(int size) {
    int i,j;
    char *sieve = calloc(size, 1);
    for (i=2; i*i <= size; i++) {
    if (!sieve[ i ]) {
    for(j = i+i; j < size; j+=i) { sieve[j] = 1; }
    }
    }
    for (i=2; i<size; i++) {
    if (!sieve);
    }
    printf("\n");
    free(sieve);
    }
    int main() {
    clock_t start = clock();

    sieve(32000000);
    printf("Gecen Zaman : %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
    return 0;


    benim yazdığım da aslında bu şekildeydi




  • quote:

    Orijinalden alıntı: atyay

    quote:

    Orijinalden alıntı: yesil1026

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sieve(int size) {
    int i = 2,j,k;
    char *sieve = calloc(size, 1);
    while (i*i <= size) {
    if (!sieve) {
    for(j = i+i; j < size; j+=i) { sieve[j] = 1; }
    for(k=i+1; k < size; k++) {
    if(!sieve[k]) { i = k; break; }
    }

    }
    }
    for (i=2; i<size; i++) {
    if (!sieve);
    }
    printf("\n");
    free(sieve);
    }
    int main() {
    clock_t start = clock();

    sieve(32000000);
    printf("Gecen Zaman : %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
    return 0;

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

    Bunun gibi bir modifikasyonla biraz daha hızlı çalışabilir algoritma. bütün sayılarda sieve etmek yerine sadece asal sayılarda sieve etmek biraz daha optimizasyonlu olabilir. ama thread konularını bilenler varsa, nasıl paralelleştirebileceğimiz üzerinde de düşünebiliriz. benim elimde şu anda sadece CUDA SDK'i var. onunla paralelleştirilebilir, tabi nVidia kartı olanlar için ki o da işlemciyi değil ekran kartını test eder.

    quote:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    void sieve(int size) {
    int i,j;
    char *sieve = calloc(size, 1);
    for (i=2; i*i <= size; i++) {
    if (!sieve[ i ]) {
    for(j = i+i; j < size; j+=i) { sieve[j] = 1; }
    }
    }
    for (i=2; i<size; i++) {
    if (!sieve);
    }
    printf("\n");
    free(sieve);
    }
    int main() {
    clock_t start = clock();

    sieve(32000000);
    printf("Gecen Zaman : %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
    return 0;


    benim yazdığım da aslında bu şekildeydi

    Hocam zaten 2 günlük bir süre kaldı canavar gibi bir test programı geliyor donanımhabere özel :) görsel efekt kattık biraz, girerken 1 2 eksik kaldı onlarıda tamamladıkmı en düzgün şekilde güzel bir test programı gelicek. Bu program'da bir kaç garip sorun var.




  • hp 2630 QM notebook, i7 2,00 işlemci ile 59 saniyede hesapladı. bu işte bir yanlışlık yok mu sizce? neden bu kada uzun sürede hesapladı?
  • quote:

    Orijinalden alıntı: the_point

    hp 2630 QM notebook, i7 2,00 işlemci ile 59 saniyede hesapladı. bu işte bir yanlışlık yok mu sizce? neden bu kada uzun sürede hesapladı?

    Hocam program hıza göre hesaplıyor çekirdeğe göre değil 2.00 ghz işlemciniz var 2.5 ghz sizden daha hızlı olur core 2 duo olsa bile, az kaldı düzeltiyoruz
  • quote:

    Orijinalden alıntı: MSSE

    Hocam zaten 2 günlük bir süre kaldı canavar gibi bir test programı geliyor donanımhabere özel :) görsel efekt kattık biraz, girerken 1 2 eksik kaldı onlarıda tamamladıkmı en düzgün şekilde güzel bir test programı gelicek. Bu program'da bir kaç garip sorun var.

    hocam, program açık kaynak kodlu olursa, programlama ve threadler ile ilgili bilgisi veya tecrübesi olanlar da belki birtakım katkılarda bulunabilirler diye düşünüyorum, Linux geliştiricileri gibi tabii, bu tamamen geliştiricilerin bileceği iştir. belki kaynak kodu hiç paylaşmayabilirsiniz, belki sadece donanımhaber üyeleri ile paylaşırsınız bir şekilde vs. ben şahsi düşüncemi söyleyim dedim, gerisi size kalsın. ama ne şekilde olursa olsun, programı deneyeceğiz tabi ki.




  • i5 2500k@4.2 Ghz , 9 sn

     İşlemcinizin Hızını Test Edin - DonanimHaber.com



    < Bu mesaj bu kişi tarafından değiştirildi Guest-DC5C7D984 -- 11 Kasım 2011; 16:12:39 >
  • quote:

    Orijinalden alıntı: doctorfizik

    quote:

    Orijinalden alıntı: Rubisco

    Benim baştan 5. mesajımı okuyan yok mu?

    Arkadaşın yaklaşımı yanlış, kullandığı algoritma yannış, multithreaded değil, kodu paraleleştirmek için herhangi yapılmış bişey yok, mimariye ozel geliştirme yok, hepsine ilave integer için SSE2 faln kullanmıyor. Çıkış noktası tamamen hatalı.

    Bi deli bi kuyuya taş atmış 40 akıllı çıkarmaya uğraşıyo diyecem ayıp olucak ama öyle.

    En başa bu Sadece şunun ile kodlanmış, herhangi bir kod/ mimari optimizasyon içermeyen, paraleleştirilmemiş multithreaded olmayn, mimariye özel optimizasyon içermeyen, SSE gibi SIMD komutu kullanmayan öylesine deneysel bir programdır diye yazılması lazım.

    1'den 250 bine kadar olan sayıları inceleyip, hangisi asal sayı hangisi değil bulmak saniyenin bilmem kaçta kaçı sürecek bir iş. Hepiniz sonuçlarıza bakın onlarca saniye sürüyor. Ben ilk mesajımda yazdım, 1 den 32 milyona kadar olan sayıların hangisinin asal olduğunu bulmak 1-2 saniye en fazla sürer diye (denediğiniz program 250 bine kadar deniyor).

    Aşağıdakini de ben yazdım, kodunu da ilk mesajımda verdim, isterseniz kendi pc nizde derleyin isterseniz online compiler ile derleyin, isterseniz aşağıdaki linkden çekin çalıştırın.

    myfile.exe > a.txt yazın, sonra açın bakın txt dosyasını, hani gerçekten hesaplıyormu diye bakıcaksanız eğer. Hani inanmazsanız içndeki sayıları görmek için, 16mb lık text dosyasını açmak için Universal Viewer kullnın http://www.portablefreeware.com/download.php?dd=1079

    Çalıştırılaiblir dosya
    http://www.mediafire.com/?edmu1phyq9189xz
    myfile.exe > a.txt gibi yazın yada direk myfile.exe diyin anında bittiğini göreceksiniz. Yani 1 den 32 milyona kadar asal sayıları bulmak zor iş değil. Marifet gerektiren ve herkezin gerçekten yararlanacağı bunu süper hızlı şekilde yapabilmek. Yine dediğim gibi bu 10 kat fazla kod istiyor, paralleştirmek için, bi o kadar da SSE2 kullanmak için (integer mul için).

    @Rubisco dediklerinin programlama ve multithread kısımlarına katılmakla birlikte buradaki amacın asal sayıları hesaplamak değil sadece bu işlemi ne kadar sürede bitireceğini görüp bir işlemci sıralaması yapmak olduğunu hatırlatmak isterim. programlama konusunda haklısın eksikler var, hele cpu-test meselesine gelince multithread'siz anlamsız, çok doğru...

    amd'lerin başarısızlığına gelince, süperpi'de de olduğu gibi tamamen programla ilgili bir olay, yoksa amd'ler intellerden bu kadar yavaş değil, problem yok yani... mesela benim programda ise bu sefer amdler intellerden önde... o yüzden arkadaş amd ve intelleri ayrı ayrı ele almış, doğru da etmiş...

    Alıntıları Göster
    quote:

    @Rubisco dediklerinin programlama ve multithread kısımlarına katılmakla birlikte buradaki amacın asal sayıları hesaplamak değil sadece bu işlemi ne kadar sürede bitireceğini görüp bir işlemci sıralaması yapmak olduğunu hatırlatmak isterim. programlama konusunda haklısın eksikler var, hele cpu-test meselesine gelince multithread'siz anlamsız, çok doğru...

    amd'lerin başarısızlığına gelince, süperpi'de de olduğu gibi tamamen programla ilgili bir olay, yoksa amd'ler intellerden bu kadar yavaş değil, problem yok yani... mesela benim programda ise bu sefer amdler intellerden önde... o yüzden arkadaş amd ve intelleri ayrı ayrı ele almış, doğru da etmiş...




    Beni hep rahatsız eden şu, sizlerle ayrı düştüğüm: Amaç belli bi problemi çözmek ise ona göre yöntem bulmak lazım, amaç belli bi şart altında bişeyi test etmekse ona göre başka bi yol bakmak lazım, belli bir yöntem yada problem belli bi mimari de, belli bi probleme bakış açısından belli bi kodlama şeklinde diğerlerine göre daha ön plana çıkıyor bunun üzerinde uğraşmak da apayrı bişey.

    Dediğim gibi 1. mesaja bunu yazıcaz "Bu program Tek Thread kullanır, compiler bazlı optimizasyon içermez, kod yüzünden Intel sistemlerde daha verimli çalışabilir. Karşılaştırmalarda xxx işlemciniz xxx rakibinden daha kötü ise bu sadece bu programı kötü çalıştırdığını gösterir" gibi büyük bir uyarı lazım, ve sadece bu program üstünde böyle bir sıralama gerçekleştirildiğini.

    İşin bana göre diğer bi yüzü, eğer belli bi kod yaklaşımı mimariler arasında farklı sonuçlara yol açıyorsa ne yapıcaz? Kağıt üstünde C kodu optimize gözüküyor, ama mesela Intel Core2 ile Phenom II arasında fark gösteriyor, birisinde branch prediction diğerin cache açısından avantajlı mesela. İkisi için de farklı şekillerde mi kod yazıcaz?(yeni eski farketmez, bi Intelin 1980 den kalma Cray karşısında malup olurken bunun kodlama şekli yüzünden olması, kullanılan loop değiştirildiğinde ise inanılmaz fark atması gibi mesela).

    Bunlar kimsenin pek iplemediği şeylerde, benchmarkların bana göre sorunu bu. Ortaya birşey koyup hadi bunun üstünde hangisiniz en hızlısı denmesi. Farklı mimarilere göre optimizasyon anca compiler seviyesinde yapılabiliyor ama compiler sonuçta çalıştırılacak kodda çok fazla şey değiştirmez. Sadece farklı mimariler arasında Fast Path'e imkan tanıyan optimizasyonları yapar buna da cpu-dispatch deniyo zaten. Belli bi kodun belli bi mimari üstünde iyi çalışırken, aynı probleme yönelik biraz farklılaştırılmış başka mimaride daha hızlı çalışabilir. Ben kimsenin, aynı programı farklı mimariler için farklı kodlar içerecek şekilde yazdığını genişlettiğini sanmıyorum mesela. Eğer mimari core i7 ise 1. loop varyasyonunu, eğer mimari core2 ise 2. loop varyasyonunu, BD ise 3. loop varyasyonunu çalıştır gibi kimsenin o kadar uğraşacağını sanmam (buna bildiğimiz bütün benchmarklar dahil).
    Bütün bunları tek bir çalıştırılabilir dosyaya sığdırmak zorunda olmasak, farklı libraryler şeklinde kullanabilir olsak bile çok fazla iş ister.

    Bu kadar niye saçmalıyorum, mesela loop nest optimization veya diğerlerinde donanım hep bizi kısıtlayan faktör(her ne kdar compiler optimizasyon yapıyor ola da ana kod üstünde değişim yapacak kadar akıllı değil, diğer yandan bildiği mimarilere göre kodda değişim yapması yine cpu-dispatch yeteneği gerektiriyor). Amacımız mesela memory trafiğini olabildiğince az tutmaya çalışmak, bu da sorun çıkartan looplara ayar vererek yada loopun işlemcide cacheleri nasıl tükettiğini bilerek olur. Mesela core i5 i7 lerde 32kb L1 data cache var, L1D cache istediğin kadar iyi yönetiliyor olsun, yazdığın bir loop haddinden hızlı dolduruyorsa bi süre sonra duvara toslama şansın yüksek demektir. Koda ayar verilerek hem bunu doldurmasını engelleyip, problemi o şekilde parçalara ayırabilirz, hemde iyi yönetimlesinin avantajını kullanabiliriz.

    Neyse yani sonuçta demek istediğim gerçek hayattaki problemlerimizle pek alakası olmyan yada onlara daha iyi bi yaklaşım sergilemeyen benchmarklar beni rahatsız ediyor onu demek istedim. İlk mesajda asal sayı görünce direk algoritma/kod varmı ona baktım, olmayınca çekip çalıştırdım, %99 sieve of eratosthenes kullanmıyor dedim (ki sieve of eratosthenes hız açısından hemen hemen en hızlısı yada en kolay programlanabilir olanı). Özel hiçbişey yapmadan arkadaşın yazdığından, probleme özel daha hızlı çalışan bişey çıkabiliyor onu göstermek istedim. Gerçek hayatta kullandıklarımız da yeterince paralalleştirmeden %90 uzaklar, daha iyi kod yazılabilir yada modifiye edilebilir, mimarilere özel kod yazılabilir en azından library şeklinde, mimarilerin avantajlarından yararlanılabilir. Yine dediğim gibi SSE integerlar için de kullanılabiliyor, packed integer olarak rahatça 128 bit SIMD registerı 4x32 bit şeklinde kullanılabiliyor. TAbi yine gerçek hayata dönersek, kimse büyük uygulamaları eğer yeterince hızlı çalıştığı düşüncesindeyse yeni projeye yönelmek yerine üstünde vakit harcamaya değer olarak görmez. Agnor Fostun dediği gibi yine, kodları açık olmadığı sürece hangi compilerla nasıl derlendiği kesin bilinmediği sürece benchmarklar güvenmeyin diyor. Sonuç yukarda dediklerime benzer kısır döngüye giriyor, ortada bişey var, bunun üstünde hangisi hızlı ona bakıcaz işine gelirse. Bunda onda şöyle olsa daha hızlı olurmuş yok arkadaş biz uğraşamayız o kadar sana da bilmem kaç kuruşluk oyunumuzun benchmarkımızın kodlarını vermeyiz. Oyun Intelde hızlı çalışır AMD de geri kalır, başka bişey AMD de daha iyi olur Intelde yavaş kalır faln faln gibi.

    Edit : sieve of eratosthenes veya diğerleri gibi bol loop içeren problemlerde C ve OpenMP ile mutlaka problemi parçalara ayırıp barier function kullanmak gerekiyor. Yoksa program paralelleşirken çalıştırılan kod miktarı en baştakinden kat kat fazla olabiliyor. Bu da paralleştirilen kodun çok daha fazla uzaması demek. Aşağıta PPT sunumuyla anlatıyor Sieve of eratosthenesin nasıl yapılacağı probleme nasıl yaklaşılması gerekitği threadler arası iletişimin nasıl sağlanması gerektiği vs.

    http://www.cs.gsu.edu/~cscskp/Parallel/presentations/Chapter5-sushil.ppt



    < Bu mesaj bu kişi tarafından değiştirildi Rubisco -- 11 Kasım 2011; 20:30:45 >




  • core 2 duo e4600:17 saniye
  • İşlemci: Intel Core i5 750 4 Ghz Overclock
    Test Sonucu: 7 sn
    Link:http://imageshack.us/photo/my-images/849/asalsaytesti.jpg/
  • şu an itibariyle piyasada i5 i7 ler kadar performanslı bi cpu yok tabi fiyatlarıda biraz tuzlu malum dolar yüzünden en kısa zamanda bu platforma geçmek lazım ,giriş seviyesi için amd hala rakipsiz fakat üst seviye performansda intel rakipsiz gibi...
  • 
Sayfa: önceki 56789
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.