GPU ve CPU Arasındaki Farklar ve Önemi

Machine Learning

Sistemlerden derin öğrenme (Deep Learning) uygulamaları, büyük paralellik (massive parallellism), yoğun 3B oyun veya başka bir zorlu iş yükü için, günümüzde her zamankinden daha fazlasını yapması bekleniyor. Yaratılışları ve bugüne kadar kullanım maksatları sebebiyle merkezi işlem birimi (CPU) ve grafik işlem birimi (GPU) çok farklı rollere sahiptir. Peki CPU’lar ne için kullanılır, GPU’lar ne için kullanılır önce ufacık ona bir değinelim ; malumunuz yeni bir bilgisayar satın alırken ve özellikleri karşılaştırırken her birinin oynadığı rolü bilmek önemlidir.

Ben bilgisayarı evinizdeki ya da iş yerinizdeki çalışma masanıza benzetiyorum. Aşağıda bahsedeceğim biraz teknik konuları daha rahat anlamak için lütfen bu örneği aklınızda tutun. Masanızın çekmeceleri depolama alanınız, masanızın üstü ram yani belleğiniz ve CPU dediğimiz şeyde sizsiniz. GPU ‘yu sonra anlatacağım siz şimdilik sadece bu resimde kalın.

desktop
Desktop v1.0 :D

CPU Nedir?
Bugün itibarı ile milyonlarca transistörden oluşan CPU, birden çok işlem çekirdeğine sahip olabilir ve genellikle bilgisayarın beyni olarak adlandırılır. Bilgisayarınız ve işletim sisteminiz için gereken komutları ve işlemleri yürüttüğü için tüm modern bilgi işlem sistemleri için çok önemlidir. CPU, web’de gezinmekten elektronik tablolar oluşturmaya kadar programların ne kadar hızlı çalışabileceğini belirlemede de önemlidir.

GPU Nedir?
GPU, birçok küçük ve daha özel çekirdekten oluşan bir işlemcidir. Çekirdekler birlikte çalışarak, bir işleme görevi birçok çekirdeğe bölünüp işlenebildiğinde muazzam performans sunar.

CPU ve GPU Arasındaki Fark Nedir?
CPU’lar ve GPU’ların pek çok ortak noktası vardır. Her ikisi de kritik bilgi işlem motorlarıdır. Her ikisi de silikon tabanlı mikroişlemcilerdir. Ve her ikisi de verileri işler. Ancak CPU’lar ve GPU’lar farklı mimarilere sahiptir ve farklı amaçlar için üretilmiştir.

CPU, özellikle gecikme süresi veya çekirdek başına performansın önemli olduğu çok çeşitli iş yüklerine uygundur. Güçlü bir yürütme motoru olan CPU, daha az sayıdaki çekirdeğini bireysel görevlere ve işlerin hızla yapılmasına odaklar. Bu, seri bilgi işlemden çalışan veritabanlarına kadar değişen işler için benzersiz bir donanıma sahip olmasını sağlar.

GPU’lar, mimari çizimler ve özellikle animasyonlarda ve belirli 3B oluşturma görevlerini hızlandırmak için geliştirilen özel ASIC’ler olarak başladı hayatına. Zamanla, bu sabit işlevli motorlar daha programlanabilir ve daha esnek hale geldi. Günümüzün en iyi oyunlarının grafikleri ve giderek daha gerçekçi görünen görselleri ana işlevleri olmaya devam ederken, GPU’lar da daha genel amaçlı paralel işlemciler haline geldi.

Entegre Grafik Nedir?
Tümleşik veya paylaşılan grafikler, CPU ile aynı çip üzerine kuruludur. Belirli CPU’lar, ayrılmış veya ayrık grafiklere dayanan yerine yerleşik bir GPU ile gelebilir. Bazen entegre grafik işlemcileri (IGP) veya tümleşik grafik işlemciler olarak da anılırlar, CPU ile belleği paylaşırlar.

Entegre grafik işlemcileri çeşitli avantajlar sunar. CPU’larla entegrasyonları, özel grafik işlemcilere göre alan, maliyet ve enerji verimliliği avantajları sunmalarına olanak tanır. Web’de gezinme, 4K film akışı ve gündelik oyun oynama gibi genel görevler için grafiklerle ilgili verilerin ve talimatların işlenmesini sağlayacak gücü sağlarlar.

Bu tür bir yaklaşım, çoğunlukla dizüstü bilgisayarlar, tabletler, akıllı telefonlar ve bazı masaüstü bilgisayarlar gibi kompakt boyutun ve enerji verimliliğinin önemli olduğu cihazlarda kullanılır.

Peki güzel CPU nedir GPU nedir , hatta IGP nedir teknik olarak öğrendik ama zaten bu bildiklerimizi niye anlatıyorsun derseniz işte geldik herkesin dilinden düşürmediği Deep Learning yani derin öğrenme mevzusuna. Biraz sabrederseniz bu CPU ile GPU nun farkını bilmenin bugün düne nazaran daha önemli olduğunu anlatmaya çalışacağım. Ama önce aradaki farkın pekişmesi için teknik bir resim …

Cpu ve GPU Mimarileri

Derin Öğrenmeyi ve Yapay Zekayı Hızlandırmak
Günümüzde GPU’lar, derin öğrenme ve yapay zeka (AI) gibi giderek artan sayıda iş yükü çalıştırıyor. Birkaç nöral ağ katmanıyla veya 2B görüntüler gibi çok büyük belirli veri kümeleriyle derin öğrenme eğitimi için bir GPU veya diğer hızlandırıcılar en idealidir. Hemen yukarıda paylaştığım resim ile bu açıklama kafanızda bazı şeylerin oturması için yardımcı olacaktır.

