| 分類 | 說明 | 範例 |
|---|---|---|
| SISD | 單一指令流、單一資料流 | 傳統馮紐曼架構 |
| SIMD | 單一指令流、多重資料流 | GPU、SSE/AVX |
| MISD | 多重指令流、單一資料流 | 很少使用 |
| MIMD | 多重指令流、多重資料流 | 多核 CPU、叢集 |
// POSIX Threads 範例
#include <pthread.h>
#define NUM_THREADS 4
void *partial_sum(void *arg) {
// 每個執行緒計算部分和
return NULL;
}
int main() {
pthread_t threads[NUM_THREADS];
for (int i = 0; i < NUM_THREADS; i++)
pthread_create(&threads[i], NULL, partial_sum, &data[i]);
for (int i = 0; i < NUM_THREADS; i++)
pthread_join(threads[i], NULL);
return 0;
}
MPI(Message Passing Interface)是分散式記憶體系統的標準。每個程序有獨立記憶體,透過訊息傳遞通訊。適合大規模叢集和超級電腦。OpenMP 則用於共享記憶體系統,透過編譯器指令(#pragma omp)簡化平行化。