BAB IV PENGUJIAN DAN ANALISIS

dokumen-dokumen yang mirip
BAB I PENDAHULUAN. Merancang aplikasi Paralel Processing yang diimplementasikan dengan penggunaan Computer-Unified-Device-Architecture (CUDA).

MULTITASKING DENGAN MENGGUNAKAN NVIDIA CUDA. oleh Agustinus Ardiyan Abi Ravinda NIM :

BAB IV PENGUJIAN DAN ANALISIS

1. PENDAHULUAN 1.1. LATAR BELAKANG MASALAH

BAB III PERANCANGAN Gambaran Sistem

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi.

Analisis Kinerja Matrix Multiplication Pada Lingkungan Komputasi Berkemampuan Tinggi (Cuda Gpu)

10. PARALLEL PROCESSING

KOMPUTASI PARALEL UNTUK SEGMENTASI CITRA DIGITAL DENGAN PARTICLE SWARM OPTIMIZATION

OPTIMISASI PUSTAKA UNTUK PERKALIAN MATRIKS MENGGUNAKAN ALGORITMA STRASSEN BERBASIS OPENCL

BAB I PENDAHULUAN. penggunaan teknologi dalam menunjang kehidupan sehari - hari. berdasarkan data yang dihimpun oleh Gartner International Data

PENDAHULUAN. -. Pengolahan data numerik dalam jumlah yang sangat besar. -. Kebutuhan akan ketersediaan data yang senantiasa up to date.

PENGANTAR KOMPUTASI MODERN

PROSEDUR PARALELISASI PERKALIAN MATRIKS PADA GRAPHICS PROCESSING UNIT (GPU)

Nama : Reza Alfian Firdiansyah NPM : Jurusan : Sistem Informasi Pembimbing : Prof. Dr-Ing. Adang Suhendra. SSi.,Skom.,MSc

BAB III LANDASAN TEORI

Paralelisasi Transformasi Fourier pada Arsitektur General Purpose Graphic Processing Unit Untuk Klasifikasi Alat Musik Dengan Instrumen Solo

PENDAHULUAN. Motivasi : -. Pengolahan data numerik dalam jumlah yang sangat besar. -. Kebutuhan akan ketersediaan data yang senantiasa up to date.

PARALELISASI PERKALIAN MATRIKS SPARSE VEKTOR DENGAN CUBLAS

JARINGAN UNTUK MERGING

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Paralelisasi Transformasi Fourier Para Arsitektur General Purpose Graphic Processing Unit Untuk Klasifikasi Alat Musik Dengan Solo Instrumen

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II DASAR TEORI GPU Computing

BAB III PERANCANGAN SISTEM

Implementasi Komputasi Paralel. Mohammad Zarkasi Dosen Pembimbing: Waskitho Wibisono, S.Kom., M.Eng., Ph.D. Ir. FX. Arunanto, M.

Analisis Perbandingan Komputasi GPU dengan CUDA dan Komputasi CPU untuk Image dan Video Processing

OPTIMASI PROSES RENDERING OBJEK GAME 3D MENGGUNAKAN PEMROGRAMAN CUDA PADA GAME SANDBOX CRAFT

PARALELISASI TRANSFORMASI WAVELET DISKRIT MENGGUNAKAN ARSITEKTUR CUDA PADA GRAPHIC PROCESSING UNIT UNTUK DE-NOISING CITRA

Pendeteksian Kemacetan Lalu Lintas dengan Compute Unified Device Architecture (CUDA)

IT233-Organisasi dan Arsitektur Komputer Pertemuan 4

BAB III LANDASAN TEORI. dalam bentuk sebuah tabel. Lingkungan semacam ini sering ditemui pada dunia

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB II TINJAUAN PUSTAKA. apapun yang melalui beberapa pengolahan berarti (Tse, 2012). Mencerahkan citra,

Implementasi AES-ECB 128-bit untuk Komputasi Paralel pada GPU menggunakan Framework NVIDIA CUDA

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

BAB I PENDAHULUAN. Keamanan dapat menjadi sebuah ketidak nyamanan. Namun, di zaman yang

