Cilk
試してないのでメモだけ。
CilkというANSI-Cベースのマルチスレッド・パラレル・プログラミング言語があるそうな。
Wikipedia
意外と古く、MITが1994からやってるらしい。
OpenMPとかとはまた違った雰囲気になる。
Wikipeidaからフィボナッチ数列を求めるCilkのソース
01 cilk int fib (int n) 02 { 03 if (n < 2) return n; 04 else 05 { 06 int x, y; 07 08 x = spawn fib (n-1); 09 y = spawn fib (n-2); 10 11 sync; 12 13 return (x+y); 14 } 15 }
- spawn
- sync
- inlet
- abort
程度の予約語を覚えておけばマルチスレッドプログラミングができるそうな。
あと商用版としてIntelがCilk Plusってのをだしてると。