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 = [a b c] = Varsayılan değeri = [1 1 1]’dir.
ThreadBlockSize: Bloklardaki thread sayısını belirleyen 3 boyutlu bir vektördür = [a b c] = Varsayılan değeri = [1 1 1]’dir.

MaxThreadsPerBlock özelliği ise cihazın kapasitesine göre bir blokta olabilecek maksimum thread sayısını tutmaktadır. Böylece rastgele değerler verilerek programın yanlış çalışması önlenmiş olur.

Etiketler: , , , , , ,

Yorum Yapın