GPU ile çalışmanın yararına olan genel amaçlı algoritma örnekleri? [kapalı]


10

Bir GPU'da bir CPU'dan daha hızlı bir büyüklük sırasını çalıştırdığı kanıtlanmış genel amaçlı algoritmaların (grafiklerle ilgili olmayan) örneklerini arıyorum. Bir GPU üzerinde uygulayabileceğim diğer algoritmalar hakkında yaratıcı düşünmek için bu örnekleri kullanacağım.


Dize birleştirme, uyku sıralama
İş

Yanıtlar:


10

Hemen akla birkaç şey gelir:

Kriptografik karmaları gerçekleştirmek için GPU'yu kullanmak üzere özel bir Bitcoin istemcisi yazılmıştır. GPU istemcisi, tipik bir 4 çekirdekli sistemdeki SMP CPU istemcisinden genellikle 10 kat daha iyi performans gösterir. Bitcoin, paralel olarak hesaplanabilen çok sayıda ilişkisiz kriptografik karma hesaplamasına bağlıdır.

Ev projesi @ Katlama teklifler moleküler dinamiği simülasyonları için bir GPU istemcisi. Bu hesaplamalar, çeşitli ortamlarda ve koşullarda atomlar arasındaki bireysel bağlar üzerinde gerçekleştirilir. Matematik nispeten basittir, ancak her bağ için yalnızca nanosaniye faaliyet simülasyonu yapmak için milyarlarca kez hesaplanmalıdır.

GPU bilgi işlem taraftarları tarafından kullanılan popüler "oyuncak" örneği n-vücut problemidir .

Bu şeylerin ortak noktası utanç verici bir şekilde paralel olmalarıdır . Yani, sorun, büyük bir veri seti üzerinde birçok kez gerçekleştirilen az sayıdaki ayrık hesaplamalara ayrılabilir. Bu GPU'nun iyi olduğu bir hesaplama türüdür.

Önceki hesaplamaların sonuçlarına bağlı olan karmaşık hesaplamalar GPU için uygun değildir.


Birden çok BOINC istemcisi GPU desteğine sahiptir. SETI @ Home başka bir şey.
Brian Knoblauch

Aslında. Böyle birçok proje var, ancak bunu kapsamlı bir proje listesi yapmak istemedim - sadece ortak noktalarına dikkat çekmek için.
greyfade

8

Video ve ses kod dönüştürme harika bir örnektir. Bir dosya biçiminden diğerine dönüşümdür. Bir örnek MPEG-2 ila H.264'tür.

Video kod dönüştürmesinin 3D grafiklerle ilişkili olmadığını unutmayın. Bir tepe noktası ve piksel gölgelendirici kullanarak video kodlayamazsınız.


OP grafikle ilgili olmayan örnekler istiyor.
kiamlaluno

6
@kiamlaluno Bir videonun kod dönüştürmesi grafiklerle ilgili değildir ve ses kod dönüştürmesinin çoğu onaylanmamıştır. Bir dosya biçiminden diğerine dönüşümdür. Bir örnek MPEG-2 ila H.264'tür. Gerçekleştirmek için grafiklerin görüntülenmesini gerektirmez.
Thomas Owens

2
@kiamlaluno: Video kod dönüştürme 3D grafiklerle ilgili değildir. Bir tepe noktası ve piksel gölgelendirici kullanarak video kodlayamazsınız.
DeadMG

3

GPU kullanarak Bitcoin madenciliği çok popüler hale geldi.

... eşler arası, elektronik nakit sistemi. Bitcoin oluşturma ve aktarma açık kaynaklı bir şifreleme protokolüne dayanır ve herhangi bir merkezi otorite tarafından yönetilmez. Her bitcoin, sekiz ondalık basamağa bölünerek satoshis adı verilen 100 milyon daha küçük birim oluşturur. Bitcoinler, bir ara finans kurumu olmadan bir bilgisayar veya akıllı telefon aracılığıyla aktarılabilir.

Bitcoin işlemlerinin işlenmesi, Bitcoin madencileri adı verilen sunucular tarafından güvence altına alınmıştır. Bu sunucular internet tabanlı bir ağ üzerinden iletişim kurar ve periyodik olarak güncellenen ve arşivlenen bir deftere ekleyerek işlemleri onaylar. İşlemleri arşivlemeye ek olarak, her yeni defter güncellemesi bazı yeni basılmış bitcoin'ler oluşturur ...

