6 Aralık 2016 Salı

5 Aralık 2016 Pazartesi

2 Aralık 2016 Cuma

24 Ekim 2016 Pazartesi

CUDA TEKNOLOJİSİ

CUDA ve ALTERNATİF TEKNOLOJİSİ 

        CUDA, Nvidia tarafından ortaya konulan, bilgisayarın işlem performansına yüksek oranda katkı yapan bir paralel programlama platformudur. C, C++, C#, Fortran, Java, Python gibi programlama dilleri ile yazılmış algoritmaların GPU yani “grafik işlem birimi” üzerinde çalışmasını sağlayan bir sistem olarak da tanımlanabilir.
Paralel programlama, birden fazla CPU’nun bir arada çalışmasını istediği için zorluk çıkartır. CPU’lar aslen seri işlemcilerdir ve birden fazla CPU’nun bir arada kullanılabilmesi için karmaşık yazılımlar gerekmektedir. CUDA ise bünyesinde zaten paralellik yarattığı için bu zorlukları ortadan kaldırıyor.
CUDA etkinleştirilmiş GPU ile görüntü ve video işlem, hesaplamaya dayalı biyoloji ve kimya, akışkan dinamiği, bilgisayarlı tomografi, sismik analiz, ışın izleme ve çok daha fazlası dahil olmak üzere geniş bir aralıkta kullanım alanları bulmaktadır. CUDA, sadece NVIDIA GPU’larda çalışması itibariyle rakiplerinden farklı olsa da 2012 yılı itibariyle dünya üzerinde 300 milyondan fazla CUDA destekli GPU olduğu bilinmektedir. Bugün bu sayı daha da üst seviyeye ulaşmıştır.

CUDA Nasıl İşler?

         Genellikle video işleme ve dönüştürme konusunda kullanılan CUDA’nın direkt olarak bu işe yönelmediğini en başından belirtmek gerek. Birbiri ile veri paylaşımı yapabilen paralel dizilime sahip çekirdekler, CPU’nun tek düzen şeklinde yapacağı işi yayarak gerçekleştirir. Farklı hatlara yüklenen işlemler yavaş gerçekleşir fakat tek yolda yapılabilecek süreden daha kısa sürede işlem sonuçlanır. 



20 Ekim 2016 Perşembe

V-SYNC


          V-SYNC (vertical synchronization) açılınca ekran kartının tazeleme hızıyla, monitörün tazeleme hızı denkleştirilir. V-SYNC kapalıyken görüntüde kırılmalar olur. Özellikle 3rd person ve 1st person kameralı oyunlarda mouse’u hızlı hareket ettirince çok rahat görülür bu kırılmayı. Ekranın ortasından titreyen bir çizgi olarak geçer.Kapatılınca FPS artar.

Ya da ekran kartı monitöre belirli bir zamanda monitörün gösterebileceğinden daha fazla kare gönderirse ekranda kırılmalar olur ve bu kırılmalar da hassas bir gözü çoğu zaman rahatsız eder. Görüntüdeki bu kırılmalara "tearing" denir.

