インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

__cilkrts_end_cilk

インテル® Cilk™ Plus は古い機能 (非推奨) です。代わりに、OpenMP* またはインテル® TBB を使用してください。詳細は、「インテル® Cilk™ Plus の代わりに OpenMP* またはインテル® TBB を使用するためのアプリケーションの移行」を参照してください。

void __cilkrts_end_cilk(void);

この関数は、インテル® Cilk™ Plus のすべてのステートを終了し、割り当てを解除します。それでも、このスレッドでインテル® Cilk™ Plus が使用されている場合、ランタイムシステムはアプリケーションをアボートします。そうでない場合、ランタイムシステムは、インテル® Cilk™ Plus を使用するほかのすべてのスレッドが終了するのを待機します。

__cilkrts_end_cilk() を使用して、ワーカーの数を変更できます。スポーンを行う関数が実行していない状態で、__cilkrts_end_cilk() を呼び出してから、__cilkrts_set_param() を呼び出して、ワーカーの数を設定します。ランタイムシステムは、cilk_spawn 文または cilk_for 文の実行時、あるいは __cilkrts_init() の呼び出し時に、必要に応じて自動的に再起動します。