Konsep Organisasi dan Arsitektur Komputer (Pertemuan ke-2)

SIMULASI PERAMBATAN GELOMBANG SUARA DENGAN METODE STAGGERED GRID FINITE DIFFERENCE TIME DOMAIN MENGGUNAKAN ARSITEKTUR CUDA GPU

KLASIFIKASI ARSITEKTURAL

BAB I PENDAHULUAN. Pencarian jalur terpendek merupakan sebuah masalah klasik pada bidang

Disusun Oleh: Agenda. Terminologi Klasifikasi Flynn Komputer MIMD. Time Sharing Kesimpulan

ISSN : e-proceeding of Engineering : Vol.4, No.1 April 2017 Page 1301

Penerapan Algoritma Divide and Conquer Dalam Komputasi Paralel

KOMPUTASI PARALEL UNTUK PENGOLAHAN PRESTASI AKADEMIK MAHASISWA

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

BAB II LANDASAN TEORI. informasi menjadi sebuah teks yang tidak dapat dibaca (Ferguson dkk, 2010).

ANALISA KINERJA CLUSTER LINUX DENGAN PUSTAKA MPICH TERHADAP PERKALIAN MATRIKS

Operating System. I/O System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

BAB 1 PENDAHULUAN. Web caching server mempunyai peranan penting dalam menangani trafik web

PENGOLAHAN PARALEL. Kebutuhan akan Komputer Paralel PENDAHULUAN. Dahulu:

KEBUTUHAN KOMPUTER PARALEL

SAHARI. Selasa, 29 September

Deteksi Kebakaran pada Video Berbasis Pengolahan Citra dengan Dukungan GPU

Organisasi & Arsitektur. Komputer. Org & Ars komp Klasifikasi Ars Komp Repr Data

Pengantar Hardware: Sistem Bus pada Komputer. Hanif Fakhrurroja, MT

1. Pendahuluan Perkembangan teknologi di bidang multimedia dewasa ini demikian pesatnya, khususnya dalam pemanfaatan aplikasi citra/gambar digital. Ir

4 HASIL DAN PEMBAHASAN

BAB II TINJAUAN PUSTAKA. Pada bagian ini akan dijelaskan tentang state of the art dari hal-hal. CVE, dan implementasi deteksi tabrakan pada CVE.

STUDI PERBANDINGAN PERFORMANSI PARALELISASI ALGORITMA SORTING DENGAN GPGPU

ANALISIS UNJUK KERJA KOMPUTASI DISTRIBUTED SHARED MEMORY PADA SISTEM CLUSTER KOMPUTER PERSONAL

DESAIN DAN ANALISIS STRUKTUR DATA NON LINIER ROOTED TREE DINAMIS (Kata kunci: Graf, Struktur data, tree, LCA, pemrograman dinamis)

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

BAB I PENDAHULUAN Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

1. PENDAHULUAN 1.1 Latar Belakang

SEGMENTASI CITRA MENGGUNAKAN LEVEL SET UNTUK ACTIVE CONTOUR BERBASIS PARALLEL GPU CUDA

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

MODUL 1 - MENGENAL HARDWARE

Metode Sorting Bitonic Pada GPU

PERTEMUAN 1 PENGENALAN MIKROPROSESOR

ANALISIS PERBANDINGAN ANTARA CLUSTER OPENMOSIX DENGAN PVM (PARALLEL VIRTUAL MACHINE)

Tugas Arsitektur Komputer Lanjut

BAB I PENDAHULUAN. ingin merestorasi hasil karya seni lukisan dari zaman Mediterania dan Renaissance yang

BAB I PENDAHULUAN. seiring perkembangan teknologi mikroprosesor, proses komputasi kini dapat

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel

Pembangunan Aplikasi Manajemen Data Statistik Berbasis Komputasi Paralel

Bab I Pengenalan Sistem Operasi. Apa yang dimaksud Sistem Operasi?

BAB I PENDAHULUAN. Berdasarkan survei Situs CIA (Central Intellegence Agency) mengenai

TUGAS SITEM OPERASI. Nama dan N.P.M: 1.Frahma Yayang Hangga Putra

