GPU

GPU based parallel cooperative particle swarm optimization using C-CUDA: a case study

“GPU based parallel cooperative particle swarm optimization using C-CUDA: a case study.” başlıklı çalışma Kumar, Jitendra, Lotika Singh ve Sandeep Paul tarafından yapılmış olup Fuzzy Systems (FUZZ), 2013 IEEE International Conference on. IEEE konferansında 2013 yılında sunulmuştur. Evrimsel algoritmaları CUDA…

A parallel Bees Algorithm implementation on GPU

“A parallel Bees Algorithm implementation on GPU” başlıklı makale Journal of Systems Architecture dergisinin 2014 yılında yayınlanan 60.sayısının 271-279.sayfalarında yayınlanmıştır. Makaleyi Guo-Heng Luo, Sheng-Kai Huang, Yue-Shan Chang ve Shyan-Ming Yuan yazmıştır. Makaleyi indirmek için: A-parallel-Bees-Algorithm-implementation-on-GPU Çalışmada Arı Algoritması için paralel…

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…

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,…

MATLAB GPU CUDA Thread, Block, Grid boyutlarının ayarlanması

Kerneli aşağıdaki şekilde oluşturabiliriz: k = parallel.gpu.CUDAKernel(‘test.ptx’,’test.cu’); Peki bu kaç kere çalıştırılacak? Bunun ayarlanmasını ise GridSize ve ThreadBlockSize özellikleri ile yapmaktayız. Örneğin: k.ThreadBlockSize = [500,1,1]; kodu 500 kere ilgili kernelin çalıştırılacağını belirtir. GridSize: Blok sayısını belirleyen 3 boyutlu bir vektördür…

İki sayının ve iki vektörün toplanması – MATLAB(Parallel Computing Toolbox) GPU Hesaplama

MATLAB(Parallel Computing Toolbox) GPU Hesaplama ile örnek olarak iki sayının ve iki vektörün toplanması işlemi nasıl gerçekleştirilir? 1.adımda toplama işlemlerini yapacak olan kernel kodunun .cu dosyası içerisine doğru bir şekilde yazılması ve derlenerek .ptx dosyasının oluşturulması gerekmektedir. test.cu dosyamız: __global__…

PTX dosyası nasıl oluşturulur?

MATLAB(Parallel Computing Toolbox) GPU Hesaplama yaparken çağıracağımız kernelleri daha önceden derleyip, onlara ait .cu (kaynak kod) ve .ptx (parallel thread execution) dosyalarını ilgili Matlab dosyamızın bulunduğu klasöre koyarak gerekli tanımlamaları yapmamız gerekmektedir. Kullanmış olduğum sistemde nvcc derleyicisinin ihtiyaç duyduğu cl.exe…