İşte bu kırılmaları engellemek için V-Sync kullanılır ve oyunlarda saniyede gösterilecek kare sayısının monitörün tazeleme hızını geçmemesi sağlanır. Günümüzde 60 Hz`in altındaki tazeleme hızları kullanılmadığından en kötü durumda bile oyun performansı 60 FPS ile sınırlanır ki bu da oyunlar için çoğunlukla ideal hızdır. Ama özellikle multiplayer oyunlarda hız her şeyden önemlidir. Oyun ne kadar hızlı çalışırsa fare hareketleri de o kadar hassas olur ve bu yüzden saniyede gösterilecek fazladan 1-2 karenin bile hesabını yapan kimi multiplayer oyuncular V-Synci devre dışı bırakırlar.


MCH (Hafıza Kontrol Birimi)


          Yavaş olan RAM erişimlerini azaltmak için işlemci içerisinde yer alan daha hızlı fakat küçük boyutlardaki hafızanın işlemcisinin hafıza kontrol devresinden (MCH) istekte bulunduğu her kod bu belleğe yazılır. İşlemci aynı kodu RAM yerine daha hızlı olan bu bellekten alır.

Eğer bu bellekte olmayan bir kod isteği gelirse MCH uzun süre kullanılmayan kod yerine yenisini yerleştirir. Böylece cache belekte sık kullanılan kodlar kalarak, ortalama bellek erişimi MCH sayesinde hızlanmış olur.

Shader

SHADER’LERİN İSİMLERİ VE GÖREVLERİ

Programlanabilir gpularin ortaya çıkmasından sonra hayatımıza girmiş bir terim. (daha önce silikon graphics'e ait muadilleri vardı.)  Shaderlar, vertex'lere ya da pixellere hükmetmek üzere yazılan küçük program parçalarıdır.

Çok genel olarak, geometrik yapılar cpu'dan graphics pipeline denen bir yerlere gönderilir, burada öncelikle vertex shaderlar sayesinde vertexlerin (örneğin üçgenin üç kösesi üç vertextir) transformasyonları, texturekoordinatları gibi şeylerle oynanabilir. Ardından pixel shader gelir, bu da ekrana çizilen her bir noktanın özelliklerini değiştirme şansı verir bize. Doğası gereği pixel shader çok daha yoğun bir is yapmaktadır, bu yüzden per-pixel diye tabir edilen isler genelde iyi bir ekran kartı gerektirir.

Pixel Shader(Nokta tarayıcı)
            Her bir noktanın(pixelin) renk değerini hesaplarlar. Buraya girdiler, grafik iş hattına giden poligonları dolduran ızgara ünitesinden gelir. Nokta tarayıcılar genellikle ışıklandırma efektleri, pütür kaplama(bump mapping) veya ton ayarı için kullanılır.

Vertex Shader(Tepe tarayıcı)
Grafik işlemcisine verilen her tepe noktası için bir defa çalıştırılır. Bu işlem, tepe noktasının 3 boyutlu pozisyonun ekranda gözükecek 2 boyutlu koordinatına çevrilmesi için yapılır. Tepe tarayıcısı pozisyon, renk, doku koordinatları gibi özellikler üzerinde işlem yapabilirken yeni bir tepe noktası yaratamaz. Bu tarayıcının çıktısı bir diğer tarayıcıya aktarılır.

Geometry(Geometrik Tarayıcı)

Herhangi bir ağ üzerindeki tepe noktalarını silebilir veya yenilerini ekler. Geometrik tarayıcılar, var olan ağa hacimsel detay kazandırmak içinde kullanılabilir ki bunu CPU ya yaptırmak ekstra yük getirecektir.

Benchmark tanıtım

HIZ TESTİ(Benchmark)


Hız testi, gerçek hayattakine benzer işlemleri seri bir biçimde belirli bir donanım üzerinde yürütmektir. Örneğin işlemci testinde bir laptop'un işlemcisi, verileri ne kadar hızlı şifreleyebileceğini görmek üzere bir dizi matematiksel teste tabi tutulabilir. Sabit disk testlerinde büyük bir dosyanın ne kadar zamanda yazılıp okunabildiği, GPU testlerinde ekranda belirli sayıda nesne varken kaç FPS'ye ulaşıldığı test edilebilir.

Test sonuçları tek başlarına çok şey ifade etmeseler de, iki ürünün test sonuçlarını karşılaştırdığınızda hangisinin daha iyi performans sunduğu konusunda karar vermeye başlayabilirsiniz.

Benchmark yapmanın yararları:

Sisteminizi uzun süre kullandıktan sonra o ilk performans hissi ortadan kaybolabilir. İşte o zaman bu sizin kuruntunuz mu, yoksa bir sorun mu var öğrenebilirsiniz.
Bunun için sisteminize daha ilk baştan benchmark yapmak ve sonuçları kaydetmek son derece faydalı olacaktır. Sadece donanım değişikliklerinin ne fark yarattığını değil, sisteminizde kurulu uygulamalardaki değişikliklerin de testleri ve günlük performansı nasıl etkilediğini böylece daha net görebilir, sisteminizi daha verimli bir şekilde kullanabilirsiniz.
Özetle benchmark yaptığınızda bunları görebilirsiniz:
  •          Sisteminiz düzgün çalışıyor mu?
  •          Parçalarınızda bir sorun var mı?
  •          Yaptığınız değişikliklerin etkisi ne oldu?


Benchmark’ın altın kuralları:

Benchmark testleri ekran kartınızın belirli bir oyunda saniyede kaç kare çizdiğini (FPS) görmekten başlar ve derinleşerek devam eder. İşlemcinizin, belleklerinizin, sabit diskinizin ve diğer donanım bileşenlerinin ayrı ayrı ya da bir arada nasıl performans verdiğini detaylı bir şekilde öğrenebilirsiniz. Peki ama Microsoft Office’in sisteminizdeki performansını gerçekten merak ediyor musunuz? Photoshop kullanıyor musunuz? AutoCAD türü yazılımlar işinizin bir gereği mi? İşte bu soruları bir durup sormak, sizi emeğinizi ve zamanınızı en doğru testlere ayırmaya yöneltecektir.
Çoğu bilgisayar kullanıcısı için en önemli test ekran kartının gücünü ve oyun performansını ölçmektir. Elbette bu testin de bazı incelikleri vardır. Örneğin karşınıza çıkan minimum, ortalama ve maksimum FPS sonuçlarına bakıp kıyaslama yaptığınızda neye dikkat etmelisiniz? Cevabı basit, gündelik oyun performansınızı en iyi yansıtan değer ortalama FPS olacaktır. Oyun testlerinde dikkat edilecek bir diğer nokta da tek bir oyunla değil, birden fazla oyunla test yapmak; tek bir kerede bırakmayıp testleri birkaç kez tekrarlamaktır.

Kullanılabilecek test uygulamaları:

SiSoft Sandra: İşlemci ve ekran kartı testi için kullanılır.
NovaBench: İşlemci, RAM, sabit disk ve ekran kartı testleri içindir.
3DMark- PCMark: FutureMark’ın geniş kapsamlı benchmark yazılımlarıdır.
FRAPS: Bir oyunu açıp kolayca saniyede kaç FPS aldığınızı görebiliriz.