Nama : Damas Fahmi Assena NIM : Prodi : Teknik Informatika R2

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

BAB I PENDAHULUAN. ada dua pendekatan yang dapat digunakan, pendekatan yang pertama adalah

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

USUL PENELITIAN HIBAH BERSAING

ARSITEKTUR KOMPUTER. Satu CPU yang mengeksekusi instruksi satu persatu dan menjemput atau menyimpan data satu persatu.

Written by Mada Jimmy Monday, 24 August :40 - Last Updated Thursday, 18 November :51

TESIS VISUALISASI FLUIDA SATU DAN DUA FASE DENGAN PEMROGRAMAN PARALEL GPU CUDA. ARIFIYANTO HADINEGORO No. Mhs.: /PS/MTF

>> KLASIFIKASI ARSITEKTURAL

BAB I PENDAHULUAN. 1.1 Latar Belakang

Operasi pada Sistem Operasi. Avida Endriani Reza Gusty Erlangga D3 TEKNIK INFORMATIKA A

ORGANISASI KOMPUTER II AUB SURAKARTA

Arsitektur Komputer. Dua element utama pd sistem komputer konvensional: Memory Processor

BAB III METODE PENELITIAN

Sistem Operasi Terdistribusi

1. BAB I PENDAHULUAN. efek. Penggunaan visual efek untuk film di sebabkan lebih mudah di arahkan dan

Transkripsi:

BAB IV PENGUJIAN DAN ANALISIS Pada bab ini akan dijelaskan tentang pengujian dari masing masing metode computing dan juga analisa dari hasil pengujian tersebut. Pengujian dilakukan pada waktu proses dengan menjalankan aplikasi yang menerapkan algoritma sorting, perkalian matriks, inverse matrix dengan gauss jordan, BFS, dan Binary Search secara bersama-sama pada setiap metode computing, dan kemudian akan di ambil analisa. 4.1. Pengujian pada CPU Computing Pengujian untuk CPU computing dilakukan dengan menjalankan beberapa aplikasi yang telah dirancang secara bersamaan, kemudian hasil waktu akan dibandingkan. 4.1.1. Pengujian dengan Integer A. Aplikasi yang diuji Aplikasi sorting, perkalian matriks, binary search, dan eliminasi gauss jordan dengan menggunakan input bilangan integer. B. Langkah Pengujian 1. Input jumlah data pada masing-masing aplikasi. 2. Eksekusi keempat aplikasi secara bersamaan. 3. Setelah selesai catat waktu yang dibutuhkan masing-masing aplikasi. C. Hasil dan Analisa 29

Tabel 4.1. Pengujian Multitasking CPU dengan input Data Integer Sorting Gauss J Binary Waktu data Search data Waktu 1.000.000 903 1.000.000 0,173 3.000.000 4.721 3.000.000 0,181 5.000.000 11.134 5.000.000 0,190 7.000.000 20.783 7.000.000 0,228 9.000.000 32.792 9.000.000 0,236 Ukuran (Variabel) Waktu Matriks Ukuran Waktu 1.000 12.484 1.000 27.243 2.000 250.124 2.000 98.827 3.000 333.325 3.000 1.066.902 4.000 467.822 4.000 1.180.062 5.000 1.167.870 5.000 2.611.740 Gambar 4.1 Hasil Sorting dengan Sampel 100 Data. 30

Gambar 4.2 Hasil Perkalian Matriks dengan sampel Matriks 10 x 10. Gambar 4.3 Hasil dari Eliminasi Gauss Jordan dengan Sampel Matriks 10 x 10. 31

