Şimdi Ara

İşlemciye Gerek Duymadan Oyun Oynamak (2. sayfa)

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

    Orijinalden alıntı: -Rsan-

    Günümüz teknolojisi ile pcler ve konsollarda oyun oynayabilmek için anakart+işlemci+ekran kartı+ram+hd bileşimine ihtiyaç var.Bu bileşenlerden işlemci bu sistemde ne derece gereklidir.Nvidia'nın ekran kartlarında bulunan cuda çekirdekleri programlanabildiği taktirde işlemcinin yaptığı işi yapabiliyor diye biliyorum.Hatta çok daha az efor harcayıp daha fazla getiri sağlayarak.Peki bu durum ne zaman yaygınlaşır.Ne zaman sadece ekran kartı odaklı oyunlar yapılır ya da bu gerçekten mümkün olabilir mi? İzlediğim bir videoda cuda çekirdeklerinin yapay zeka oluşturulması ve kontrolünde de işlemcilerden çok da üstün performans sergileyebileceğini görmüştüm.Bir physx işlemi hem işlemciye hem de ekran kartına atanabiliyorsa tüm işlemler de ekran kartına aktarılıp işlemciye ihtiyaç olmadan oyun oynanamaz mı?

    İşlemcim eskiyince böyle bir projenin gerçekleşmesini daha da ister oldum.Siz neler düşünüyorsunuz?

    Ekran kartı matris çarpımı toplama faln yapar (geometri ışıklandırma gibi). Amaca özel genel bi devredir (ASIC). CPU ise işletim sistemi çalıştırır, program çalıştırır, bi yerlerde işlenmesi gereken verilen bi yerden bi yere yollanmasını sağlar kafanızda şekillenmesi açısından bu tür örnekler kullanabilirsiniz bence. CPU nun ekran kartının yapacağı kadar çok özelleşmiş devresi yok bu yüzden zaten 3D için ekran kartı ihtiyacı var. Eskiden Software modda 3D oyun oynanılabliyordu mesela, 3D hesap işleri CPU tarafından yapılabiliyordu.

    Ekran kartı tek başına herhangi bir genel maksatlı iş yapamayacağı için; buna bütün girdileri kontrol etmek, klavye mouse hdd vs. gibi, bunların verilerini işlemek (işletim sistemi vasıtası ile)
    programların donanımların birbirleri ile iletişim kurmasını sağlamak vs. vs. yapamayacağı için kendi başına hiçbişey yapamaz.

    Şimdiki yaklaşımların hepsinde Ekran kartı arabirim üstünden bağlanılan bir aygıtdır. Bu PCI üstünden sistemle haberleşir. Ekran kartının CPU yada RAM ile iletişim kurması bu yüzden yavaştır, buna Latency Wall deniliyor. Bu yüzden ekran kartında çalışan bir thread, bi şekilde sistem RAMına ulaşması gerekirse o yaptığı bekleme moduna alınır, sonra gerekli donanıma boş kaldığı süre boyunca başka iş verilir, boş beklemesin diye. Yukarıda denildi, ekran kartları aynı anda 1 işden çok defa yapmaya yarar, buna SIMD deniyor zaten. Elimizde çok büyük bi veri kümesi var, elimizdeki bir sayıyı bütün bu küme ile çarpıcaz mesela. Ekran kartları bunu yapıyor.

    Ekran kartının üstüne bi tür CPU gibi bişey takıp genel maksatlı bir bilgisayara dönüştürmek istesek tamamen farklı sistem mimari vs. gibi şeylerin olması lazım ki hiçbişeyle uyumlu olmayacak. Bunun üstünde çalışması için özel bi işletim sisteminin dizayn edilmesi gerekir. İşletim sistemi olmadan hiçbişey çalışmaz, anca basit bios tarzı bişey olur. İşleyim sistemi herşeyin üstünde çalışacağı temel ortak bi sürü standart belirler, herşey de bunun üstünde çalışması gerekir. Aksi durumda, sadece Bios olsa, her tür programın bi nevi kendi işletim sistemi olmak zorunda. Diğer bi değişle bütün girdi çıktı haberleşme düzenleme vs. gibi şeyleri hep işletim sistemi yaparken bütün bu işleri programın yapması lazım, bu da olacak iş değil (burada en en en en özel duruma kadar indiğimiz anlayabilirsiniz). Bu yüzden bu tür yaklaşımlar, özel devre üstünde çalışacak özel sistemler için özel yazılım sisteminin vs. geliştirilmesi gerekir. Genel maksatlı olacak bi iş değil sonuçta.

    Bütün herşeyin tek çip üstünde toplanıldığı sistemlere SOC deniliyor, system on chip. Burda cpu,gpu,bellek kontrolcüsü, ethernet arabirimi, wifi , blutooth vs. vs. herşey konulabilir. Aynı tablet/smartphonelardaki çipler gibi. Yannız bu doğal olarak birkaç engel getirir, tablet için belki pek önemli değil ama şu anki endüstriye göre ekran kartı yada cpu dğeiştirmek isterseniz eski ekran kartını çıkar yenisini tak, cpu çıkar yenisiini tak gibi imkan var. SOC çiplerde çipin tamamı değişmeli. GTX 580 + i3 veya GTX580+ x955 faln gibi seçim yapabilme şansımız yok.

    Hem CPU hemde GPU nun bir arada tek bi çip üstünde olduğu acaip bi çip yapılır(AMD Liano'lar gibi), o zman ayrı ayrı ekran kartı ve CPU gerek olmaz. Ama bu da size kısıtlama getirir, bi önceki paragraftaki gibi. Diğer taraftan GPU'ya özel bir RAM olmadığı için sistem RAMına ulaşması gerekir, bu da bi miktar perf kaybına yol açar. AMD'nin Fusion mimarisinde (Liano ve yenileri gibi) çip üstüne de RAM ekleme gibi çalışmaları var, bu da artan performans demek. CPU GPU aynı çip üstünde olmasının farklı bi avantajlı var. Aynı çip üstünde olduklarından, eğer GPU >>> CPU ya erişmesi gerekirse, harici ekrn kartlarında olduğu gibi yavaş PCI-ex üstünden ulaşmak zorunda değil. Aynı çip üstünde olduklarından özel bi arabirm ile çok düşük Latency(gecikme) ve daha yüksek bant genişliği ile bunu yapabilir. Mesela Lianolarda CPU-GPU arası 20 GB/s bi arabirim var. Yeni PCI-ex 3.0 da 16GB/s. Üstelik Liano daki gecikme daha da düşük. AMD'nin yeni gelicek Trinity APU'sunda, eğer vaadedildiği gibi olursa, daha güçlü CPU ve GPU birarada olucak. Yine AMD nin vizyonunda bu tür bir CPU-GPU birlikteliğinin ileri versiyonları var. Bu tür yaklaşımlar bazı açılardan çok büyük avantaj sunabilir durumdalar.

    Endüstrinin uyum konusunda çok katı kuralları olduğundan, şimdiki yaklaşımların dışına kolay kolay çıkmayacağı ortada.




  • yalnız unutulan bi nokta var gpu tamamen cpu odaklı uygulamaları hesaplayamaz. 22 nm sürecinde rubisco hocamında belirttiği üzre soc yani yongada sistem platformuna geçiliyor böylelikle gpuya kısmi ya da ilerde adım adım büyük hacimde cpu uygulamaları daha doğrusu X86 iş yükü hesaplamasının önü açılıyor ama tabi ileridde ne kadar geliştirilirse geliştirilirsin tek başına gpu diğer bileşenlerle birlikte cpu olmadan platform oluşturulamaz. tek bir çip üzerinde cpu ve gpu Arm de olduğu gibi tamamen ölçeklendirilebilir özelleştirilmiş bir yapıya kavuşacak bu durum ilerde çok büyük devrimsel çalışmaların ön habercisi olacak bi çalışma özellikle yongada sistem platformu çerçevesinde cpu ve gpu tamamen ölçeklendirilebilir yapıya kavuşması diğer taraftan gpunun tam x86 emülasyonuna sahip olması mevcut gpuların çok güçlü olmasına rağmen cpu odaklı uygulamaları hesaplayamamaktalar. programlama konusunda C++ diline göre optimize edilmiş open cl iile gpu üzerinde açık kaynaklı daha kolay programlanabilir geliştirilmiş özgün programalama seçeneği daha ilerki jenerasyonlarda sunulabilir şuanda cuda kapalı kaynak üzerinden open cl her ne kadr önünde engel olsa da amd açık kaynaklı esnek bi yapıya hd7 serisinde sunmaya başladı nvidia da bu yönde hala kendi kodlarına sahip kapalı kaynak kodlarına devam edeceğini açıklamıştı. ki bana göre intel ıvy bridge de grafik konusunda başarılı olursa ve amd soc platformunda gpuların kısmi x86 iş yükü heaplamalarının önünü açarsa eğer nvidia açık kaynak okda dönmek zorunda kalabilir zira amd bahsettiği konuda gpuyu tam x86 mimarisine göre optimize ederse eğer amd kendi alanında tekel olacak düzeye gelir. şuanda fusion platformu yakın gelecekte olabilecek teknolojiler mevcut durumda sunulmuş bi cevheri diyebilirz zira amd fusionda mükemmel bi tasarımla gpuyu zar alanı içinde harici kartlara kafa tutabilecek küçük zar alanını kaplayan entegre gpularla güzel işler çıkarttı ki harici ekran kartı ile ati hybirde benzer cf mantığıyla çalışan grafik birimlerine sahip. fusion için ayrıca sıkıştırma arşivleme format encode decode etme konusunda rakip çözümlerden daha başarılı ve öncülüğünü elinde bulundurmaktaki burda özellikle arşıvleme sıkıştırma konusunda grafik birimleri tarafından daha az süreye indirilmeye başlandı ki bu olayı aslında kısmi olarak başarabilmiş durumda. eğer ilerde cpu x86 iş yükü iş hesaplamalarını gpuya paralel hesaplama teknolojileriyle gpuya paketleyebilir ve gpu tarafından işlenebilir hale gelirse cpunun üzerindeki salt işlem hacminin büyük bir bölümünü üstlenebileceği kesindirki cpu ya sadece x86 Ağır iş yükü hesaplama yeteneğine sahip olması yeterli olacak ve güçlü bi ekran kartıyla ucuz maliyetli bi cpu ile daha performanslı sistemler elde edilebilecek ya da bi modül halinde özelleştirilmiş olarak sunulacak




  • quote:

    Orijinalden alıntı: inuh

    Iltifatlariniz icin cok tesekkur ederim.
    Sorulan soruya gelecek olursak 2.5 teraflop islem gucu q8400 islemcilerden asagi yukari 10.000 tane demek.

    Hocam sen bu konuda uzman olduğuna eminmisin?

    Bir işlemciyi ekran kartı ile bu şekilde karşılaştıramazsın. Bir gpu ancak işlemcinin simd üniteleri (sse, mmx vs.) ve fpu birimi ile karşılaştırılabilir.

    Bugün modern bir işlemci ortalama 50 gflops fp hesaplar. 2.5 tflops / 50 gflops = 50x eder. 10000 nerden çıktı???
    Ayrıca 2.5 teraflops demek saniyede 2.5 milyon değil, 2.5 trilyon kayar nokta hesaplaması demektir. En basit terimlerde bile bariz hatalar yapabiliyorsan uzmanım deme bence.


    Konuya gelirsek ekran kartlarının, işlemcinin yapabileceği herşeyi yapması şimdilik mümkün değil. İşlemciler çok geniş bir komut seti yelpazesine sahiptir. Bir x86 işlemcinin sadece bellekten veri çekmek için bile çok çeşitli komutlları var. İşlemciler 1 bayt üzerinde bile çalışabilirler ama gpu lar aynı işlemi çok fazla sayıda veri üzerinde uygulamak için tasarlanmışlardır.

    Programların %99 u paralel hesaplamaya ihtiyaç duymaz. Küçük küçük veri grupları çok çeşitli işlemlerden geçerler ve sıra tabanlı olarak çalışırlar.

    Bu yüzden programların çok büyük çoğunluğu için işlemciler zorunlu.

    Gpu larda yüzlerce paralel ünite olsada programcılar bunlara sadece kümelenmiş gruplar halinde erişebilir. Mesela son çıkan hd7970 te 2048 stream processor var ama programcılar için önemli olan ve erişilebilen "compute unit" lerin sayıdır. (hd7970 te 32 adet).




  • 
Sayfa: önceki 12
Sayfaya Git
Git
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.