Başka bir uygulama, Black-Scholes gibi modelleri kullanarak gerçek zamanlı ticaret için finansal piyasalarda .

... Opsiyonları kullanmak için önemli bir gereklilik gerçeğe uygun değerlerinin hesaplanmasıdır. Bu fiyatlandırma problemini etkili bir şekilde çözmenin yollarını bulmak otuz yılı aşkın bir süredir aktif bir araştırma alanıdır ve modern finans mühendisliğinin odak noktası olmaya devam etmektedir. Finansla ilgili sorunlara daha fazla hesaplama uygulandığından, bu algoritmaları modern mimarilere uygulamak için etkili yollar bulmak daha önemli hale gelmiştir.

Bu bölümde GPU kullanılarak seçeneklerin nasıl verimli bir şekilde fiyatlandırılabileceği açıklanmaktadır. Değerlendirmelerimizi iki farklı fiyatlandırma modeli kullanarak gerçekleştiriyoruz: Black-Scholes modeli ve kafes modelleri. Bu yaklaşımların her ikisi de GPU ile iyi eşleşir ve her ikisi de GPU'da modern CPU'lardan çok daha hızlıdır. Her ikisi de GPU ile doğrudan eşleşmelere sahip olsa da, kafes modellerin uygulanması, hesaplamalardaki karşılıklı bağımlılıklar nedeniyle ek çalışma gerektirir ...


2

Conway'in Hayat Oyunu iyi bir akademik örnektir.

... Yaşam Oyununun evreni, her biri canlı ya da ölü olan iki olası durumdan birinde olan sonsuz iki boyutlu dikgen kare hücrelerin ızgarasıdır. Her hücre, yatay, dikey veya çapraz olarak bitişik olan sekiz komşusuyla etkileşime girer. Zamandaki her adımda aşağıdaki geçişler gerçekleşir:

  1. İkiden az canlı komşusu olan herhangi bir canlı hücre, popülasyonun neden olduğu gibi ölür.
  2. İki veya üç canlı komşusu olan herhangi bir canlı hücre bir sonraki nesle yaşar.
  3. Üçten fazla canlı komşusu olan herhangi bir canlı hücre, aşırı kalabalık gibi ölür.
  4. Tam olarak üç canlı komşusu olan herhangi bir ölü hücre, üreme gibi canlı bir hücre haline gelir.

İlk desen sistemin tohumunu oluşturur. İlk nesil, yukarıdaki kuralları tohumdaki her hücreye aynı anda uygulayarak yaratılır - doğumlar ve ölümler aynı anda gerçekleşir ve bunun gerçekleştiği ayrık ana bazen kene denir (başka bir deyişle, her nesil, öncekinden). Yeni nesiller yaratmak için kurallar tekrar tekrar uygulanmaya devam ediyor ...


1

Aynı anda yapılabilecek çok fazla matematik gerektiren problemler. Eskiden çalıştığım yerde genetik düzeltmeyi çözmek için 2 matris eklemek / çıkarmak / çoğaltmak için GPU'larla oynamak istedik. GPU'ları ilk kez duyduğumda, modellerinin bir kısmını (monte carlo ve benzeri) yapmak için finansal bir yazılım evi tarafından kullanılıyorlardı. Kod kırmada yararlı olacaktır.

GPU'lar muhtemelen birkaç CPU çekirdeğinin yeterli olduğu daha düzenli programlama problemlerinizde çok yardımcı olmayacaktır çünkü çoğu normal programın sadece birkaç eşzamanlı süreci çalıştırması gerekir. (şu anda sahip olduğumuzdan çok daha hızlı olan bellek / disk ile farklı olabilir)


-3

Belki çok Matematik / Bilim / Mühendislik hesaplamasına özel oluyorum ama akla gelen FFT algoritması.

Bu FFT karşılaştırmasını daha önce atıldığını gördüm ve birkaç yaşında olmasına rağmen bunun ne için yapıldığını düşünüyorum: http://www.sharcnet.ca/~merz/CUDA_benchFFT

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.