Komputasi Dengan GPU

Bagi pengguna komputer awam yang biasanya bekerja dengan word processor kemungkinan tidak terlalu memerlukan pengetahuan lebih mengenai Komputasi GPU. Namun, bagi pengguna komputer yang biasa berkutat dengan pemrosesan data berukuran besar (mass computing) sekiranya hal ini menjadi tambahan yang penting.

Dahulu orang hanya mengetahui bahwa “tukang proses” dalam sebuah komputer itu CPU. Seiring perkembangan kartu grafis yang ternyata inovasinya sangat luar biasa, kini satu buah kartu grafis bisa melakukan komputasi khusus yang jauh lebih cepat dibanding CPU. Kartu grafis keluaran tahun 2000 keatas telah mengimplementasikan multicore dalam sistemnya. Hingga saat ini telah banyak kartu grafis yang memiliki jumlah core puluhan bahkan ada yang hingga 500 core lebih. Jumlah core yang banyak ini tentu juga berimbas pada kecepatan dalam melakukan komputasi khusus untuk menangani grafis.

Bersamaan dengan perkembangan kecepatan pemrosesan yang ada dalam sebuah kartu grafis, berkembang pula penggunaan GPU untuk melakukan komputasi secara umum (general purpose) semacam pemrosesan data float baik single precission maupun double precission. Tentunya pada saat itu orang dalam membuat program selain harus menguasai bahas pemrograman dasar dan pemrograman parallel juga harus mempelajari pemrograman yang berfungsi untuk mengontrol GPU supaya dapat melakukan proses yang massive. Pada saat itu berkembang library “bahasa grafis” semacam OpenGL, OpenCL, DirectX, dan beberapa library lainnya sehingga mempermudah pemrogram untuk membuat perintah terhadap kartu grafis.

Apa sebenarnya yang membuat GPU bekerja lebih cepat? Kemampuan GPGPU (General Purpose GPU) biasanya berdasarkan kecepatan operasi data float dalam satu detik atau dikenal dengan Floating Operation Per Second (FLOPS). Yang membuat GPGPU sangat cepat dalam mengeksekusi perintah adalah jumlah prosesor dalam satu buah kartu grafis dan bandwidth memory yang menghubungkan RAM kartu grafis dan prosesor grafis yang besar. Sebagai perbandingan pada mode single precission CPU Intel Core i7 2600K (4 core 8 thread) memiliki kecepatan tidak lebih dari 84 GigaFLOPS (tomshardware) sedangkan kartu grafis Nvidia GTX570 memiliki kecepatan lebih dari 1400 GigaFLOPS (wikipedia.org). Kalau dihitung maka GPU 16 kali lebih cepat dari CPU (GPU dan CPU yang dibandingkan pada kisaran harga yang sama).

Meski GTX570 tidak masuk dalam jajaran GPGPU, tetapi sudah bisa dilihat bahwa GPU ini memiliki kemampuan komputasi 16x lebih cepat dibanding CPU Intel Core i7 2600K.

Produsen kartu grafis NVIDIA telah mengembangkan platform CUDA bagi pengembang software dalam membuat aplikasi yang support GPU Computing supaya lebih mudah dalam mengimplementasikan teknologi GPU computing. CUDA saat ini telah support bahasa pemrograman C, C++, Fortran, OpenCL, dan DirectX. Selain pengembangan CUDA, NVIDIA telah membuat kartu grafis khusus untuk GPGPU dalam kelas NVIDIA TESLA.

Penggunaan GPGPU mulai digunakan oleh pengembang software khusus misal untuk menangani pemrosesan data seismik dan visualisasinya, pemodelan tatasurya, pemodelan fluida, serta pemodelan fisis dan matematis lain yang memerlukan sumberdaya tinggi untuk komputasi massive.

Workstation, GTX480 vs Quadro 4000

Sebelum menjelaskan lebih jauh, terlebih dahulu saya definisikan mengenai penggunaan workstation yang akan dirakit. Workstation yang akan dirakit merupakan sebuah komputer yang digunakan sebagai alat bantu melakukan komputasi dan visualisasi secara masif. Isu parallel computing telah banyak merambah ke berbagai bidang komputasi, termasuk munculnya GPU computing.

Workstation yang akan dirakit adalah sebuah desktop PC digunakan untuk melakukan komputasi data double precision (FP64), diutamakan dengan memanfaatkan GPU computing, kesalahan selama proses komputasi tidak dapat ditoleransi.

