Şimdi Ara

AMD Mantle Hakkında Her Şey (3. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1.339
Cevap
19
Favori
63.604
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
5 oy
Öne Çıkar
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • neoldu yalanmı oldu bu mantle kart alacağım bu mantle olayını bekliyorum
  • Mantle sunumu salı günü olacakmış bugün boş yere haber beklemeyin :)

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Father Torque

    Mantle sunumu salı günü olacakmış bugün boş yere haber beklemeyin :)

    sali mi carsamba mi ben ayin 13'unde diye biliyorum.bu dedigimi gavur bir forumda daha dedim gecen seferki gibi canli video veya her haltin ince datayi gibi seyler olmaz bunda birincisi 695 dolarcik katilmak ikincisi devoloper konferansi artik turkceye nasil cevrilir yazilim gelistiricileri icin mi diyelim?lakin twitter araciligi ile yeni partner gibi duyurulari yaparlar ve mantle demoda kaveri islemci kullanilacagi icin sadece mantle ne kadar farkedecek onu da anlayamayacaz detayli anlatsalar bile.
  • Açıklamaya göre Mantle Dx i tarihe gömebilir, fakat bu Api hangi işletim sistemi üzerinde çalışacak ? Ms böyle bir şeye izin verir mi?
    Ya da belki Ms ile ortaklık olarak lanse edilecek. Yani Ms sakalını almadan böyle bir şeye göz yumar mı?
    Üstad bu konu da bizi bilgilendirebilir misiniz acaba ?
  • Aslında bugün başlıyor ve çarşamba günü sona erecek. AMD'nin sunum listesinde Mantle için salı sabah 10:00 - 10:45 arası görünüyor (oranın saat sistemine göre). Yarın öğleden sonra haberleri dşmeye başlar.
    http://developer.amd.com/apu/home/agenda-sessions/
  • Gelsin mantle , aksın AMD Gamer ,

    Hadi selametle..
  • quote:

    Orijinalden alıntı: poyraz_371

    Açıklamaya göre Mantle Dx i tarihe gömebilir, fakat bu Api hangi işletim sistemi üzerinde çalışacak ? Ms böyle bir şeye izin verir mi?
    Ya da belki Ms ile ortaklık olarak lanse edilecek. Yani Ms sakalını almadan böyle bir şeye göz yumar mı?
    Üstad bu konu da bizi bilgilendirebilir misiniz acaba ?

    sirketler arasinda gizli anlasmalar vardir.amd ile ms arasinda 3.5 milyar dolarlik anlasma imzalandi ne uzerine belli degil.ms dx satmiyor ki windows satiyor ve mantle olayi dx11.2 ile daha iyi calisan bir seyse cunku konsollarda dx11.2 olacak bu da demektir ki gelsin win8.1 satislari.ms'nin kizabilecegi olay steamos'ta mantle ile linux altinda oyun olayi olursa belki ona kizar ki o olay da daha belli degil.amd dx'in alternatifini yapmadik diyip duruyor sevisiyorlar yani ms ile sorun olmaz.



    haber sitelerinden haber cikacagini sanmiyorum press ya da site sorumlulari yok bu sefer.cok az bilgi sizar o da twitter vs uzerinden olur.bunu takip edin demisler ama baska bildiginiz buldugunuz adres varsa bakalim.

    https://twitter.com/AMDHSA




  • kişisel tahminim mantle işleminin sadece r9 290 gpularının yanı sıra fx işlemcilerin 8 threadini verimli kullanmaya yarayacak. yani pure amd sistem istiyecek.
  • quote:

    Orijinalden alıntı: Zero Limit

    kişisel tahminim mantle işleminin sadece r9 290 gpularının yanı sıra fx işlemcilerin 8 threadini verimli kullanmaya yarayacak. yani pure amd sistem istiyecek.

    mantle islemci kullanan bir sey degil aksine islemci kullanimi dusuren bir olay yani intel olsa da ise yarar arti ilk mesajda linki var butun 7000 serisinde de olacak diye.290'in mimari farki yok ki o da gcn.
  • Hocam o hesap "Heterogeneous Systems Architecture" departmanına ait. Ancak AMD Developer Summit'e özel bir internet sitesi hazırlanmış, canlı yayın, indirilebilir dökümanlar, vb kaynaklar da var:

    https://vts.inxpo.com/scripts/Server.nxp?LASCmd=AI:4;F:QS!10100&ShowKey=16356

    Ücretsiz kayıt ile siteye girilebiliyor.

    Ekleme: Çarşamba için ayrıca 3:15 - 3:45 arası (yurtdışı saatiyle) "Rendering Battlefield 4 with Mantle" adlı bir sunum görünüyor.



    < Bu mesaj bu kişi tarafından değiştirildi Father Torque -- 11 Kasım 2013; 12:34:57 >
  • quote:

    Orijinalden alıntı: Father Torque

    Hocam o hesap "Heterogeneous Systems Architecture" departmanına ait. Ancak AMD Developer Summit'e özel bir internet sitesi hazırlanmış, canlı yayın, indirilebilir dökümanlar, vb kaynaklar da var:

    https://vts.inxpo.com/scripts/Server.nxp?LASCmd=AI:4;F:QS!10100&ShowKey=16356

    Ücretsiz kayıt ile siteye girilebiliyor.

    Ekleme: Yarın için ayrıca 3:15 - 3:45 arası (yurtdışı saatiyle) "Rendering Battlefield 4 with Mantle" adlı bir sunum görünüyor.

    evet uye olunabiliyor o linkten.sirket ismi yerine donanimhaber.com yazdim. simdilik bisi yok girdimiz sitede ama canli yayin diyorlar yabanci bir forumda eger oyle bir sey olursa iyi olur ve dedigin olay sanirim bahsettikleri.




  • Evet, sitede canlı yayınlar da mevcut ve sol taraftaki listede canlı yayınlacak konular gösteriliyor. Örneğin ilk yayınlanacak olan "Developers: The Heart of AMD Innovation" konusu oranın saatiyle 6'da başlayacakmış, geri sayım saatine göre başlamasına daha 13 saat var :(
  • Noldu beyler yarınamı kaldı mantle olayı.
  • Multithread render olayı şu anda hangi benchmarklarda kullanılıyor? AMD kartlar için yani.
  • quote:

    Orijinalden alıntı: Rubisco

    Amaç PC'de GCN mimarisi kullanan kartlarda, düşük seviyeli (low-level) denilen bi API / oluşturmak. API dediğiniz şey DirectX, OpenGL gibi şeyler. Bunlar ne yapar? Yüksek seviyeli geliştirme ortamlarında, yüksek seviyeli kod yazıp (C++ gibi) GPU üstünden bişeyler yapmamızı sağlar. Yazdığımız programda yaptırmak istediğimiz şeyleri için yani GPU'yu kullanmak için iletişim kurmak için bu API denen şeylere ihtiyacımız var.

    Temelde 5 ana grup için sistemin (CPU/işletim sistemi) GPU ile iletişim kurması gerekir. Belli yapılacak işlemler için durum değişimleri (state change), yollanacak geometri detayı ve bununla ilgili işlemler için vs. için vertex ile ilgili işlemler ,geometri/texture/pixeller üstünde işlem yapmak için shader değişimleri, bu shaderların işlemesi gereken verilerde oluşan değişmden dolayı shader sabitlerinin değişmesi (shader constant), işlenilen render edilen parçalar için render target denilen parçalardaki değişimler.

    Bu işlemler yapılırken, "1 kere GPU'ya komut, geometri datası, bide texture'ları yolladım, baştan aşağı uğraşsın çizsin" diye bi durum malesef yok. Değişik aşamalarda GPU'nun geri bildirimde bulunması gerekiyor. "Ben şu işi bitirdim" demesi gerekiyor. Oyunda kafayı sağa sola çevirip durduktan sonra, GPU'nun "tamam render ettim" diyip CPU'nun da "hoop tamam daha fazla o tarafı işleme" demesi gerekiyor. Yani kafayı hareket ettirmeyi bıraktıktan sonra ekranda texturelar flan bi tarafa doğru kaymasın gibisinden mesela (hiç iyi örnek olmadı ama aklıma başka bişey hiç gelmedi kurusa bakmayın).

    Tamamen CPU ile ilgili işlemlerden bağımsız bi render sistemi olamaz mı peki? Olur ama dış dünya ile iletişim kuramaz bu sefer. Oyunda değişen herşey mutlaka CPU sayesinde olur çünkü. GPU'nun klavye/mouse/pad/stick'i kontrol etmesinin bi yolunu bulun, network üstünden iletişimine de çare bulun, bi yandan oyundaki patlama ile ilgili sesi de kontrol etsin bnları da çabucak yapsın vs. vs. bi ton şey var. Bunları GPU'ya yaptırabilmenin yolunu bulun, yani oyunu sadece GPU'da oynatabilmenin yolunu bulun o zman hiç CPU'ya ihtiyacı olmayan bi sistem yapabilirsiniz belki. Tabi bunu yaparken de işletim sisteminin yaptığı işleri de yapması gerekecek. Yani GPU işletim sistemini vs. de çalıştırabilir olmalı, CPU'dan bağımsız hale getirmek istiyorsanız. GPU bu kadar değişik birbiri ile alakasız işi yapamaz. O yüzden şimdiki gibi CPU 'nun çalıştırdığı işletim sistemine ve CPU---GPU diye bi ayrıma ihtiyacımız var.

    Yani bugün mutlaka CPU ve GPU'nun birbiri ile iletişim kurup, şu işi yap ben bu işi tamamladım gibisinden bi tür iletişim kurmasına ihtiyaç var.

    Şimdi sorun orda başlıo hemde büyük bi şekilde. PC'de Dx, güncellemesi düzeltilmesi faln olsa da yıllardan beri üst üste eklenen parçalardan oluşuyor. Bi sürü de donanım olduğu için, belli bi tür donanıma özel ayrıcalık göstermiyor. Bütün CPU-GPU iletişiminde, komut yollanmasında, geri besleme alımında, durum değişikliklerinde, bişeylerin değerlerinin değiştirilmesi gerektiğinde, faln yapılan bi sürü işlem var.

    Şimdi bu işlemler yapılırken saldım çayıra mevlam kayıra diye de olmuyor. Bunların işletim sistemiyle iletişim kurulması gereken, alt seviyede driver ile iletişim kurulması gereken kısımları lazım. İşletim sistemi çekirdeği ile (kernel moduna geçilip) yapılması gereken işlemler flan var.

    Bunların hepsi işlemciye yük getirdiği gibi, GPU'nun bazı işleri daha az yapabilmesine yol açıyor. Bunlar Dx'in PC'de Win altındaki sorunları. Bunları ifade etmek için "ağır yazılım yükü" diye bi tabir kullanıyoruz, yada nasıl bakılacaksa artık.

    Windows Dx, ağır yazılım yükü yüzünden, yapılacak işlemlerin implemente ediliş şekilleri faln açısından hantal yapısı var genelde.

    Low-level API olayı burada devreye giriyor. Bunu konsollarda gördük daha önce. Donanım ile işletim sistemi---CPU---GPU arasında bi sürü katmandan oluşmayan, yapılacak işlemler için donanım ile hızlıca iletişim kurulduğu bi yapı var.

    Mantle'ın ne olduğunu tam olarak bilmiyoruz. Amaç bu tarz bi Low-Level API geliştirmek onu biliyoruz ama. Dx'in ağır yükü olmadan GPU ile iletişimde bazı şeyleri hızlandırabilirsek CPU daha az yorulup GPU'yu daha fazla besleyebilir. CPU---GPU arasındaki her türlü iletişim için ilave yüke girilmeyebilir, yollanacak verilerin hazırlarnması textureların yüklenmesi geometri datasının iletimi, shaderlardaki değişim vs. her tür iş için daha az yük gereken bi yollar kurulabilir.

    Sonuç olarak bilmediğimiz şey Mantle'ın nasıl geliştirildiği + GCN üstünde çalıştırılması için ne yapıldığı. Neler yapıldığını ve nasıl geliştriildiğini bilmediğimz için ucunun ne noktalara kadar varabileceğini bilmiyoruz. O yüzden yabancı forumlarda faln çok uçuk yerlere kadar varsayımlarda bulunanlar var/vardı (3 konsolun da Mantel'ın altyapısına benzer bi altyapıyla ortak olduğuna getirenler faln bile. Ama mantıkları saçma değil. İyice karmaşıklaştıracak ama, AMD'nin AMD_IL diye bi tür ara-ortam dili/alt seviyeli sanal makina kodu gibi bi olayı var. Intermediate Representataion / Language'ın Türkçe karşılığı ne bilmiyorum ara-ortam dili, ara-ortam tanımlaması gibi karşılığı vardır belki. Bilen varsa Java bytecode gibi düşünebilirsiniz donanıma daha yakın hali ama. O varsayımda bulunanlar için hepten saçma değil yani konsollar ile altta Mantle'a benzer altyapı var dedikleri zaman. ama yanlış düşündükleri yerleri de var ).

    Mantle'ın yapacağı, detay ve şeklini bilmesek bile CPU-GPU iletişimini hızlandırmak, GPU üstünde yapılacak işlemler için , transferler için, geri-beslemeler için bi altyapı kurmak, kurallar dizisi hazırlamak. Dx'in ağır yazılım yükünden uzak ,donanım ile daha hızlı gerçekleşen kurallar dizisi faln hazırlamak. Detayı ve neyi nasıl yaptığı hakkında fikir olmadığı için herşey muğlak şimdilik.

    Pratik örnek, ne yapar diye. 6970 üstünde bildiğim değer olsun, bi frame'i render etmeden önce bufferların silinmesi / resetlenmesi gerekir mesela. "Bufferları resetle" diye bi komut yollamak ne kadar zaman alabilir ki dimi ? 6970 üstünde bu 1.5ms civarında bi zaman istiyor bu komutun işletilmesi. Bunu salt 6970'in veya AMD'nin beceriksizliği diye yorumlayacak olan otursun kendisi profiler araçlarıyla çok sevdiği herhangi bi kart üstünde deneyler yapsın önce. GPU üstünde daha hiçbişey yapmadan daha, boş bi ekran gibi düşünün bunu. Ekranı temizlemek için bi komut yolluyorz ve bize maliyeti 1.5ms oluyor. 1.5ms az gibi gelebilir. 60 fps hedefiniz varsa eğer, frame başına 16.6 ms zaman kalıyor. O zman 1.5 / 16.6 = hedef zamanımızın %9'u eder. Yani bi nevi ekranı silmek için, 60 fps hedefi için gereken zamanımızın %9 %10'a yakın bi kısmını harcamış oluyoruz. Sizce bu mantıklı mı?

    Nelerin nasıl implemente edildiğini bilmediğimiz için dediğim gibi neler olabilir ve nerelere kadar uzatılabilir tahmin etmek çok zor. Çünkü varsayımınızı biraz geniş tutarsanız, PC'de hızlı bi işlemci ve 7970 üstü GCN kart ile mesela PS4 / Xbox'ın yapabileceklerinden çok daha yukarılara kadar neler yaparım neler diye uzatabilirsiniz. Eğer varsayımı dar tutarsanız, Dx 'e göre en iyi durumda %20 ortalamadan %10 belki olur bile dersiniz. Neyi nereye kadar esnetebildiğini bilmiyoruz o yüzden sadece beklemek lazım.

    En başta, "Hiçbi cacık olmaz" dememek lazım. diğer taraftan da AMD GCN kartların (7xxx sonrası), bütün ekran kartları içindeki payının çok az olduğunu düşünüp bu kadar az sayıdaki kart sahibi için niye o kadar uğraşsınlar diyip, çok az oyun ile kısıtlı mı kalacak diye bi endişeyi de taşımaktan vazgeçmeyin.

    Biraz performans artışı, biraz görsel iyileştirme şimdilik en emin yol. Yoksa ucunu uzatabileceğiniz çok yer var.

    AMD CPU'ları en çok zorlyan işlerden biri Single-thread ile ilgili işler. Aynı sorun kısmen AMD ekran kartlarında da var, çünkü bunlar Dx 11'deki CPU>>> GPU'ya komut aktarımını driverda single-thread olarak yapıyor. Dx zaten ağır bi yük. AMD CPU single-thread benzeri bi mantık ile hem Dx'in yükü ile uğraşmak zorunda, hemde oyun ile uğraşmak zorunda.

    Mantle üstünden paralel komut yollama gibi şeyler olur ise(en başta olması gereken şeylerden biri, konsollardki gibi), oyunun kendisi yani iç simülasyonu çok iyi multi-thread desteği olmasa bile, GPU'ya paralel komut yollayabilir. Aynı zmanda Mantle Low-level bi API olup CPU'dan yükü azaltacağı için, AMD CPU + AMD GCN GPU'da single-thread / Dx yüküü azalacağı için, daha yüksek bi artış getirebilir. Atıyorum bi fx6300 + 7970, i5 + 7970'e göre daha fazla faydalanabilir. Veya bi 7870 belki 680 seviyesinde performans gösterebilir iyi durumlarda.

    Gerisi buna benzer şeyler ile türetebilirsiniz. NEyi nasıl yaptıkları ve GCN üstünde nelere izin verdikleri en önemli olan 2 soru. Eğer bi sürü şeyi kolaylaştırmışlar ise, esneklik fazla ise, direk donanıma erişme imkanı faln da veriyorlarsa ve resmi GCN Assembler desteği veriyorlarsa tek engel oyun geliştricilerinin bunu da kullanması kalıyor. O noktadan sonra kirli işlere el atanlar çok olur mu, neyi engellerler bilemem. Yada ne kadarlık bi geliştrici kitlesi ne tür oyunlar için Dx yanında Mantle'da kullanır bilmemem. Cryengine'i de yanlarına alabilirler ise, daha çok oyuna ulaşma imkanları olabilir. Ego Engine mesela çok farklı oyunlarda yok ama direk olarak buna uyarlanırsa baya bi getirisinin olabileceği motorlardan (Global Illumination ve ilave ışıklandırmayı compute shader üstünden yaptıkları için). Epic / Unreal Engine 'in %90 bulaşmayacağına inanıyorum mesela(isterseniz önyargı diyin). Kimse Nvidia'nın arka bahçelerinden birini bu işe girmesini istemez bana göre. Gerisi imkanlara ve nasıl geliştrildiğine bağlı hep.

    Nvidia da bu olaya girmek isterse "orda dur" demiyeceğiz diye açıklama yapmışlardı, sonrası ne olur ama bilemem.

    Ms'nin, ilerisi için bunu bi tür deney tahtası / bi tür out-source olayının ilk adımları olarak gördüğünden bahsedenler de var.

    Aklı başında olarak bakanların umduğu kadar şeyler getirebilirse PC'de baya baya gideri olan bi trend'e dönüştürebilir bi sürü şeyi. Olmazsa da çok yazık olur.

    drawcall vs. FPS değişimi için bu videoya bakın :
    DP yazan yer yapılan drawcall sayısı, FPS de belli zaten. Drawcall artışı ile FPS'nin nasıl çakıldığını gösteriyor.

    http://www.youtube.com/watch?feature=player_embedded&v=GrSpm2AZWVU




    Alakasız not: bi sürü yerde yazıp silmişliğim var orası teknik burası karmaşık denmesin diye. daha farklı nasıl yazabilirm bilmiyorum.








    adam king abi. hocam cok tesekkurler degerli bilgiler icin arti siz yazilim muhendisimisiniz acaba?

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • F@ruk F kullanıcısına yanıt
    İlki çok kötüydü bizzat tomb raider da görmüş olduk.Bakalım 2.cisi nasıl olacak.Amd cidden iyi işler yapıyor 2014 yılında bu projeleri lafta kalmazsa çok iyi bir yükseliş yapabilir.
  • tressfx 2 daha az acitacak sistemleri ve sadece sac degil cam kurk demisler yavas yavas bu dalga amd'nin physx'i olacak gibi duruyor ve nvidia physx'in aksine amd bunu open source seklinde yapiyor yani isteyen kullanabilir ve nvidia'da calismaz diye bir sey yok.nvidia'dan da beklerdik boyle acik platform.milyar dolar mi saydin aegia'ya cikaramadin mi hala parasini?degil iste adamlarin derdi markaya deger katmak nvidia'da bu arti ozellik var demek.
  • quote:

    Orijinalden alıntı: Tugrul_512bit

    Multithread render olayı şu anda hangi benchmarklarda kullanılıyor? AMD kartlar için yani.

    AMD'de multi-threaded render olayı yok, kullanılamıyor gibi bişey. Multi-list, multi queue-command list, multi-threaded render vs. gibi isimlerle karşına çıkabilir. En son 12.11'de sanırım kısmi olarak eklendi faln gibi bişey okumuştum, Farcry3'de işe yaramadı ama. Oysa Nvidia'da Farcry3'de configden D3D11MultithreadedRendering 1 yapınca 15 fps artış alan bile var. AMD'nin başı bu multi-threaded render ile belada kısaca ve hem Dx'de olan haliyle hemde Nvidia'nın kendi driver altyapısında kullandığı şekilde bi türlü olmuyor. Bu, 6xxx kartlarda Civ5'de Nvidia'nın karşısında hepten kötü sonuç almasına bile yol açıyordu mesela. Multi-threaded Render kullanan çok fazla oyun vs. de yok bu arada. Olabildiğince çok instancin / batchiing vs. yapmaya çalışıyorlar, drawcall reduction için optmize edici şeyler kullanıyorlar geliştriciler. Eninde sonunda dönüp dolaşıp çok fazla fark yaratamayan bişeyler çıkıyo.

    Bu işe kötümser taraftan bakınca böyle. İyimser tarafından bakarsan, AMD multi-threaded rendering desteği olmamasına rağmen Nvidia'dan geri kalır yanı yok. Yani driver altyapısında nasıl bi iyileştirme ve GPU'ya yollanacak komut dizileri için düzenleme varsa artık, Multi-threaded Rendering'in eksikliğini hissettirmiyor, özellikle son zamanlarda daha da düzelen driver altyapısı ile. Burdan bakınca, Nvidia'nın Multi-threaded Render avantajına rağmen AMD Nvidia ile başedebiliyor gibi bakabiliriz.

    Burdan da farklı 2 olasılık açığa çıkar, ya multi-threaded render olayı, getirisi götürüsü çok çok fazla olan bişey değil salt performans anlamında ve oyunlara indirgediğimiz de. Ya da AMD, driver altyapısında Multi-threaded render olmadan yeteri kadar yüksek performans artışı elde ediyor. Aradan belki 1.5 sene zman geçmesi gerekti anca adam ettiler ama MTR olmadan Nvidia ile Nvidia'nın güçlü oldğu alanda rekabet edebilir konumdalar.

    Farcry3, Civilization 5 faln dışında kafadan söyleyebileceğim oyun yok multi-threaded render üstüne destek veren çalışan.


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

    Kafası karışanlara Alakasız ek not: Multi-threaded Render'ın önce CPU ile veya çok çekirdeğe iyi destek verilmesi ile yada CPU ile alakalı olarak kullanılan Multi-threading vs. ile alakası yok. GPU'ya komut yollanırken Dx11 öncesinde tek bi kanalda iletim gerçekleşiyordu. Yani CPU>>> GPU emir iletim şekli single-thread olarak yapılıyordu. Dx11 ile "multi-threaded render" denilen bişey geliştirildi. Bunun amacı, konsoldakine benzer şekilde birden çok çekirdeğin GPU'ya komut yollarken paralel davranmasını sağlmakdı. Yani 4 çekirdek mi var işlemcide, CPU:4 çekirdek >> GPU'ya 4 paralel komut yollasın,, CPU:6 çekirdek >>> GPU'ya 6 paralel komut yollasın gibi bi amaç vardı. Konsollarda bu olay çok uzun zmandan beri yapılabiliyor. PS3 de Xbox360'da GPU'ya aynı anda 3-5-6 kanaldan komut yollayabiliyor.

    Şunun gibi bi durum ortaya çıkıyor :


    CPU, belli işler yaptırmak için herşeyi, iletişim kurması gecikmesi maliyetli 1 tek yoldan GPU'ya ulaşmak yerine paralel olarak yapıyor bu işi.

    Bunun PC'deki derdi, malesef getirisinin çok çok feci olamadığını gördük oyunlarda. AMD'nin 6xxx ve öncesi kartlarını saymazsak, GCN karlar ile driverda yaptığı düzeltmeler ile Nvidia'nın kendisine üstünlük kurmasını engellemiş gibi bişey oldu bu konuda.

    quote:

    Orijinalden alıntı: poyraz_371

    Açıklamaya göre Mantle Dx i tarihe gömebilir, fakat bu Api hangi işletim sistemi üzerinde çalışacak ? Ms böyle bir şeye izin verir mi?
    Ya da belki Ms ile ortaklık olarak lanse edilecek. Yani Ms sakalını almadan böyle bir şeye göz yumar mı?
    Üstad bu konu da bizi bilgilendirebilir misiniz acaba ?


    .45acp'nin dediği gibi gizli kapaklı anlaşma olabilir. Anand spekülasyon için Xbox'daki light Dx'in PC versiyonu olacak demişti ilk günden(bu XBox1'daki API'nin resmi adı "Directx 11x" miş olduğu gibi ).

    Microsoft Dx 'i geliştirme açısından bazı yerlerde duvara toslamış durumda orası da bilinen bişey. Spekülasyon yapıyorsak madem, Ms'nin Mantle tarzı şeyler ile geliştirme işini bi anlamda outsource ettiği gibi şeyler de söyleyebilriz. Ms'nin, Mantle her ne kadar çok kısıtlı bi hedef kitlesi olsa da, bi nevi kendi altyapısına kendisine kazık atacak bişeye izin vermeyeceğini tahmin edebiliyoruz zaten. Bütün dahili ve harici kart/GPU kullananlar içerisinde AMD GCN mimarili kartların oranı çok fazla değil. Bu açıdan bakınca ne Dx için ne Intel için ne de Nvidia için direk bi tehdit değil.

    APU'ya özel 1 kelime edecem, Kaveri'ye getirisi çok çok fazla olabilir özellikle oyun Kaver'inin yapısına uygun kodlanabilirse (HSA ile alakalı olan özelliklerinden dolaayı, üstüne Mantle da gelince ve özel olarak kodlanabilirse DDR3 ram problem olsa da 7750 gddr5'e bile nanik diyebilir. Üstüne cila olsun diye konsola özel bazı oyunlar PC'de Kaveri exclusive diye getirebilseler PR'ın reklamın kralını yapmış olurlar. Kodlama altyapısı diğer işlemcilere uymayacağı için crack hack ile halledilemez de, sade Kaveri'de çalışır. Nvidia olsaydı kesin böyle bişeyler yapardı çünkü ).

    Bunun dışında steam surveyden fikir edinilebilir dediğim gibi GCN kartların toplam ekran kartları içindeki payı düşük. Bu yüzden Dx'de direk rakip değil, çünkü donanımdan bağımsız değil. Aynı zmanda Ms ile de mutlaka alakaları ilişkileri vardır, belki Ms bazı şeyleri deniyordur vs. Kısıtlı bi kitleye hitap edeceği için de ayrıca Ms'nin direk dışarı yansıyan bi tepkisi yoktur bana göre. Sadece Windows üstünde çalışacağı için, Ms'ye koyan bi yanı da olmayacak ayrıca. Hatta sallıyorum Bf4 Win8 'deki 3-5 ilave getirisi gibi Win8'de daha da bi ilave getirisinin olma durumu da varsa ayrıca Ms'ye katkı yapabilir.

    Kısaca ben Ms ile mutlaka içli dışlı bi alakaları olduğuna inanıyorum (geliştirme anlamında olmasa bile belli tür teminat, teknoloji aktarımı vs. gibi şeylerle ilgili).

    Burda önemli olan 2 tane önemli büyük soru var: Mantle nasıl geliştirildi + GCN üstüne nasıl implemente edildi. Birbiri ile tamamen farklı sorular bunlar. GCN üstünde implemente edilme şekliyle ilgili tonlarca şey speküle edebilriz ve herbirinin mantıklı işe yarar ve ayrı ayrı getirisinin şeyler olabileceğini söyleyebiliriz. O yüzden beklenti "çok az"'dan "çok fazla"'ya kadar uzanabiliyor. Yapılabilecekler, geliştirilme implemente edilme şekillerine göre çok fazla olasılık getiriyor çünkü. Çünkü Dx üstünde, aynı işi şöyle yapsaydık böyle yapsaydık denilebilecek çok nokta var. Her birinin getirisinin fazla olabileceği, ucunu uzattıkça uzatabileceğimiz çok yer var. Böyle beyin jimnastiği yaptıkça çok çok ilginç noktalara kadar getirilebiliyor çünkü, bi yerden sonra da durup kendimize gelip "yok ya o kadar da fazla şey yapmamışlardır" diyeceğimiz kadar çok fazla olasılık var çünkü. Hem GCN'nin getirdiği esneklik yüzünden uzattıkça uzatabiliyoruz bu jimnastiği, diğer taraftan bunun üstünde çalışan ekip çok çok geniş değil o kadar uzatmamışlardır diyebiliyoruz. Hep kapalı şeyler yazdığımın farkındayım ama öyle yani.

    Ms'nin dahil olma nedenlerinden birisi de, Xbox1'dan PC'ye aktarılmak istenilebilecek bazı şeyler için PC'de direk karşılığının olamaması da olabilir. Bunun için referans olabilecek alt seviyede en azından library bazında bişeylerin olmasını istemiş olabilir. Burda Xb1'da da Mantle var yada ortaklar demiyorum. Normalde PC ve Xb1 için ortak bi üst seviyede geliştirme ortamı var. Ama alt seviyede bunların implemente edilme şekilleri vs. farklı. Burda low-level abstraction katmanları devreye giriyor, yüksek seviyede geliştrilen yapılan alt seviyede nasıl implemente edildiği farklılık yaratıyor.

    Buna ilave olarak, konsolda low-level optimizasyonlar yapıldığı zaman bunların PC'de Dx üstünden karşılıkları olmayacak. İster PS4 de ister Xb1 'de, yeteri kadar low-level çalışıldığında, GPU'ya özel komutlar işin içine dahil edildiğinde bunların Dx üstünde karşılıkları yok. Bu durum, eski konsollardan daha farklı bi konumda. Konsolda olup yapılabilecek şeylerin Pc'de tam karşılığının olamadığı durumlar direk yoktu. Konsoldan PC'ye dünya kadar iyi çalışmayan PC'ye iyi uydurulamayan oyun geldi ama şimdiki durum çok daha vahim. bu anlatmaya çalıştığım low-level geliştirmeyi PC'ye uydurmaya kalktığımızda Dx üstünden bi nevi emülasyon yapıyor gibi olacaz. Bu da çok can sıkıcı bi durum.

    Mantle'ın library'leri burada devreye giriyor olabilir. Ms'ye, konsolda yaptıkları bazı low-level işleri PC'ye nasıl aktarabileceklerine yönelik "guideline"'dan tut belli tarz library'e kadar imkan tanıyor olabilir. Böylece Ms, Xb1 ve PC'de ortak oyunlar için daha iyi bi low-level'a yakın ortak bi "sanal arayüz / sanal makina" katmanına sahip olmuş olur. Direk alakası yok ama nasıl HSA'da HSAiL diye bi "sanal makina, sanal komut seti kümesi" olayı var, yüksek seviyede yazdığın kod dönüp dolaşıp bu HSAiL'e indirgenecek, sonra HSAiL'de o donanıma özel olarak çalıştırılacak benzer bi yaklaşım MS--AMD arasında olabilir( HSA için Ms kapıda bekliyormuş alakasız not). Yüksek seviyede PC--XB1 ortak olarak aynı geliştirme ortamında geliştirilecek, ama derlenirken bi tür "sanal komut seti çıktısı" üretecek. Bu da PC'de farklı Xb1'de farklı çalıştırılacak. AMD ile bu "sanal komut seti çıktısı" için ortak çalıştıklarından, Mantle'da bi tür yan ürün olabilir, ondan hiç aksilik etmiyor olabilirler. Yani altyapı olarak MS'nin de yararlandığı bişey olabilir.

    4 paragraf önce, Mantle'ın nasıl geliştirildiğini + GCN'e nasıl implemente edildiğini bilmiyoruz ve bunlar farklı sorular dedim ya. Bi önceki paragrafta MS--AMD'nin konsol--PC için ortak bi "sanal komut altyapısı" geliştirmiş olabileceğinden de bahsettim ya, bu nasıl geliştirilmiş olabileceği ile ilgili olan soru kısmını kapsıyor. Direk AMD donanımına bağımlı olmak zorunda olmayan kısmı bunlarla alakalı olabilir, MS'nin de işine gelen ve kullandığı kısımları bu ortak "sanal makina/komut olayı olabilir".

    GCN üstünde nasıl implemente edildiği, cevap vermesi daha zevkli, spekülasyona daha açık ama sorduğun soru ile alakasız o yüzden daha da fazla uzatmayacam. Bunun bi önceki durağı , AMD'nin AMD_IL diye bi tür ortak(farklı GPU'lar için), kısmen düşük seviyeli ara katman dili / ara katmanı var (IL : intermediate Language ara seviye dil gibi bişey. tam makina dili karşılığı da değil assembly karşılığı da değil, ama yüksek seviyeli bi C karşılığı da değil arada bi katman dil. Sadece driverın anlayacağı bi dil gibi düşünebiliriz bunu). Bununla assembly benzeri AMD kartlar için geliştirme yapabiliyorsun. Ama bu direk donanım komutları karşılığı değil, bi nevi driver komutları kaşılığı oluyor, NVAPI'ye benzetebilirz.

    AMD_IL'den bahsetmemdeki amaç, AMD_IL ile yapacağın kodlamada, Dx'de olan çeşitli kısıtlamalar olmuyor. Yine Dx'e benzer kodlama yapıyorsun yani baştan aşağı assembly benzeri bişey yok, ama Dx'de yapamadığın şeyleri yapabiliyorsun yada direk driver üstünden kodlama yapmış gibi oluyorsun (hepten batıracam ama Dx'de mesela komut modifiye ediciler / instruction modifier denenen zımbırtılar var. Bunları Texture adresi ile ilgili işlemlerde kullanamıyorsun. AMD_IL her ne kadar driver ile Dx'e %100 uyumlu olsa bile bu tarz kısıtlamalara maruz kalmıyor. Oyun yapımcısı, kodun belli kısmında böyle bi özelliğe ihtiyacı olduğunu düşünüyorsa AMD'ye özel bu AMD_IL üstünden ilave kodlama yapıyor. Böylece AMD kartlar üstünde o yapmak istediği şeyi kullanabilmiş oluyor. AMD'ye Nvidia'ya özel optimizasyon denen zımbırtılarda böyle şeyler hep var artık herkes 2 firma için de bu tarz şeyler yapıyorlar ). Direk bi donanımı da hedeflememiş oluyorsun. Driverı hedeflediğin için daha geniş donanımda çalışma imkanı oluyor.

    Yine "Mantle nasıl geliştirildi?" ve PC-DX ve XB1--DX arasındaki ilişki için AMD_IL' ile ilgili bişeyler olabilir.

    GCN üstünde nasıl implemente edildi kısmına küçük ilave yapmak isteyip yine uzattım farkındayım. GCN üstünde implemente edilme şekli dediğimiz zman artık tamamen donanıma mimariye özel bi noktaya geliyoruz. Burda hedefimiz tek bi mimari olduğundan, donanıma istediğimiz kadar yakın çalışabileceğimizden, esnekliğimiz çok çok fazla. Bu noktadan sonra söyleyebileceğimiz herşey tamamen spekülatif çünkü çok çok fazla olasılık var. Hani ilgi alakası olan varsa, PC'de mesela SSE2 3 4 AVX vs. kullanmak için libraryler var. Acaba ben bu işi nasıl yaparım demek yerine 5-10 satırdan oluşan SSE/AVX komutlarından oluşmuş libraryler var. sen bu library'i alıyorsun, yazdığın programın içinden çağırıyorsun. Sonuçta programında 1 satır kod yazıyorsun, karşılığında 5-10 satırlık SSE kodunu yazmaktan kurtulmş oluyorsun. Program da SSE/AVX destekli özel olarak geliştirildiğinden getirisi çok oluyor. Aynısını GCN mimarisi üstünde yapmış olabilirler. Texture çağırmak için şu tarz bi komut kullan, şunu yapmak için bunu kullan vs. vs. çok fazla olasılık var. İnce ve direk erişilebilir bi arabirim olacağından getirisi de çok olabilir. Yukarılarda dediğim gibi işi bu noktaya getirince, esnekliğimiz çok fazla olduğundan sarıyor baya ve düşündükçe şunu da yapabilirler bunu da yapabilirler, şurdan şu kadar hızlanma elde edilir vs. noktasına getiriyoruz. Sonunda da nerdeyse bilmem kaç kat daha iyisi olabilirmiş diyoruz, ama en sonunda da oha yaf amma uçuk diyoruz. O yüzden muhafazakar / biraz tutucu tahminde bulunmak daha temkinli olarak bakmak lazm diyoruz nolr nolmaz diye. GCN üstünde implemente edilme kısmı tekrarlarsam çok esnek olduğundan fikir jimnastiği açısından eğlenceli ama ne kadarını yapabileceklerini bilmediğimz için de beklentimizi yukarı çektiği için tehlikeli. Edit ekleme : GCN donanım komutları ile yapabileceğin geliştirebileceğin şeyleri Dx'i geç (oyunlardaki GPGPU altyapısı olan DirectCompute dahil), OpenCL ile bile yapamayacağın şeyler var. OpenCL bildiğimiz gibi GPGPU için kullanılan bi zımbırtı. Ama GCN donanım komutları ile yapıp OpenCL ile bile yapamayacağın şeyler var. Bu da donanım komutları ve GCN üstünde çalışmanın getirdiği esneklikler ile alakalı. Tabi bunlar Mantle'da var demiyoruzm. Yukarda dedim fikir jimnastiği bizi buralara kadar getiriyor. GCN GPU'daki bazı birimleri esas amacı dışında kullanıp %3-5 ilave perf alabliyoruz mesela. Bunu OpenCL ile yapamayacağımız gibi, Dx ile yanına bile yaklaşamayız. Bunun gibi bi sürü yanı var. Üstüne üstlük, AMD'nin yıllardır izin vermediği bişey yapıp, direk donanıma erişme direk donanımı kodlamaya imkan vermesi yani ISA Assembler desteği vermesi gibi bi beklentimiz var. Daha önce sağda solda karaladığım gibi 3xxx kartlardan beri AMD bu resmi ISA Assembler desteği vermiyor. Mantle aynı zamanda resmi bi ISA Assembler desteği verebilirse veya geliştiricilere en azından geliştirme ortamında bunun için resmi bi destek verebilirse yüzünü güldürebileceği çok insan var. Hatta oyunla alakasız sırf GPGPU için bile Mantle üstünden çalışmak isteyebilecek insanlar var. Ama dediğim gibi, "GCN üstünde nasıl implemente edildi" sorusu çok uzatılabilen bişey, çok yere çekiştirebilriz, fikir jimnastiği yapalım derken gayet mantıklı da gelse işi çok farklı yerlere kadar götürebiliyoruz. O yüzden umutla beklerken temkinli olmakta fayda var yine.

    Bu son paragrafın daha önce deidğim gibi senin sorduğun ile alakası yok, Ms ile alakalı kısmı değil. Ama önceki soru olan "nasıl geliştirildi" ve AMD_IL ile olabilecek olası bi temeli-bağlantısı , Ms ile ortak kullanılabilecek libraryler faln Ms ile alakalı olabilen kısımları.

    Bi de son olarak PS4'den >>> PC >> Mantle'a karşı kesin olarak bi engelleme vs. bişey varmı bi yaptırım var mı bilmiyoruz. Eğer varsa, %100 AMD-MS arasında şüpheye yer bırakmayacak organik bağ var ve sonraki Dx'i beraber geliştiriorlar tarzında bişeyler diyebilriz.

    PS4 için özel bi yaptırım yok ise, AMD--MS arasında, ortak "sanal makina / sanal komut kümesi" için bi bağlantı olabilir diyebiliriz Xb1--PC için ortak üst seviyeli geliştirme ortamı ve farklı mimarilere özel alt seviyeli çıktı elde edebilmek için.


    @Zero Limit R9 ile ve AMD işlemcilerle direk hiçbi alakası yok. Mantle bütün GCN mimarilerde çalışacak, ddr3 olan 7730'da bile. Eğer orta seviyeli kartlara yeterince iyi bi avantaj getirirse, ki Fiyat performans olarak konumlarını etkileme olasılığı var bu sayede, AMD'ye ivme kazandırmış olur.

    CPU ile ilgili kısmı olarak, mecbur değilsin ama en yukardaki diagramımsı şekle bakrsan, CPU---GPU iletişimi tek kanal üstünden yapıldığından, şimdiki Dx altyapısında CPU'nun single-thread performansı daha çok önem taşıyor. Mantle bu sayede AMD CPU'larına single-thread performansının daha düşük olmasından dolayı ilave bi katkıda da bulunabilir. Mantle'ın hem Dx'deki single-thread performansına bağlı CPU---GPU iletişimini daha farklı şekilde ele alıp daha az yük bindireceği için, hem de CPU---GPU arasında gerçek anlamda paralel ve hafif bi katman ile iletişim kurulmasını sağlayacağı için AMD CPU'larında ilave katkı sağlaması beklenebilir. Diğer taraftan, Mantle'ı kullanacak olan oyunlarında az çok eli yüzü düzgün oyunlar olması beklendiği için, şimdikine göre CPU performansı açısından ne kadar ilave katkısı çok değişken olabilir. BF3 4 de mesela AMD CPU'ları o kadar kötü durumda değiller. MP'de ortalık karışıp CPU yükü arttığı zaman, single-thread performansı oyun içi simülasyonun ağırlaşmasından olumsuz etkileniyor kabul. Single-Multi player testlerinin farkı orda zaten, Mantle bunun gibi durumlarda AMD CPU'lara ilave katkıda bulunabilir. Diğer taraftan bu birincil amaç değil. CPU--API--GPU iletişminin hafiflemesinden dolayı oluşan bi yan etki. Single-thread ve ağır bi katman ile GPU'ya erişim sağlamak yerine, multi-threaded ve hafif bi katman ile GPU'ya erişim sağlamak doğal olarak AMD CPU'larına yarayan bişey olur. Ama Intel CPU'larının da GPU'ya daha da fazla komut yollayabileceğini unutmamak lazım. Her ne kadar hafiflemş ara katman da olsa sonuçta iletişim hızını etkiliyebilir Intel CPU'ların yetenekleri. İş dönüp dolaşıp oyun içi simülasyonun ağırlaşmasına geldiğinde, uzun süre oynadığın multi oyunda artan hafıza yükü, artan yıkılmış dökülmüş yerler ile olan etkileşim vs. işin içine girdiğinde elbet Intel CPU'larda bundan bolca faydalanacaklar.



    < Bu mesaj bu kişi tarafından değiştirildi Rubisco -- 11 Kasım 2013; 19:35:29 >




  • Rubisco kullanıcısına yanıt
    üstat valla ağzına sağlık, herşeyi o kadar akıcı ve açıklayıcı yazdın ki, ciddi anlamda aslında nelerin hedeflendiğini az çok anlıyoruz.
  • 
Sayfa: önceki 12345
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.