Anda di halaman 1dari 16

Teori Parallel Computation

Mata Kuliah Pengantar Komputasi Modern

Kelas : 4IA05

Dosen : Elyna Fazriyati

Anggota :

Akhmad Yogiyana 50413559


Ellana Tria Hayuningtyas 52413869
Fadly Rifai 53413060

Oka Fahlan Metatama 56413759


Priantiko Nur Adi P 56413913
Tito Raynaldi 58413928

UNIVERSITAS GUNADARMA
2017
BAB I

PENDAHULUAN

1.1 Latar Belakang

Komputasi paralel memanfaatkan beberapa elemen pemroses secara berkesinambungan untuk


menyelesaikan permasalahan, dengan cara menyelesaikan permasalahan, dengan cara
memecah masalah menjadi bagian-bagian independen, kemudian masing-masing bagian
tersebut diselesaikan oleh masing-masing elemen pemroses sesuai dengan algoritma secara
serempak. elemen pemroses dapat terdiri dari unit pemroses yang heterogen dan dapat pula
terdiri dari unit pemroses yang homogen. elemen pemroses dapat berupa komputer tunggal
dengan banyak prosessor, beberapa komputer yang terhubung dalam suatu jaringan,
perangkat keras yang dikhususkan untuk melakukan komputasi paralel, ataupun kombinasi
dari perangkat-perangkat yang lainnya.

1.2 Batasan Masalah

Dalam pembuatan makalah ini, secara garis besar dapat dirumuskan permasalahan yang akan
dikaji dalam makalah ini anatar lain :

1. Konsep Parallel

2. Pemrograman Terdistribusi

3. Arsitektur Komputer Parallel

4. Thread Programming

5. Massage Passing dan OpenMP

6. Pemrograman Cuda GPU

7. Perusahaan yang Mengembangkan Cuda GPU

1.3 Tujuan

Adapun tujuan dari opembuatan makalah ini adalah :

1. Untuk mengetahui konsep parallel

2. Untuk mengetahui pemrograman terdistribusi


3. Untuk mengetahui arsitektur komputer parallel

4. Untuk mengetahui thread programming

5. Untuk mengetahui massage passing dan OpenMP

6. Untuk mengetahui pemrograman cuda GPU

7. Untuk mengetahui perusahaan apa yang mengembangkan cuda GPU

1.4 Sistematika Penulisan

Penulisan makalah ini terdiri dari 3 bab yaitu pendahuluan, pembahasan dan kesimpulan.

BAB I PENDAHULUAN

Bab I membahas latar belakang masalah sehingga perlu dilakukan penulisan makalah ini,
batasan masalah, tujuan penelitian dan sistematika penulisan.

BAB II PEMBAHASAN

Pembahasan meliputi teori-teori yang digunakan dalam penulisan makalah yang meliputi
pembahasan tentang teori parallel computation

BAB III KESIMPULAN

Merupakan bab terakhir yang membahas mengenai kesimpulan dari hasil penulisan makalah.
BAB II

PEMBAHASAN

2.1 Konsep Parallel

Komputasi paralel merupakan salah satu teknik melakukan komputasi, dimana proses
komputasinya dilakukan oleh beberapa resources (komputer) yang independen, secara
bersamaan. Komputasi paralel biasanya diperlukan pada saat terjadinya pengolahan data
dalam jumlah besar (di industri keuangan, bioinformatika, dll) atau dalam memenuhi proses
komputasi yang sangat banyak. Untuk melakukan aneka jenis komputasi paralel ini
diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan
dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk
itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang
berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel.
Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan
diolah secara paralel. Pemrograman paralel adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam
komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin
paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh
komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering
istilah yang digunakan adalah sistem terdistribusi (distributed computing). Tujuan utama dari
pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal
yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan
yang bisa diselesaikan.

Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong
bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan
bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yang anda butuhkan
memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa dalam
pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang
diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang
sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa
melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2
kali.

2.2 Pemrosesan Terdistribusi

Pemrosesan paralel adalah pendekatan komputasi untuk meningkatkan tingkat di mana satu
set data diolah dengan pengolahan bagian yang berbeda dari data pada waktu yang sama
secara simultan atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar
menjadi beberapa beban kecil untuk mempercepat proses penyelesaian masalah.

Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin.


Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan
pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses
beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna
mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Tipe lain dari komputasi paralel yang kadang-kadang disebut "didistribusikan" adalah
gagasan dari sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung
melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi masing-
masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang
dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke
server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang diberikan
kepada mereka.

