マルチコアコンピュータを活用し,複数のカーネルでメモリを多く必要とする計算を実行する.
ParallelTableを使う
ParallelTableを使ってTableの計算を並列化する.例えば,並列カーネルで$ProcessIDを評価し,それぞれのカーネルのプロセスIDを得る:
ParallelTable[$ProcessID, 4]- 並列計算に利用できるカーネル数は通常CPUコアの数に対応する.
- 並列化のオーバーヘッドよりも短い時間しかかからない計算の場合には,並列計算を使った方が使わない場合よりも計算に時間がかかることがある.
マルチコアのCPU上では,ParallelTableの方がTableよりもずっと速く計算を行うことがある:
ParallelMapを使う
ParallelMapを使って,Mapの計算を並列化する.例えば,イヌについてのWikipediaページで画像を認識する:
ParallelMap[ImageIdentify, Import["https://en.wikipedia.org/wiki/Dog", "Images"]]Parallelizeを使う
式によっては,Parallelizeを使って並列カーネルで自動的に評価できるものもある:
Parallelize[GeoGraphics /@ {"Paris", "Sydney", "New York", "Beijing"}]- Parallelizeは,ParallelTable,ParallelMap,ParallelSum,ParallelProduct,ParallelDo,ParallelArray等の並列形式の関数の代りに使える.
- Parallelizeは,1つの引数を持つListable関数(Prime,Sqrt等)を自動的に並列化する.
Parallelize[RandomInteger[100]]