OpenMP adalah standar yang digunakan untuk pemrograman paralel multithreading pada arsitektur shared memory. Sudah termasuk pada compiler GCC, sehingga tidak perlu instalasi tambahan. Programmer cukup menambahkan direktif
bagaimana caa membuat programnya?
berikut saya demokan penggunaan library openmp di linux
1. tulis program
dari kode program tersebut dihasilkan 10 buah string "Hello!", karena kita set nilai threads dengan nilai 10.
kasus ke tiga, bagaimana kita menggunakan seluruh threads yagn kita miliki di komputer, tampa kita set nilainya secara manual. (mengetahui jumlah thread dalam komputer)
omp
pada #pragma
untuk memparalelkan program. bagaimana caa membuat programnya?
berikut saya demokan penggunaan library openmp di linux
1. tulis program
#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp parallel num_threads(4)
printf("Hello!\n");
return 0;
}
2. compile kode program yang dibuat$ gcc <file hasil kompilasi> -o <nama file> -fopenmp
$ gcc hasil -o task1.c -fopenmp
3. Jalankan program$ ./hasil
Hello!
Hello!
Hello!
Hello!
penjelasan:
kenapa string Hello! di print 4 kali? padahal pada sourcecode kita hanya melakukan print satu kkali saja?
pada source code kita menggunakan #pragma ... yang digunakan untuk menjalankan setiap statment dibawahnya sebanyak core yang ditentukan, pada hal ini saya menggunakan 4 thread
#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp parallel num_threads(4)
printf("Hello!\n");
return 0;
}
bagaimana jika kita akan menggunakan lebih dari 4 thread. caranya yaitu ubah saja angka 4 dengan nilai yang kita inginkan. misalkan:#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp parallel num_threads(10)
printf("Hello!\n");
return 0;
}
lakukan kompilasi dan lihat hasilnya.dari kode program tersebut dihasilkan 10 buah string "Hello!", karena kita set nilai threads dengan nilai 10.
kasus ke tiga, bagaimana kita menggunakan seluruh threads yagn kita miliki di komputer, tampa kita set nilainya secara manual. (mengetahui jumlah thread dalam komputer)
#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp parallel
printf("Hello!\n");
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sekian ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referensi: http://cs.ipb.ac.id/~auriza/parallel/pp.html
No comments:
Post a Comment