Derin öğrenme algoritmaları, GPU ile hızlandırılmış bir yaklaşım kullanacak şekilde uyarlanmıştır, ve bu sayede performansta önemli bir artış elde edildi ve birkaç gerçek dünya probleminin eğitimini ilk kez uygulanabilir ve uygulanabilir bir aralığa getirende bu mimari yapıdır.

AI ML ve DL in bugün kullanım alanları

Zamanla, CPU’lar ve bunlar üzerinde çalışan yazılım kütüphaneleri, derin öğrenme görevleri için çok daha yetenekli olacak şekilde evrimleşti ve gelişti.

Sunucularda ve HPC lerde kullanılan CPU’ların sırf bu konuda performans sağlaması için kapsamlı yazılım optimizasyonları ve en yeni Intel® Xeon® Ölçeklenebilir işlemcilerdeki Intel® Deep Learning Boost (Intel® DL Boost) gibi özel yapay zeka donanımının eklenmesi ve bu tarz geliştirmeler ile de CPU tabanlı sistemlerin de derin öğrenme performansında iyileştirmeler elde edildi. Hakkını vermek lazım bu konuda NVIDIA bir çok konuda dünyaya önderlik ediyor diyebiliriz.

Dil, metin ve zaman serisi verilerinde yüksek tanımlı, 3B ve görüntü tabanlı olmayan derin öğrenme gibi birçok uygulama için CPU’lar daha düşük maliyetler ile hayatımızda parlamaya devam ediyor. CPU’lar, karmaşık modeller veya derin öğrenme uygulamaları (örneğin, 2D görüntü algılama) için günümüzün en iyi GPU’larından bile çok daha büyük bellek kapasitelerini destekleyebilir.

Yeterli RAM ile birlikte CPU ve GPU kombinasyonu, derin öğrenme ve yapay zeka için harika bir test alanı sunar.

Bu noktada bellek kapasitesinin altını çizmem gerekiyor. Neden mi ? Yukarıda paylaştığım DESKTOP V1.0 ‘ı hatırlıyor musunuz ? Hmm evet işte o bugün neredeyse bazılarımızın kullandığı telefonların bile üstüne sığmadığı o çalışma masası.

İşin açıkçası eskiden o masalara “Yazma Masası” ya da “Yazım Masası” deniyormuş ; internette ararken antik yazı masası deyince bunlar hemen çıkıyor. Kelime proseslerinin hemen hemen hepsi o günlerde bu masalarda yapılmış.

Standart bir çalışma masasının teknik çizimi

Evet daha fazla uzatmadan anlatayım, hani size demiştim ya çekmeceler depolama alanınız diye ; evet çalışmadığınız dosyaları çekmecelerde tutarsınız yani Hard/Solid disklerinizde; hatta bazı özel dosyalarınız için anahtarlı çekmeceleriniz olur, buna şifre korumalı/kriptolu saklama da diyebilirsiniz :P

Peki masanızın üstü ?

İşte orası çalışmak için o anda masanızın çekmecelerinden çıkarıp dosyalarınızı koyduğunuz çalışma alanınız. Özetle masanızın üstü esasında ne kadar geniş ise AYNI ANDA çalışabileceğiniz dosya sayısı da o kadar çok olacaktır.

E biz ?

Evet biz de o masa üstündeki dosyalarla işlem yapan ki Desktop V1.0 da bu yazı yazmaktı, bir ara Solitaire ile fal bakmak oldu, şimdilerde beni yormasınlar ben bir yapı kurayım benim yerime öğrensin ve öğrendiği kadarıyla da işlem yapsın dediğinizde işte masadan kalkıyor ve yerinizi derin öğrenme, yapay zeka ve Massive Parallellisim gibi başlıklar ile tanışmaya başlıyorsunuz. CPU’lar ve GPU’lar artık gerçekten verdiğim örnekteki biz olma yolunda ilerliyor desem abartmamış olurum sanıyorum.

Bu yüzden yukarıdaki verdiğim örnek ile özetlersek büyük bir veri yapısı ile çalışacaksanız birincisi hızlı hybrid bir disk yapısına, sonra geniş belleklere ve en önemlisi kuracağınız metod,yazılım ve yapıya göre CPU veya GPU ihtiyacınız olacak.

Mesela bugün yapay zeka ve makine öğrenmeleri ile inanılmaz illüstrasyonlar yapabiliyoruz , kırk yıl uğraşsam ben çizemem ama sadece istediğiniz resmin öznelerini yazarak saniyeler içerisinde inanılmaz çıktılar alabiliyorsunuz.

Bugün, artık konu CPU ve GPU meselesi değil. Çeşitli bilgi işlem taleplerinizi karşılamak için her ikisine de her zamankinden daha fazla ihtiyacınız var. En iyi sonuçlar, iş için doğru alet kullanıldığında elde edilir. Bu yüzden hangi sonuca hangi yöntem ile ulaşmak istiyorsanız test ortamınızı veya çalışma ortamınızdaki sunucu veya HPC’lerinizin yapısını CPU temelli veya CPU+GPU temelli olarak kurmalısınız.

Saatlerce yazsak bitiremeyeceğimiz bu konuda son sözü kim söyleyecek bilmiyorum ama CPU ve GPU alanında ki gelişmelerin baş döndürücü bir hız aldığı ve dünyada bu konuda geldiğimiz noktanın yüzdelik birimlerde daha iki basamaklı bile olmadığını söyleyebilirim.

About the Author

Melih Melik SÖNMEZ
1976'da İstanbul'da doğdum.