Tugas Besar Arsikompar RDS(Final)

March 22, 2017 | Author: Rahmat Muttaqin | Category: N/A
Share Embed Donate


Short Description

Download Tugas Besar Arsikompar RDS(Final)...

Description

IMPLEMENTASI ALJABAR LINEAR (IDENTIFIKASI VARIABEL SISTEM PERSAMAAN LINIER MENGGUNAKAN MATRIKS) DENGAN OPEN MP-CUDA Rahmat Muttaqin (13210027) Dita Amalia (13210105) Anissa Sachi Hatami (13210123) EL4127-Arsitektur dan Komputasi Paralel

Sekolah Teknik Elektro dan Informatika ITB Abstrak Pada tugas besar ini, dilakukan implementasi aljabar linear berupa identifikasi variabel sistem persamaan linier menggunakan matriks orde 3x3 dengan program Open MP dan CUDA. Program Open MP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur yang terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Program CUDA merupakan platform komputasi paralel dan model pemrograman yang dibuat oleh NVIDIA dan implementasinya menggunakan GPU( Graphic Processing Unit). CUDA memberikan akses langsung pada set instruksi virtual dan memori dari elemen komputasi paralel pada GPU CUDA. Secara keseluruhan hasil yang didapat berupa perbandingan performa antara Open Mp dan CUDA.

OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat mengunakan fungsi ( omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. "Work-sharing constructs" dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++.

Kata kunci : Open MP, CUDA, Persamaan Linier, Matriks.

Unsur inti OpenMP adalah pembuatan konstruksi thread, distribusi beban kerja (pembagian kerja), pengelolaan data-environment, thread sinkronisasi, bagian user-level runtime dan variabel environment.

1.

1.2

1.1

STUDI PUSTAKA

OPEN MP (OPEN MULTI PROCESSING)

OpenMP adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk Unix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler,perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

CUDA (COMPUTE UNIFIED DEVICE ARCHITECTURE)

Secara sederhana, CUDA adalah kumpulan program-program yang menerjemahkan teks dalam bentuk bahasa komputer (computer language) berupa source language/source code, ke dalam bentuk bahasa komputer yang lain (target language/object code). NVIDIA CUDA technology merupakan suatu lingkup bahasa pemrograman “C” yang membuka akses kekuatan prosesing dari GPU, untuk memecahkan hampir seluruh tantangan intensif dari komputasi / perhitungan yang kompleks dari proses GPU tersebut. Diawali dari seri Geforce 8000 series merupakan GPU yang sudah suport arsitektur CUDA. Arsitektur CUDA memungkinkan GPU (yang telah support CUDA) menjadi arsitektur terbuka seperti layaknya CPU (Central Processing Unit a.k.a Processor). Hanya, tidak seperti CPU, GPU

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB

1

memiliki arsitektur banyak-inti yang pararel. Setiap inti memiliki kemampuan untuk menjalankan ribuan “thread” secara simultan. Jika aplikasi yang dijalankan sesuai dengan arsitektur ini, GPU dapat menyediakan keuntungan yang lebih besar dari segi performa proses aplikasi tersebut.

1.3

1.4.2.1

MINOR DAN KOFAKTOR MATRIKS

Yang dimaksud dengan MINOR unsur aij adalah determinan yang berasal dari determinan orde ken tadi dikurangi dengan baris ke-i dan kolom ke-j yang dinotasikan dengan Mij. Contoh Minor dari elemen a₁₁

PERKALIAN MATRIKS

Jika matriks Am x n dan matriks Bp x q dikalikan, maka Banyaknya kolom matriks A harus sama dengan banyaknya kolom matriks B, sehingga n = p

Minor-minor dari Matrik A (ordo 3x3) antara lain

matriks dengan ordo m x q hasil kali setiap elemen baris matriks A dengan setiap elemen kolom matriks B yang sesuai

1.4

Kofaktor dan minor hanya berbeda tanda. kofaktor dari baris ke-i dan kolom ke-j dituliskan dengan

INVERS MATRIKS

Dapat ditentukan menggunakan rumus

Contoh

1.4.1

DETERMINAN MATRIKS

Untuk matriks berukuran 3x3, maka determinan matriks dapat dicari dengan aturan Sarrus sebagai berikut

1.4.2.2

TRANSPOSE MATRIKS

Matriks transpose adalah matriks yang mengalami pertukaran elemen dari baris menjadi kolom dan sebaliknya

1.4.2

ADJOIN MATRIKS

Adjoin Matriks A adalah transpose dari kofaktorkofaktor matriks tersebut

1.5

IDENTIFIKASI VARIABEL SISTEM PERSAMAAN LINIER

Misal menentukan nilai p, q, dan r dari persamaan linier berikut :

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB

2

2p +2q -3r = -25 4p +5q -6r = -37 2p -3q +4r = 33

lebih praktis jika di bandingkan menggunakan command prompt

dengan

Sistim persamaan linier 3 variabel di atas, dapat dituliskan dalam bentuk matriks berikut:

Bentuk matriks di atas, terlebih dahulu dianalogikan dengan sebuah persamaan, maka diperoleh persamaan yang baru yaitu : A*X = B. Untuk mendapatkan nilai X, bentuk persamaan harus dirubah menjadi :

1.6

MICROSOFT VISUAL STUDIO

Microsoft Visual Studio merupakan environment dari microsoft yang dapat digunakan untuk membantu pemrograman berbagai bahasa, dalam percobaan ini digunakan C/C++ dengan implementasi CUDA dengan menggunakan CUDA Runtime 5.5.

2.

Pada step ini di gunakan #include untuk memasukkan library cuda dan #include.h digunakan untuk library openmp.

HASIL DAN ANALISIS

Pada bagian inti program, matriks harus memiliki orde 3. Dengan Matriks A yang berisi koefisien dari variabel persamaan linier. Pengisian nilai Matriks diimplementasikan pada iterasi (i=0; i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF