Daya tarik CUDA adalah ia menjanjikan penambahan
kecepatan komputasi yang signifikan dibandingkan CPU biasa. Tentu saya
penasaran, seberapa cepat sih? Saya mendapatkan sebuah program sederhana yang memberikan gambaran
tentang speedup dari penggunaan teknologi CUDA. Program itu menjalan
beberapa operasi sederhana terdapat dua buah array, A & B. Waktu
yang diperlukan kemudian dibandingkan apabila operasi dilakukan dengan
CPU atau GPU.
Berikut hasil yang didapat oleh laptop saya (Intel CORE I-3, NVIDIA G310M):
Kita lihat, bahkan hanya dengan 10 juta elemen saja keunggulan CUDA terlihat cukup signifikan. Ini sudah termasuk waktu yang dibutuhkan untuk mengirim data dari host ke GPU, melakukan komputasi, lalu mengambil lagi hasilnya dari GPU lho ya. Tentu saja perlu diingat bahwa peningkatan kecepatan ini dimungkinkan karena tugas yang dilakukan memungkinkan untuk dilakukan secara paralel. Dibandingkan dengan CPU yang melakukan operasi elemen per elemen, GPU melakukan operasi beberapa elemen sekaligus. Akibatnya waktu yang diperlukan jauh lebih singkat.
Saya agak penasaran dengan hasil Operasi A*B/const. Saya ubah programnya sedikit supaya mengambil lebih banyak sampel di daerah jumlah elemen tinggi, dan inilah dia:
Saya terkejut! Ternyata untuk perhitungan dengan CPU (grafik ungu), justru dengan ukuran array yang terbesar, 33554432, waktu komputasi malah anjlok, bahkan sampai lebih cepat dari CUDA.
Berikut hasil yang didapat oleh laptop saya (Intel CORE I-3, NVIDIA G310M):
Kita lihat, bahkan hanya dengan 10 juta elemen saja keunggulan CUDA terlihat cukup signifikan. Ini sudah termasuk waktu yang dibutuhkan untuk mengirim data dari host ke GPU, melakukan komputasi, lalu mengambil lagi hasilnya dari GPU lho ya. Tentu saja perlu diingat bahwa peningkatan kecepatan ini dimungkinkan karena tugas yang dilakukan memungkinkan untuk dilakukan secara paralel. Dibandingkan dengan CPU yang melakukan operasi elemen per elemen, GPU melakukan operasi beberapa elemen sekaligus. Akibatnya waktu yang diperlukan jauh lebih singkat.
Saya agak penasaran dengan hasil Operasi A*B/const. Saya ubah programnya sedikit supaya mengambil lebih banyak sampel di daerah jumlah elemen tinggi, dan inilah dia:
Saya terkejut! Ternyata untuk perhitungan dengan CPU (grafik ungu), justru dengan ukuran array yang terbesar, 33554432, waktu komputasi malah anjlok, bahkan sampai lebih cepat dari CUDA.
Tidak ada komentar:
Posting Komentar