Parallel distributed computing dapat dibentuk dari :

 Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.

 PVM (Parallel Virtual Machine) adalah paket software yang mendukung pengiriman
pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai
macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur
seperti PC, workstation, multiprocessor dan supercomputer. PVM digunakan untuk
mendukung workstation clusters

 MPI (Message-Passing Interface) Message Passing Interface (MPI) adalah sebuah


standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah
aplikasi yang dapat dijalankan secara parallel dengan spesifikasi library pemrograman
untuk meneruskan pesan (message-passing), yang diajukan sebagai standar oleh
berbagai komite dari vendor, pelaksana dan Pemakai. MPI menyediakan fungsi-fungsi
untuk menukarkan antar pesan. MPI bertugas untuk mengirim data antar komputer di
dalam sistem paralel (biasanya disebut sebagai node atau host). Job scheduler seperti
yang tersirat dari namanya bertugas menerima tugas dari user dan menjadwalkan
tugas tersebut pada beberapa node didalam sistem parallel sesuai kebutuhan.

2.3 Arsitektur Komputer Parallel

Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program
paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer
dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data
yang digunakan oleh instruksi tersebut.
1) SISD (Single Instruction – Single Data)

Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara
serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe
komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun
tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk melengkapi
definisi komputer paralel. Beberapa contoh komputer yang menggunakan model SISD
adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

2) SIMD (Single Instruction – Multiple Data)

Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu
instruksi secara paralel pada data yang berbeda pada level lock-step. Komputer vektor
adalah salah satu komputer paralel yang menggunakan arsitektur ini. Beberapa contoh
komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP,
Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

3) MISD (Multiple Instruction – Single Data)

Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi
secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur
ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer
yang menggunakan model MISD.

4) MIMD (Multiple Instruction – Multiple Data)

Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu
instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk
membangun komputer paralel, bahkan banyak supercomputer yang menerapkan
arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM
POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM
BG/L.
Singkatnya, perbedaan antara SISD, SIMD, MISD dan MIMD dapat dilihat pada gambar
dibawah ini :

Dari penjelasan dan gambar diatas dapat disimpulkan bahwa kinerja komputasi parallel
(multiple) lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak
daripada tunggal (single).

Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan
distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih
prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor
memiliki memori sendiri untuk menjalankan instruksi. Adapun komponen-komponen utama
dari arsitektur komputer paralel cluster PC antara lain:

 Prosesor (CPU). Bagian paling penting dalam sistem, untuk multicore terdapat lebih
dari satu core yang mengakses sebuah memori (shared memory).

 Memori. Bagian ini dapat diperinci lagi menjadi beberapa bagian penyusunnya seperti
RAM, cache memory dan memori eksternal.

 Sistem Operasi. Software dasar untuk menjalankan sistem komputer.

 Cluster Middleware. Antarmuka antara hardware dan software.

 Programming Environment dan Software Tools. Software yang digunakan untuk


pemrograman paralel termasuk software pendukungnya.
 User Interface. Software yang menjadi perantara hardware dengan user.

 Aplikasi. Software berisi program permasalahan yang akan diselesaikan.

 Jaringan. Penghubung satu PC (prosesor) dengan PC yang lain sehingga


memungkinkan pemanfaatan sumberdaya secara simultan.

2.4 Thread Programming

Threading / Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah
menjalankan 2 proses (proses yang sama atau proses yang berbeda) dalam satu waktu.
Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan
sedangkan thread yang lain berfungsi sebagai penerima data dari network. Threading dibagi
menjadi 2, yaitu :

1) Static Threading

Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis
komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori
yang tersedia, menggunakan program counter dan mengeksekusi program secara
independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya
dengan thread lain yang hendak menggunakan prosesor itu.

Mekanisme ini terhitung lambat, karenanya disebut dengan static. Selain itu teknik ini
tidak mudah diterapkan dan rentan kesalahan. Alasannya, pembagian pekerjaan yang
dinamis di antara thread-thread menyebabkan load balancing-nya cukup rumit. Untuk
memudahkannya programmer harus menggunakan protocol komunikasi yang
kompleks untuk menerapkan scheduler load balancing. Kondisi ini mendorong
pemunculan concurrency platforms yang menyediakan layer untuk mengkoordinasi,
menjadwalkan, dan mengelola sumberdaya komputasi paralel.

Sebagian platform dibangun sebagai runtime libraries atau sebuah bahasa


