23 Ekim 2016 Pazar

Modern CPU'lardaki Shader İsimleri ve Görevleri

Shader Nedir?

Programlanabilir GPU'ların ortaya çıkmasından sonra hayatımıza girmiş bir terimdir. Shaderlar, vertex'lere ya da pixellere hükmetmek üzere yazılan küçük program parçalarıdır.

Türleri

 

2B Shaderlar

2B shaderlar dijital görüntüler üzerinde, ayrıca dokular denilen bilgisayar grafikleri çalışmalarında da hareket eder. Onlar pixel özelliklerini değiştirir. Şuan sadece 2B sahaderların pixel shader türü vardır.

Pixel Shader 
Karesel gölgelendirme anlamına gelen Pixel Shader DirectX 9 ve üzeri oyun grafik kütüphanesinde bulunan grafik işleme komut fonksiyonudur. Yeni nesil olarak tanımlanan birçok oyunda bu özellik şartı aranıldığı için bir önceki nesil ekran görüntü kartları bu özelliği desteklememekte olduğu için birçok oyun yazılımı çalışmama durumu yaşanmaktadır.

3B Shaderlar

3B shaderlar, 3B modeller ya da diğer geometriler üzerinde hareket eder, ama aynı zamanda bir model veya ağ çizmek için kullanılan renklere ve dokulara erişebilir. Vertex Shaderlar, 3B shaderların en eski türüdür, genellikle vertex temelinde değişim yapar. Geometry shader, shader içinde yeni vertexler oluşturabilir. Başka bir türüde Tessellation shaderdır.

Vertex Shader
Yazacağınız bir vertex shader programı ile GPU’ya gönderilen herbir vertex üzerinde işlem yapabilirsiniz.

Geometry Shader
Bu tür shaderlar, grafik pipeline başlangıcına gönderilen bu ilkellere noktalar, çizgiler ve üçgenler gibi yeni grafik öğelerini üretebilir. Geometri shader programları vertex shaderdan sonra yürütülür.

 Tessellation Shader
OpenGL 4.0 and Direct3D 11, Tessellation shader adında yeni bir shader sınıfı eklendi. Geleneksel modeline iki yeni shader aşamalarını ekler.
 



22 Ekim 2016 Cumartesi

Benchmark Nedir ve Benchmark Siteleri

Benchmark İngilizce bir kelime olarak Türkçeye "Kıyaslama" olarak çevrilmektedir. Ancak Benchmark tam olarak daha fazla şey ifade eden bir kavramdır. Kıyaslama yaparken örnek alınma durumu da vardır, sadece iki farklı ürünün kıyaslanarak raporlanması şeklinde değil bir olgu ya da var olan bir örneği incelemek anlamındadır. Benchmark Test denildiğinde sadece işlemci ve donanım incelemeleri ve performans testleri akla gelir, bu ifade bilişim dünyası için doğrudur ancak bilinmelidir ki Benchmark bir evrensel ölçü birimidir ve her sektör için farklı tip ve birimlerde olabilir. Kıyaslama işlemine ise Benchmaring denilir.

CPU Benchmark Testleri 

Benchmark için test siteleri bulunur. Bu sitelerde işlemci model numaraları kullanarak arama yapılarak diğer işlemcilerle kıyaslama yapılır ve işlemci performansı hakkında fikir sahibi olunur. Bu şekilde bir işlemcinin sahip olduğu marka ya da model numarası değil gerçekteki hızı test edilir. Örneğin i5 2430m model numaralı bir işlemcinin performansı i7 720qm modele sahip işlemciden daha performans sağladığı görülmüş olur. Aksi halde yaygın görüşe göre her zaman i7 işlemci i5 işlemciden daha iyi olduğu düşünülse de durumun böyle olmadığı Benchmark testi sayesinde görülmüş olur.

Benchmark Siteleri 

 

PassMark Software:


https://www.cpubenchmark.net/
http://www.harddrivebenchmark.net/ 
http://www.memorybenchmark.net/


Kullanabileceğiniz 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örebilirsiniz.



21 Ekim 2016 Cuma

Vsync Nedir?

Vsync, Vertical Synchronization kelimesinin yaygın kullanılan kısaltmasıdır. Türkçesi "dikey senkronizasyon" anlamına gelmektedir.

Vsync (Vertical Synchronization) açılınca ekran kartının tazeleme hızıyla, monitörün tazeleme hızı denkleştirilir. Vsync kapalıyken görüntüde kırılmalar olur. Özellikle 3rd person ve 1st person kameralı oyunlarda mouse hızlı hareket ettirilidiğinde bu kırılma rahatlıkla görülür. Ekranın ortasından titreyen bir çizgi olarak geçer. Kapatıldığında ise fps artar.

