Mengenal Teknologi Multi GPU

Share on Facebook0Tweet about this on Twitter0Share on Google+0Share on Tumblr

Multi GPU
Kebutuhan akan sistem komputer yang powerful dalam menjalankan berbagai aplikasi dari mulai word processing, spreadsheet, hingga game selalu terkendala masalah budget yang terbatas. Karena untuk membangun sistem seperti itu tidak cukup hanya mengandalkan hardware dari kelas entry level saja. Untuk mengatasi masalah tersebut, seringkali kita mengganti perangkat hardware lama kita dengan perangkat yang baru  dengan dukungan yang lebih baik. Namun apakah hal tersebut menyelesaikan masalah? Kita malah justru akan kebingungan dengan peran perangkat lama kita yang sudah tergantikan tersebut dan pada akhirnya, Anda akan menjualnya dengan harga rendah. Hal ini terlihat mubazir bukan?

Bagi sebagian orang khususnya para pengguna kalangan enthusiast, hal tersebut memang bukan sebuah masalah yang pokok. Karena untuk lebih mengejar performa mereka akan mengabaikan faktor ekonomi, tentunya.

Hal tersebut berlaku juga terhadap teknologi GPU yang saat ini memegang peran utama dalam menentukan performa komputer dalam memproses serta menampilkan grafis 3 dimensi.  Para pabrikan GPU bisa saja membuat GPU yang powerful sekalipun namun masalahnya terletak pada kendala teknis seperti terbatasnya die size, heat dissipation, dan tentu saja permintaan pasar yang memaksa pihak manufaktur untuk dapat menjual produknya dengan harga yang masuk akal.

Pada akhirnya solusi multi GPU diambil untuk mengatasi masalah tersebut. Penggunaan multi GPU pada intinya bertujuan untuk membagi beban kerja antar GPU sehingga pengolahan grafis menjadi lebih efektif dan meningkatkan performa. Produsen video card besar seperti NVIDIA maupun AMD  cukup sigap dalam menghadapi permasalahan konsumennya. Dimana keduanya sama-sama menerapkan teknologi multi GPU yang dikenal dengan istilah NVIDIA SLI technology dan ATi Crossfire technology. Teknologi ini memungkinkan kita untuk menerapkan video card diskrit hingga 4 unit dalam single motherboard, dengan catatan motherboard tesebut memiliki dukungan teknologinya.

Graphic Processing Architecture

Arsitektur GPU saat ini meliputi beberapa komponen penting, seperti yang diperlihatkan pada gambar. Geometry processor atau dikenal dengan geometry shader bertanggung jawab terhadap pengolahan poligon dan membuat perintah antar objek, lokasi pada frame, perspective distortion, dan menghilangkan bagian poligon-poligon yang tertutup.

Multi GPU architecture

Output dari processor/shader adalah raster polygon.  Pada tahap ini, bagian objek yang tertutup oleh objek lain akan dihilangkan.

Lalu pada tahap selanjutnya, pixel processor (pixel shader). Pada tahap ini pixel shader akan mengisi tiap poligon dengan tekstur yang tepat, menambahkan bayangan, efek cahaya, serta variasi warna. Dan  pada akhirnya output dari proses tersebut akan disimpan di frame buffer dan diteruskan ke output display.

Sebetulnya tahapan proses pengolahan grafis tersebut tidak cukup optimal karena menghasilkan bottleneck di beberapa area diantaranya :

  • Geometry shader : adanya bottleneck dimana banyak terjadinya pergerakan objek secara cepat atau munculnya objek baru.
  • Pixel shader : adanya bottleneck karena penggunaan resolusi tinggi dan anti aliasing.
  • Memory capacity and access time : adanya bottleneck saat pengolahan tekstur.

Metode pengolahan grafis  paralel yang tepat, dapat diterapkan pada scenario di atas untuk mengatasi masalah bottleneck sehingga mampu  menghasilkan performa yang lebih baik.

Parallel Graphic Processing Method

Untuk memperoleh kemampuan pengolahan grafis yang tinggi. Pendekatan multi-GPU akhirnya dilakukan oleh manufaktur dengan merujuk pada penggunaan multicore pada CPU. Dengan pendekatan ini tiada lain bertujuan agar sejumlah video card mampu mengolah single frame secara simultan dalam suatu aplikasi atau game. Hal ini dapat digambarkan dimana GPU-GPU tersebut terhubung dengan northbridge melalui slot PCIe dimana salah satu output dari video card terhubung dengan display.

Multi GPU

Untuk membagi beban antar GPU, terdapat 2 metode yang umum digunakan, yaitu :

  • Split frame/Tiling

Metode ini membagi kerja antar GPU untuk menangani bagian tertentu dari display. Sebagai contoh, masing-masing GPU membagi kerja kiri dan kanan atau atas dan bawah pada display. Metode ini juga dikenal dengan nama scissor method.

Keunggulan dari metode ini adalah adanya load balancing, dimana antar GPU akan berkoordinasi untuk membagi beban kerja secara tepat sesuai objek yang dirender. Karena metode ini mengurangi jumlah pixel yang diproses oleh masing-masing GPU sehingga bottleneck pada pixel shading berkurang.

Walaupun begitu, tiap GPU tetap harus menyimpan di memory seluruh screen, sehingga bottleneck pada geometry shader dan memory shader tidak berkurang. Aktivitas penyimpanan di memory ini menjadi kelemahan metode ini dan membuat kinerja sistem melambat.

Metode ini bekerja optimal saat tidak ada perubahan geometry (inter-frame dependancies), jadi hanya perubahan tekstur, light effect, shadow, dll. Namun ketika banyak terjadi perubahan bentuk (geometry) maka metode ini menjadi kurang optimal.

  • Alternate Frame

Metode ini  membagi beban kerja GPU untuk tiap frame. Contohnya, pada frame (n) akan dikerjakan oleh GPU 1 sementara GPU 2 tengah mengerjakan frame (n+1). Lebih mudahnya, jika menggunakan dual GPU, GPU pertama akan mengolah frame ganjil sedangkan GPU kedua akan mengolah frame genap. Sehingga terdapat lebih banyak waktu untuk masing-masing GPU dalam me-render objek.

Kinerja dari metode ini akan lebih optimal apabila GPU-GPU yang digunakan memiliki konfigurasi yang identik. Sehingga tidak terjadi timpang satu sama lain. Untuk video card kelas high end hal ini mungkin bukan masalah yang terlalu krusial. Sebagai contoh Anda menggunakan 2 buah video card AMD seri 6970, namun salah satu video card tersebut Anda overclock. Walaupun terdapat konfigurasi yang berbeda antara video card tersebut dalam hal clock speed. Tidak menjadi masalah karena keduanya memiliki frame rate yang tinggi. Lain halnya jika Anda menggunakan 2 video card dari kelas low end, semisal Radeon HD 6570, dimana salah satunya memiliki clock speed lebih tinggi atau menyandingkan Radeon HD 6570 dengan Radeon HD 6550D. Maka latency akan sangat terasa karena video card tersebut menghasilkan frame rate yang rendah.

Share on Facebook0Tweet about this on Twitter0Share on Google+0Share on Tumblr

Comments

comments

Add a Comment