Jadi kunci utamanya ada pada kartu grafis. Tentu saja tanpa mengesampingkan komponen-komponen lain. Sebagai gambaran, komponen-komponen lain yang perlu dicatat adalah sebagai berikut:

Processor Intel Core i7 2600K
Mainboard ASUS Z68 Pro-V
RAM DDR3 1600 16GB 4slot
HDD 2 x 1TB SATA3 RAID0
HDD 1 x 1TB SATA2
HeatSink Corsair H60 Liquid Cooler
PSU Super Flower 1000W Modular
Case Infinity W3 Tower

Nvidia menawarkan pengalaman GPU computing melalui CUDA platformnya. Tentu saja ini menjadi suatu kelebihan bagi Nvidia yang tidak dimiliki pesaingnya secara langsung. Selanjutya kartu grafis Nvidia sendiri memiliki kelas Tesla, Quadro, dan GeForce untuk kartu grafis komputer desktop.

Kali ini yang akan dibandingkan adalah Nvidia GTX480 dari kelas GeForce dengan Nvidia Quadro 4000 dari kelas Quadro. Keduanya memang memiliki selisih harga yang sangat jauh, Quadro 4000 jauh lebih mahal dibanding GTX480. Komparasi dilakukan berdasarkan spesifikasi teknis dan hasil pengujian dari beberapa website yang telah mencoba memperbandingkan keduanya. Sebagai pandangan awal, sekilas melihat harga Quadro 4000 jauh lebih mahal dibanding GTX480 seharusnya Quadro 4000 juga jauh lebih bagus.

  1. Nvidia GTX480 memiliki jumlah core lebih banyak (480 core) dibandingkan Quadro 4000 (256 core), sehingga dalam komputasi bisa disimpulkan GTX480 lebih cepat melakukan perhitungan secara parallel.
  2. Nvidia GTX480 hanya mampu melakukan 32x anti aliasing (AA) sedangkan Quadro 4000 bisa melakukan 64x anti aliasing, artinya Quadro 4000 bisa melakukan visualisasi gambar lebih smoth dibanding GTX480.
  3. Nvidia GTX480 memiliki core clock lebih tinggi dibandingkan Quadro 4000 (450 MHz), artinya dalam satu core processor GTX480 mampu melakukan komputasi lebih cepat dibanding Quadro 4000.
  4. Clock GTX480 yang tinggi menyebabkan suhu yan lebih tinggi dibanding Quadro 4000, artinya Quadro 4000 lebih tangguh digunakan dan nyala secara terus menerus dibandingkan GTX480.
  5. Nvidia GTX 480 memiliki memory bandwidth lebih besar (177.4 GB/s) dibanding Quadro 4000 (86.9 GB/s), sehingga kecepatan akses memori GTX480 lebih cepat dibanding Quadro 4000.
  6. RAM Nvidia GTX480 lebih rendah (1 GB) dibandingkan dengan Quadro 4000 (GB), artinya Quadro 4000 lebih fleksibel dalam menangani data-data maupun variabel berukuran besar dibandingkan GTX480.

Kesimpulan:

  • Kalau membutuhkan memori RAM besar, pilih kelas Quadro atau bahkan Tesla.
  • Kalau membutuhkan kecepatan komputasi, pilih kelas GeForce.
  • Kalau membutuhkan kemampuan anti aliasing tinggi, pilih kelas Quadro.
  • Kalau membutuhkan ketahanan kartu grafis tinggi (misal pemakaian seminggu penuh) pilih Quadro atau Tesla.

Jadi berdasarkan parameter-parameter diatas dan melihat dari tujuan merakit workstation yang sudah saya jelaskan di awal, maka pemakaian GTX480 sudah cukup memenuhi kebutuhan, dan sangat menghemat budget.

Catatan: Quadro 4000 belum dilengkapi dengan error code correction sehingga tingkat kesalahan selama proses komputasi sama dengan kelas GeForce. Kedua kartu grafis ini sama-sama tidak memenuhi syarat “sedikit kesalahan selama proses komputasi” sehingga pada sektor ini dianggap seimbang. Untuk mendapatkan kartu grafis desktop dengan fitur error code correction (ECC) bisa memilih kelas Quadro 5000, 6000, Plex 7000, dan kelas Tesla C2050, C2070, C2075. Pertimbangan utamanya adalah harga kartu grafis dengan fitur ECC masih jauh lebih mahal.