Gambar 4.4 Hasil Binary Search dengan 30 Sampel Data. Pemrosesan CPU dengan mengimplementasikan algoritma search dan sorting, dapat menghasilkan waktu pemrosesan 0,903 detik sampai 32,792 detik untuk sorting dan 0,000173 detik sampai 0,000236 detik untuk search dengan input data 1.000.000 sampai 9.000.000, namun waktu pemrosesan meningkat dengan melakukan perhitungan matriks dan juga eliminasi linier gauss jordan. dari array dan proses read and write pada masing masing array yang digunakan, membuat pemrosesan pada sorting dan search membutuhkan waktu yang lebih sedikit dari perhitungan eliminasi linier dan perkalian matriks. CPU membutuhkan waktu sampai 2.600,740 detik untuk mengolah masukan data untuk algoritma perkalian matriks dan 1.167,870 detik untuk eliminasi linier dengan input data matriks 5000 x 5000. Meskipun CPU yang digunakan sudah memiliki 4 thread dan juga memiliki clock speed yang cukup besar, susunan sekuensial algoritma dari program yang diterapkan pada CPU, waktu pemrosesan dari perhitungan algoritma matriks tidak secepat searching dan sorting. 32

4.1.2. Pengujian Dengan Floating Point A. Aplikasi yang Diuji Aplikasi sorting, perkalian matriks, binary search, dan eliminasi gauss jordan dengan menggunakan input bilangan floating point. B. Langkah Pengujian 1. Input jumlah data pada masing-masing aplikasi. 2. Eksekusi keempat aplikasi secara bersamaan. 3. Setelah selesai catat waktu yang dibutuhkan masing-masing aplikasi. C. Hasil dan Analisa Tabel 4.2. Pengujian Multitasking CPU dengan Input Data Floating Point Sorting Gauss J Binary Waktu data Search data Waktu 1.000.000 295 1.000.000 0,128 3.000.000 2.892 3.000.000 0,215 5.000.000 5849 5.000.000 0,285 7.000.000 9.921 7.000.000 0,201 9.000.000 15.040 9.000.000 0,224 Ukuran (Variabel) Waktu Matriks Ukuran Waktu 1.000 4.683 1.000 17.506 2.000 93.014 2.000 290.700 3.000 339.697 3.000 848.876 4.000 754.039 4.000 2.090.270 5.000 787.667 5.000 3.183.011 Gambar 4.5 Sorting dengan input Floating Point dan 100 Sampel Data. 33

Gambar 4.6 Binary Search dengan input 100 sampel data Floating Point. Gambar 4.7 Perkalian matriks dengan sampel Matriks 10x10. Gambar 4.8 Metode Eliminasi Gauss Jordan dengan sampel 2 variabel. 34

Pemrosesan algoritma searching dan sorting dengan ukuran data 9.000.000 data, CPU membutuhkan waktu 15,040 detik untuk sorting dan 0,000224 detik untuk searching, karena CPU keluaran terbaru sudah dilengkapi dengan Floating Point Unit (FPU) yang ditanamkan oleh pabrikan di chipset. Namun FPU pada CPU belum bisa memberikan waktu proses seperti pada saat implementasi sorting dan searching. Pada saat memproses data input yang berupa floating point pada implementasi algoritma perkalian matriks membutuhkan waktu pemrosesan 3.183,011 detik dan metode eliminasi gauss jordan membutuhkan waktu 787,667 detik dengan menggunakan input data matriks yang berukuran 5000 x 5000. 4.2. Pengujian dengan GPU Computing Pengujian pada GPU computing dengan menggunakan beberapa aplikasi yang juga digunakan pada CPU computing, yang nantinya akan di eksekusi secara bersamaan, dan hasilnya akan dibandingkan dengan metode lainnnya. 4.2.1. Pengujian dengan Integer A. Aplikasi yang Diuji Aplikasi sorting, perkalian matriks, binary search, dan eliminasi gauss jordan dengan menggunakan input bilangan floating point. B. Langkah Pengujian 1. Input jumlah data pada masing-masing aplikasi. 2. Eksekusi keempat aplikasi secara bersamaan. 3. Setelah selesai catat waktu yang dibutuhkan masing-masing aplikasi. C. Hasil dan Analisa 35

