チャペル プログラムがロケール (*) を使用せず、ロケールが 1 つしかない場合、プログラムは実行マシン上のすべてのプロセッサ/コアを使用します (そうであれば、おそらくカーネル スレッドを使用します)。
(*) Chapel で使用されているロケールは、ほとんどのオペレーティング システムでロケールという用語が言語およびバリアントを意味するために使用されていることを考えると、やや残念な選択です。
チャペル プログラムがロケール (*) を使用せず、ロケールが 1 つしかない場合、プログラムは実行マシン上のすべてのプロセッサ/コアを使用します (そうであれば、おそらくカーネル スレッドを使用します)。
(*) Chapel で使用されているロケールは、ほとんどのオペレーティング システムでロケールという用語が言語およびバリアントを意味するために使用されていることを考えると、やや残念な選択です。
はい、デフォルトでは、Chapel プログラムは実行マシンで利用可能なすべてのコアを使用しようとします。これは、単一ロケールのコンパイルと複数ロケールのコンパイルの両方に当てはまります。
この動作を制御できる 2 つの設定、dataParTasksPerLocale および CHPL_RT_NUM_THREADS_PER_LOCALE について説明しているChapel プログラムの実行を参照してください。
「locale」という言葉の選択に関しては、分散並列プログラミングのコンテキストで一般的に使用される「locality」という言葉に関連しています (「optimizing locality」を検索してみてください)。いくつかの点で、Chapel ロケールは独自の概念であり、独自の用語が必要です (「ノード」のようなものは適切ではありません)。