BİLGİSAYAR DONANIMI
6 Aralık 2016 Salı
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.
Ç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.
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.
Kaydol:
Kayıtlar (Atom)