Etiket Arşivleri: GPU hesaplama

MATLAB ile GPU Hesaplama

“MATLAB ile GPU Hesaplama” başlıklı bu sayfayı sürekli güncelleyerek MATLAB ile CUDA destekli grafik işlemcilerle GPU Hesaplama yapmak isteyen kişilere giriş seviyesinde bilgi vermeyi amaçlamaktayım. gpuDeviceCount komutu ile sistemimizde CUDA destekli kaç tane grafik kartı olduğunu sorguluyoruz. Genellikle 1 tanedir, bazı sistemlerde birden çok kart takılarak, bu kartları kullanarak hesaplama yapılırken hangi karta yönelik işlem […]

MATLAB’da arrayfun nasıl kullanılır?

MATLAB’ın GPU hesaplamada önerdiği yöntemlerden birisi de arrayfun fonksiyonunun kullanılmasıdır. sonuc = arrayfun(@Fonksiyonum, giris1, giris2,…); şeklinde bir yapı ile kullanılmaktadır. Giriş parametreleri(giris1, giris2,…) gpuArray olarak tanımlanmak zorundadır. Fonksiyonumuz sayılarla ifade edilebilen ve eleman bazlı (scalar/elementwise) olmalıdır. Yani vektör ve matris hesaplamaları yapılamamaktadır. sonuc, Fonksiyonumuzun çıktısı olarak GPU belleğinde oluşur. Örneğin 4 farklı diziyi giriş olarak […]

GPU Hesaplamadaki Yetersiz Bellek Hatasının Nedeni ve Çözümü

GPU hesaplama işleminde özellikle büyük boyutlu verilerle çalışırken verinin doğruluğunu kontrol etmemiz gerekmektedir. CPU hesaplamada büyük boyutlu veriler işletim sistemi tarafından belirlenen mevcut bellek boyutuna geldiği zaman otomatik olarak harddisk’te bir takas hafızası(swapping memory) oluşturarak veri doğrulama işini yapmış olur, bu yüzden de CPU’da işlemler daha yavaştır. GPU belleği ile harddist arasında böyle bir takas […]

GPU hesaplama her zaman neden hızlı değildir?

GPU hesaplama her zaman neden hızlı değildir? A = 1:0.01:50000; Agpu = gpuArray(A); tic; B = fft(A); toc tic; Bgpu = fft(Agpu); toc B_from_gpu = gather(Bgpu); Yukarıdaki kodu incelediğimizde 1’en başlayaran 0.01’er artarak 50000’e kadar giden bir dizi oluşturulmaktadır. fft işlemi hem CPU’da hem de CPU’dan GPU’ya gönderilen Agpu verisiyle GPU’da yaptırılmakta, sonuçlarda B_from_gpu değişkenine […]

GPU hesaplamada veri transferinin etkisinin FFT hesaplama ile gösterimi

GPU hesaplamada veri transferinin etkisinin FFT hesaplama ile gösterimi… GPU hesaplamada kullanılacak verinin CPU’dan GPU’ya aktarılması ek bir zaman maliyeti getirmektedir. Bu da performansı etkilemektedir. Aşağıdaki örnekte bunun etki boyutları araştırılmıştır. Gerekli açıklamalar kodların yanında yorum olarak mevcuttur. A1 = rand(3000,3000); tic; B1 = fft(A1); time1 = toc; A2 = gpuArray(A1); tic; B2 = fft(A2); […]