OpenMP เป็น API และ Compiler Directives สำหรับ C/C++/Fortran รันขนานบน Shared Memory
คุณสมบัติหลัก
#pragma omp parallelสร้างทีมเธรดตามจำนวนโปรเซสเซอร์- ควบคุมจำนวนเธรดด้วย
omp_set_num_threads()หรือ environment variable - จัดการตัวแปร shared/private ด้วย clause
- รองรับ loop parallelization (
#pragma omp for)
ตัวอย่างพื้นฐาน
#include <omp.h>
#include <stdio.h>
int main() {
#pragma omp parallel
printf("Thread %d: Hello\n", omp_get_thread_num());
return 0;
}
คอมไพล์
gcc -fopenmp program.c -o program