Önce kırılıma da diyebileceğimiz "tearing"in ne olduğunu bilmeliyiz. Eğer ekran kartı monitöre belirli bir zamanda monitörün gösterebileceğinden daha fazla kare (bildiğiniz gibi görüntüler kare kare hesaplanıp sırayla monitöre gönderiliyor) 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.

Ekran Kartları

Zotac 210 Synergy

 

RAM Kapasitesi  = 1 GB
Memory Tipi = GDDR3
Bellek Arayüzü  = 64 Bit
Memory Bandwidth (GB/sec) =  8.0 GB/s
GPU = GeForce 210
Fiyat =  ₺ 100

MSI R7 370 GAMING 2G 


 

RAM Kapasitesi  = 2 GB
Memory Tipi =  GDDR5
Bellek Arayüzü  = 256 Bit
Memory Bandwidth (GB/sec) = 182.4 GB/s
GPU = CrossFire
Fiyat =  ₺ 600

ASUS GTX970 TURBO

 


RAM Kapasitesi  = 4 GB
Memory Tipi =  GDDR5
Bellek Arayüzü  = 256 Bit
Memory Bandwidth (GB/sec) = 224.0 GB/s 
GPU = GeForce GTX 970
Fiyat =  ₺ 1.263

GeForce GTX 1080 SEA HAWK X

 

 

RAM Kapasitesi  = 8 GB
Memory Tipi = GDDR5X
Bellek Arayüzü  = 256 Bit
Memory Bandwidth (GB/sec) = 320 GB/s
GPU = GP104-400-A1
Fiyat =  ₺ 3.432

GeForce GTX TITAN X 


RAM Kapasitesi  = 12 GB
Memory Tipi = GDDR5
Bellek Arayüzü  = 384-bit 
Memory Bandwidth (GB/sec) = 336.5 GB/s
NVIDIA GPU Boost = 2.0 
GPU = GM200 Maxwell GPU
Fiyat =  ₺ 5.019 
 
 

CUDA Nedir?

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.

PCI Express Versiyonları

PCI Express; Eski PCI, PCI-X ve AGP veriyolu standartlarını değiştirmek için tasarlanmış bir yüksek hızlı seri bilgisayar genişleme veriyolu standardına verilen isimdir.

PCI Express Versiyonları

1. PCI Express 1.0a
2. PCI Express 1.1
3. PCI Express 2.0
4. PCI Express 2.1
5. PCI Express 3.x
6. PCI Express 4.0

→ PCI Express 1.0a

2003 yılında, PCI-SIG slot başına 250 MB / s veri hızı ve saniyede (GT / s) başına 2.5 gigatransfers bir aktarım hızı ile, PCIe 1.0a tanıttı.

→ PCI Express 1.1

2005 yılında, PCI-SIG PCIe 1.1'i tanıtmıştır. Bu güncellenmiş veriyolu çeşitli geliştirmeler içerir, ama PCI Express 1.0a ile tam uyumludur.
Veri hızı için herhangi bir değişiklik yapılmamıştır.

→ PCI Express 2.0

PCI-SIG 15 Ocak 2007 tarihinde PCI Express Base 2.0'ı duyurmuştur. Bu veriyolu ile slot başına verim 250 MB / s, 500 MB / s  yükselmiştir. Veri transfer hızını iki katına çıkarmıştır.
PCIe 2.0 anakart yuvalarının PCIe v1.x kartları ile tam bir geriye dönük uyumu vardır.

→ PCI Express 2.1

PCI Express 2.1'in hızı PCI Express 2.0 ile aynıdır. Ne yazık ki,  PCI Express 2.1 kartları ve 1.0/1.0a ile bazı eski anakartlar arasında geriye doğru uyumluluk yoktur ama PCI Express 1.1 bağlantılı anakartlar ile geriye dönük uyumluluk destek programları aracılığıyla kendi üreticileri tarafından bir BIOS güncellemesi ile sağlanlanabilmektedir.

→ PCI Express 3.0

PCI Express 3.0, 8 GHz saat frekansı ile çalışıyor. Aynı zamanda da PCIe 1x (2.5 GHz) ve  PCIe 2x (5 GHz) standartları ile de uyumlu.

→ PCI Express 4.0

PCI-SIG grubu tarafından çalışmaların devam eden PCI Express 4.0, veri transferinde 2 kata kadar güç aktarımında ise 4 kata kadar artış öngörüyor. Bu sayede PCI Express 3.0 ile karşılaşılan pek çok darboğazın da önüne geçilmiş oluyor.