H16新機能 コンパイルブロック 2


どうも篠島です。前回に引き続きコンパイルブロックの説明です。今回は実際にForループを並列処理させてみます。

 

今回のサンプルファイルです。
compile_test.zip

まずはForループを作ります。今回はサンプルとして Box を Voronoi で破壊し、破片毎に面積を求め、その面積に応じて色を変えています。これは普通のForループであり、並列処理されていません。

 

並列処理させるには Compile Block を追加します。すると Block Begin Compile と Block End Compile という2つのSOPができます。この中に先程のForループを入れます。

 

そしたらForループの Block End SOP の Multithread when Compiled をONにします。これによりForループの部分がコンパイルされ一つのノードとして振る舞うようになり、並列処理されます。今回のサンプルだと破片が113個あるので、113個のジョブがそれぞれのCPUに割り当てられます。

 

以上が超基本的な使い方ですが、次回から細かい部分について見ていきましょう。