Konvolüsyon işlemi üzerinde GPU eniyileme yöntemlerinin etkisi
Künye
Özer, K. E., & Demirci, S. (2025). Konvolüsyon İşlemi Üzerinde GPU Eniyileme Yöntemlerinin Etkisi. Afyon Kocatepe Üniversitesi Fen Ve Mühendislik Bilimleri Dergisi, 25(4), 804-815. https://doi.org/10.35414/akufemubid.1491786Özet
Konvolüsyon, birçok görüntü işleme algoritmasında kullanılan
önemli bir yöntemdir. Convolutional Neural Network (CNN) ve
benzeri birçok sinir ağı yapısının giriş katmanlarında
konvolüsyon işlemine yer vermesinden dolayı günümüzde daha
da önemli bir duruma gelmiştir. Bu sinir ağı modellerinin çok
büyük veri kümeleri üzerinde çalışmasından dolayı konvolüsyon
işleminde gerçekleştirilebilecek küçük bir iyileştirme, genel
başarımı büyük oranda etkileyebilecektir. Bu çalışmada, GPU
tabanlı bir konvolüsyon algoritmasının verimliliğini artırmak
amacıyla bir takım eniyileme yöntemlerinin etkisi incelenmiştir.
Bu kapsamda, bellek erişimlerini azaltmaya yönelik iş parçacığı
başına daha fazla veri işlemenin ve var olan bellek erişimlerinin
yükünü azaltmak için adanmış belleklerin kullanımı üzerinde
durulmuştur. Sonuç olarak, iş parçacığı başına değişken
oranlarda veri işlemenin 2,33-2,45 kat arasında değişken
hızlanma sağladığı, adanmış belleklerin kullanımının bu oranı
2,50-2,60 aralığına taşıdığı ölçülmüştür. Bunun yanı sıra, çıktı
görüntüsünün belleğe yazılması sırasında bellek erişimlerinin
daha büyük veri yapılarında birleştirilmesi (vektörleştirilmiş
bellek erişimi) bu hız artışını 2,95-3,22 aralığına çıkarmıştır.
Önerilen yöntemin en iyi durumda OpenCV ve ArrayFire
kütüphane işlevlerine kıyasla sırasıyla 2,72-2,96 ve 4,23-4,68 kat
arasında değişen oranlarda daha hızlı olduğu görülmüştür. Convolution is an important method used in many image
processing algorithms. It has become even more significant
today due to its incorporation in the input layers of
Convolutional Neural Networks (CNN) and many similar artificial
neural network models. Since these neural network models
operate on very large datasets, even a minor improvement in
the convolution operation can significantly impact overall
performance. In this study, the effects of several optimization
methods aimed at enhancing the efficiency of a GPU-based
convolution algorithm were examined. Specifically, the focus
was on processing more data per thread to reduce memory
accesses and utilizing dedicated memory to lower the cost of
existing memory accesses. As a result, it was measured that
processing varying amounts of data per thread provided a
speedup ranging from 2.33x to 2.45x, while the use of dedicated
memory increased this range to 2.50x-2.60x. Additionally,
packaging memory accesses into larger data structures
(vectorized memory access) during the writing of the output
image to memory further boosted this speedup to a range of
2.95x-3.22x. The proposed method was found to be 2.72x-2.96x
and 4.23x-4.68x faster, respectively, compared to OpenCV and
ArrayFire library functions in the best case.
Cilt
25Sayı
4Bağlantı
https://dergipark.org.tr/tr/download/article-file/3964264https://hdl.handle.net/11630/13090
Koleksiyonlar
- Cilt 25 : Sayı 4 [25]



