pemrograman paralel lengkap dengan compiler dan pendukung runtime-nya.

2) Dynamic Multithreading

Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk
kemudahan karena dengannya programmer tidak harus pusing dengan protokol
komunikasi, load balancing, dan kerumitan lain yang ada pada static threading.
Concurrency platform ini menyediakan scheduler yang melakukan load balacing
secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara
umum mendukung dua fitur : nested parallelism dan parallel loops.
2.5 Massage Passing dan OpenMP

Massage Passing merupakan suatu teknik bagaimana mengatur suatu alur komunikasi
messaging terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu
bentuk komunikasi yang digunakan dalam komputasi paralel, pemrograman-berorientasi
objek, dan komunikasi interprocess. Dalam model ini, proses atau benda dapat mengirim dan
menerima pesan yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau
bahkan segmen kode ke proses lainnya dan dapat melakukan sinkronisasi. Paradigma
Message passing yaitu :

1) Banyak contoh dari paradigma sekuensial dipertimbangkan bersama-sama.

2) Programmer membayangkan beberapa prosesor, masing-masing dengan memori, dan


menulis sebuah program untuk berjalan pada setiap prosesor.

3) Proses berkomunikasi dengan mengirimkan pesan satu sama lain.

Terdapat beberapa metode dalam pengiriman pesan yaitu :

 Synchronous Message Passing

Pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima pesan.
Oleh karena itu tidak ada buffering. Selain itu Pengirim tidak bisa mengirim pesan untuk
dirinya sendiri.

 Ansynchronous Message Passing

Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika penerima
belum siap untuk menerima pesan. Oleh karena itu diperlukan buffering untuk menampung
pesan sementara sampai penerima siap menerima pesan. Selain itu pengirim dapat pesan
untuk dirinya sendiri.
OpenMP (Open Multiprocessing)

Adalah Application Programing Interface (API) yang mendukung pemrograman


multiprosesing shared memory dalam bahasa C/C++ dan fortran pada berbagai arsitektur dan
sistem operasi diantaranya: Solaris, AIX, HP-UX,GNU/Linux, Mac OS X, dan Windows.

OpenMP adalah model portabel dan skalabel yang memberikan interface sederhana dan
fleksibel bagi programer shared memory dalam membangun aplikasi paralel. Program
multithread dapat ditulis dalam berbagai cara. Beberapa diantaranya memungkinkan untuk
melakukan interaksi yang kompleks antar thread. OpenMP mencoba untuk memberikan
kemudahan pemrograman serta membantu dalam menghindari kesalahan program, melalui
pendekatan terstruktur. Pendekatan ini dikenal sebagai model pemrograman fork-join.

OpenMP bekerja berdasarkan model shared memory, maka secara default data dibagi diantara
thread-thread dan dapat terlihat dari setiap thread. Terkadang program akan membutuhkan
variabel dengan nilai thread spesifik. Jika setiap thread memiliki variabel duplikat akan
sangat berpotensi memiliki nilai yang berbeda-beda pada setiap variabel duplikat tersebut.

Sinkronisasi (pengkoordinasian) aksi dari thread adalah sesuatu yang sangat penting untuk
menjamin data yang harus dibagi dan untuk mencegah terjadinya data race condition. Secara
default OpenMP telah menyediakan mekanisme untuk menunggu thread dalam suatu tim
thread sehingga semua thread menyelesaikan tugasnya dalam region, kemudian dapat
melanjutkan ke proses selanjutnya. Mekanisme ini dikenal sebagai barrier.

2.6 Pemrograman Cuda GPU


Sebuah GPU (Graphical Processing Unit) pada awalnya adalah sebuah prosesor yang
berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan
semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang
realtime /sebagaimana kenyataan sesungguhnya, maka meningkat pula kemampuan prosesor
grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan
teknologi prosesor sesungguhnya (CPU), dan pada akhirnya GPU menjadi General Purpose,
yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses
komputasi secara umum.

penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program
karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi
tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting
adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU.

CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum
banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk
menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan
lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia
digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data.

CUDA merupakan singkatan dari Compute Unified Device Architecture,didefinisikan sebagai


sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat
digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain
sebagainya. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain :
Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+,9800 GTX,9800 GT,9600
GSO, 9600 GT,9500 GT,9400 GT,9400 mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800
GTS,8800 GT,8800 GS,8600 GTS,8600 GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU,
8100 mGPU, dan seri sejenis untuk kelas mobile (VGA notebook).

Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga


programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang
komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA
sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan
melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan
teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan
mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA
hanya versi 8000 atau lebih tinggi.
Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA
akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih
cepat walaupun sudah mengunakan fitur CUDA. Hal ini tergantung seberapa cepat procesor
yang digunakan, dan seberapa kuat sebuah GPU yang dipakai. Dan bagian terpenting adalah
aplikasi apa yang memang memanfaatkan penuh kemampuan GPU dengan teknologi CUDA.
Kedepan seperti pengembang software Adobe akan ikut memanfaatkan fitur CUDA pada
aplikasi mereka. Jawaban akhir adalah, untuk memanfaatkan CUDA kembali melihat aplikasi
software yang ada. Apakah software yang ada memang mampu memanfaatkan CUDA dengan
proses melalui GPU secara penuh. Hal tersebut akan berguna untuk mempercepat selesainya
proses pada sebuah aplikasi. Dengan kecepatan proses GPU, aplikasi akan jauh lebih cepat.
Khususnya teknologi ilmu pengetahuan dengan ramalan cuaca, simulator pertambangan atau
perhitungan yang rumit dibidang keuangan. Sedangkan aplikasi umum sepertinya masih
harus menunggu.

2.7 Perusahaan yang Mengembangkan Cuda GPU

Contoh perusahaan yang menggembangkan Cuda GPU adalah NVIDIA. NVIDIA


Corporation adalah sebuah perusahaan produsen prosesor grafis (graphics processing unit),
kartu grafis, dan media dan alat-alat komunikasi untuk komputer pribadi, dan konsol
permainan Sony Playstation 3. Produk paling terkenal dari NVIDIA adalah seri GeForce yang
digunakan untuk bermain permainan komputer. Markas utama NVIDIA berada di Jalan Bebas
Hambatan San Tomas, Santa Clara, California. Seri terbaru NVIDIA adalah GeForce GTX
280 yang telah menggunakan directX versi 10.
Dengan adanya pesaing berat AMD Radeon, Nvidia tak mau kalah. Mereka mengungkapkan
VGA seri Geforce yang lebuh unggul dari para pendahulunya. Geforce pun mempunyai seri
tersendiri, yaitu

 Geforce 256

 Geforce 2

 Geforce 3

 Geforce 4

 Geforce 5

 Geforce 6,

 Geforce 7

 Geforce 8

 Geforce 9

 Yang terakhir adalah seri GTX 690. tapi yang terbaru saat ini adalah GTX 780.

Nvidia bertekad terus mengembangkan produk Geforce tersebut, namun pesaing terberatnya
yaitu AMD, juga terus mengembangkan produk Radeonnya. Saat ini, kedua perusahaan
chipset tersebut sedang adu kuat dalam bidang kartu grafis, meninggikan spesifikasi untuk
digunakan dibidang multimedia, game, maupun, desain.

 Kelebihan

Sangat menunjang kebutuhan dalam segi grais yang mendukung konsol game berkelas berat
seperti Pro Evolution Soccer atau PES, dan mendukung game berbasis Direct 11, dapat pula
digunakan sebagai penunjang editing video melalui program berat seperti Adobe Ilustration
ataupun Autodesk 3Ds Max.

 Kekurangan

Tidak mendung game dengan basis Direct 9 dan 10.


BAB III

PENUTUP

Kesimpulan

Komputasi paralel sangat berguna dibidang teknologi masa kini. Sebagai contoh media Cloud
Computing yang saat ini sangat populer akan membutuhkan resource yang sangat besar agar
dapat diakses oleh jutaan pengguna dan dapat berjalan tanpa adanya interupsi.

Untuk merealisasikan Cloud Computing, dapat menggunakan teknologi komputasi paralel


sesuai dengan kebutuhan.

Pemrosesan paralel dapat dilakukan pada Nvidia CUDA dan pemrosesan paralel pada Nvidia
CUDA dapat meningkatkan kinerja CPU dalam pemrosesan data. Karena proses proses
komputasinya dapat dilakukan oleh beberapa resources (komputer) yang independen, secara
bersamaan.
Daftar pustaka

http://chachados.blogspot.co.id/2013/07/parallel-computation.html

http://ylpr.blogspot.co.id/2016/05/thread-programming.html

http://techgrid1.blogspot.co.id/2013/10/amd-dan-nvidia.html

http://www.teknatum.com/2016/08/perbedaan-nvidia-geforce-dengan-amd.html

Anda mungkin juga menyukai