Tabel 4.3. Pengujian Multitasking GPU dengan input Data Integer Sorting Gauss J Binary Waktu data Search data Waktu 1.000.000 0,002464 1.000.000 0,065376 3.000.000 0,002464 3.000.000 0,076544 5.000.000 0,002464 5.000.000 0,078528 7.000.000 0,002464 7.000.000 0,085376 9.000.000 0,002528 9.000.000 0,084224 Ukuran (Variabel) Waktu Matriks Ukuran Waktu 1.000 0,002496 1.000 0,002464 2.000 0,002496 2.000 0,002624 3.000 0,002432 3.000 0,002464 4.000 0,002624 4.000 0,002464 5.000 0,002624 5.000 0,002464 Berbeda dengan menggunakan CPU yang membutuhkan waktu proses lebih dari 50 menit pada saat pemrosesan perkalian matriks dengan ukuran data matriks yang sama yaitu 5000 x 5000, data yang di proses oleh GPU membutuhkan waktu proses 0,002464 milidetik. Karena GPU memiliki memori utama tersendiri untuk menopang kinerja dan jumlah core processor CUDA yang digunakan mempunyai 144 inti, dibandingkan dengan core processor CPU yang digunakan berjumlah 2 inti 4.2.2. Pengujian dengan Floating Point A. Aplikasi yang Diuji Aplikasi sorting, perkalian matriks, binary search, dan eliminasi gauss jordan dengan menggunakan input bilangan floating point. B. Langkah Pengujian 1. Input jumlah data pada masing-masing aplikasi. 2. Eksekusi keempat aplikasi secara bersamaan. 3. Setelah selesai catat waktu yang dibutuhkan masing-masing aplikasi. C. Hasil dan Analisa 36

Tabel 4.4. Pengujian Multitasking GPU dengan input Data Floating Point Sorting Gauss J Binary Waktu data Search data Waktu 1.000.000 0,002464 1.000.000 0,075376 3.000.000 0,002464 3.000.000 0,076544 5.000.000 0,002464 5.000.000 0,078528 7.000.000 0,002464 7.000.000 0,085376 9.000.000 0,002528 9.000.000 0,088321 Ukuran (Variabel) Waktu Matriks Ukuran Waktu 1.000 0,002496 1.000 0,002464 2.000 0,002496 2.000 0,002624 3.000 0,002432 3.000 0,002464 4.000 0,002624 4.000 0,002464 5.000 0,002510 5.000 0,002464 Pada saat input dengan menggunakan data bertipe float, waktu yang dibutuhkan dalam pemrosesan tidak berbeda jauh dengan input data integer yang sebelumnya telah diuji. Dengan matriks 5000 x 5000 data integer membutuhkan waktu 0,002464 milidetik dan dengan input jumlah data yang sama tetapi bertipe float waktu prosesnya 0,088321 milidetik. Berbeda dengan pemrosesan menggunakan CPU yang sudah memiliki FPU, waktu pemrosesan pada perhitungan matriks 5000 x 5000 membutuhkan waktu 3.183,011 detik. GPU CUDA didesain untuk render grafis yang memiliki data data floating point dan di desain menggunakan arsitektur yang berbeda untuk pengolahan data, maka pemrosesan dengan input data float tidak akan membebani dari kinerja GPU. 4.3. Pengujian dengan MPI Pengujian dengan MPI, menggunakan aplikasi MPICH2 dan menggunakan lib, include dan bin dari MPICH2 untuk eksekusi aplikasi yang sudah terintegrasi dengan MPI. Menggunakan 2 PC yang tersambung dengan LAN. 4.3.1. Pengujian dengan Integer A. Aplikasi yang Diuji Aplikasi sorting, perkalian matriks, binary search, dan eliminasi gauss jordan dengan menggunakan input bilangan Integer. 37

