2016-09-09 3 views
2

Если программа Chapel не использует локали (*), поэтому существует только одна локаль, будет ли программа использовать все процессоры/ядра на машине исполнения (если это возможно, используя ядро потоки).Часовня, локали и многоядерные многопроцессорные машины

(*) Локали, используемые в Часовне, являются несколько неудачным выбором, учитывая использование термина locale для обозначения языка и варианта в большинстве операционных систем.

ответ

2

Да, по умолчанию программа Chapel попытается использовать все ядра, доступные на машинах исполнения. Это верно как для одиночной локали, так и для многоязычной компиляции.

См. Executing Chapel Programs, который описывает две настройки, которые могут управлять этим поведением: dataParTasksPerLocale и CHPL_RT_NUM_THREADS_PER_LOCALE.

Что касается выбора слова «locale», это связано со словом «местность», которое обычно используется в контексте распределенного параллельного программирования (попробуйте найти «оптимизированную локальность»). В некотором смысле местность Часовни - это ее собственная концепция и нуждается в ее собственном терминах (что-то вроде «узла» не подходит).

Смежные вопросы