B. Langkah Pengujian 1. Input jumlah data pada masing-masing aplikasi. 2. Eksekusi keempat aplikasi secara bersamaan. 3. Setelah selesai catat waktu yang dibutuhkan masing-masing aplikasi. C. Hasil dan Analisa Tabel 4.5. Pengujian Multitasking cluster CPU dengan input data Integer Sorting Gauss J Binary Waktu data Search data Waktu 1.000.000 600 1.000.000 2.353 3.000.000 2.614 3.000.000 3.537 5.000.000 5.657 5.000.000 4.992 7.000.000 11.604 7.000.000 9.060 9.000.000 20.743 9.000.000 13.154 Ukuran (Variabel) Waktu Matriks Ukuran Waktu 1.000 3.493 1.000 12.729 2.000 16.974 2.000 107.041 3.000 50.827 3.000 375.454 4.000 112.843 4.000 997.356 5.000 212.680 5.000 1.995.244 Pengujian dengan menggunakan MPI didapatkan waktu yang lebih cepat dari menggunakan satu CPU, pada sorting menggunakan input 9.000.000 data, single CPU membutuhkan waktu 32,792 detik dan dengan cluster computing membutuhkan waktu proses 20,743 detik. Namun ada yang berbeda dengan Binary Search, dikarenakan struktur data dari binary search. Apabila data di distribusikan,akan membutuhkan waktu pada saat data transfer dan waktu koneksi antara dua komputer. Pada implementasi perkalian matriks 5000 x 5000, cluster computing dapat menangani proses yang diberikan lebih cepat dari komputasi dengan single CPU, karena menggunakan 2 processor yang memiliki kecepan dan virtual multithread yang tidak begitu berbeda jauh dan dibantu dengan library dari MPI yang membantu membagi dan mendistribusikan data. Implementasi matriks dengan input ukuran data matriks 5000 x 5000 memiliki waktu proses 1.995,244 detik, sedangkan pada single CPU memakan waktu lebih lama 2.611,740 detik. 38

4.3.2. Pengujian dengan Floating Point A. Aplikasi yang Diuji Aplikasi sorting, perkalian matriks, binary search, dan eliminasi gauss jordan dengan menggunakan input bilangan Integer. B. Langkah Pengujian 1. Input jumlah data pada masing-masing aplikasi. 2. Eksekusi keempat aplikasi secara bersamaan. 3. Setelah selesai catat waktu yang dibutuhkan masing-masing aplikasi. C. Hasil dan Analisa Tabel 4.6. Pengujian Multitasking cluster CPU dengan input data Floating Point Sorting Gauss J Binary Waktu data Search data Waktu 1.000.000 1.237 1.000.000 2.530 3.000.000 2.211 3.000.000 5.788 5.000.000 5.605 5.000.000 11.689 7.000.000 7.892 7.000.000 15.170 9.000.000 19.050 9.000.000 17.234 Ukuran (Variabel) Waktu Matriks Ukuran Waktu 1.000 76.356 1.000 13.093 2.000 611.953 2.000 105.003 3.000 2.033.694, 3.000 395.775 4.000 4.856.766 4.000 1.010.834 5.000 9.475.768 5.000 2.065.384 Pengujian dengan menggunakan input floating point menunjukan bahwa proses yang berjalan membutuhkan waktu yang lebih lama dari input menggunakan integer pada saat memproses perkalian matriks 5000 x 5000, dengan input bilangan integer membutuhkan waktu 1.995,244 detik sedangkan dengan input bilangan floating point membutuhkan waktu 2.065,384 detik. Ada sebuah metode perhitungan yang membutuhkan waktu yang lebih lama dari perhitungan lainnya, hal ini disebabkan transfer data antara masing masing komputer yang membutuhkan waktu dalam penyalinan memory dan pengolahan data pada CPU yang mengolah data berpusat pada masing masing core per detiknya dan tidak efisien dalam pengolahan data kompleks yang banyak secara bersamaan. 39

4.4. Perbandingan Hasil Pengujian dengan Teori Kompleksitas Waktu Setiap algoritma yang digunakan dalam pengujian memiliki kompleksitas, pada perkalian matriks dan eliminasi linier kompleksitas waktu yang dimiliki adalah O(N 3 ), pada sorting memiliki kompleksitas waktu O(N log N) dan binary search memiliki kompleksitas waktu O(log N). Perhitungan waktu kompleksitas perkalian matriks dan eliminasi linier pada input data 1000 x 1000 membutuhkan waktu pemrossan waktu 13.093 ms, apabila diterapkan pada penggunaan O(N 3 ), pada input 2000 x 2000 akan menghasilkan waktu 104.744 ms, dan waktu pada pengujian menggunakan CPU 105.003 ms untuk perkalian matriks dan untuk eliminasi linier pada input data 1000 x 1000 membutuhkan waktu pemrosesan 76.356 ms, saat diterapkan dengan kompleksitas O(N 3 ), maka akan menghasilkan waktu 610.848 ms. Selisih waktu dikarenakan beberapa faktor, seperti kecepatan CPU, kapasitas RAM, dan core dari CPU. GPU yang memiliki arsitektur berbeda dengan CPU, mengeksekusi data dengan paralel ke semua core yang dimiliki GPU. Waktu yang dibutuhkan tidak seperti CPU yang berjalan secara sekuensial. Dengan performa memory copy host to device 6000 MiB/s, device to host sebesar 6000 MiB/s, dan device to device sebesar 12.000 GiB/s, serta GPU core performance untuk integer 84.000 Giop/s, single-precision float 168.608 Gflop/s, dan double-precision float 21.000 Gflop/s maka waktu pemrosesan mampu diselesaikan dalam kurang dari 1 detik. Pemrosesan algoritma oleh GPU memiliki kompleksitas waktu yang sama dengan pemrosesan pada CPU. Karena pemrosesan pada GPU berjalan secara paralel, GPU membagi keseluruhan waktu proses sejumlah proses paralel. Dengan hasil waktu pemrosesan paralel dan sekuensial yang berbeda, bisa dicari speed-up dari masing masing algoritma dengan menggunakan rumus S = T old / T new. Hasil speed-up yang akan di hitung berdasarkan dari waktu proses dari CPU dan GPU. Pada Matriks dengan input 1000 x 1000 hasil dari speed-up adalah S = 27.243 / 0,002464 = 11.056.412 kali. Semakin bertambah jumlah datanya, maka nilai dari speed-up akan bertambah tinggi. 40

4.5. Tabel Perbandingan Hasil Pengujian CPU Computing, GPU Computing, dan Cluster Computing Data 4.5.1. Sorting CPU Computing (waktu) GPU Computing (waktu) Cluster Computing (waktu) integer float integer float integer float 1.000.000 903 295 0,002464 0,002464 600 1.237 3.000.000 4.721 2.892 0,002464 0,002464 2.614 2.211 5.000.000 11.134 5849 0,002464 0,002464 5.657 5.605 7.000.000 20.783 9.921 0,002464 0,002464 11.604 7.892 9.000.000 32.792 15.040 0,002528 0,002528 20.743 19.050 Data 4.5.2. Binary Search CPU Computing (waktu) GPU Computing (waktu) Cluster Computing (waktu) integer float integer float integer float 1.000.000 0,173 0,128 0,065376 0,075376 2.353 2.530 3.000.000 0,181 0,215 0,076544 0,076544 3.537 5.788 5.000.000 0,190 0,285 0,078528 0,078528 4.992 11.689 7.000.000 0,228 0,201 0,085376 0,085376 9.060 15.170 9.000.000 0,236 0,224 0,084224 0,088321 13.154 17.234 Data 4.5.3. Perkalian Matriks CPU Computing (waktu) GPU Computing (waktu) Cluster Computing (waktu) integer float integer float integer float 1.000 27.243 17.506 0,002464 0,002464 12.729 13.093 2.000 98.827 290.700 0,002624 0,002624 107.041 105.003 3.000 1.066.902 848.876 0,002464 0,002464 375.454 395.775 4.000 1.180.062 2.090.270 0,002464 0,002464 997.356 1.010.834 5.000 2.611.740 3.183.011 0,002464 0,002464 1.995.244 2.065.384 Data 4.5.4. Eliminasi Linier Gauss Jordan CPU Computing (waktu) GPU Computing (waktu) Cluster Computing (waktu) integer float integer float integer float 1.000 12.484 4.683 0,002496 0,002496 3.493 76.356 2.000 250.124 93.014 0,002496 0,002496 16.974 611.953 3.000 333.325 339.697 0,002432 0,002432 50.827 2.033.694, 4.000 467.822 754.039 0,002624 0,002624 112.843 4.856.766 5.000 1.167.870 787.667 0,002624 0,002510 212.680 9.475.768 41