У меня есть кусок кода (который является частью приложения), который я пытаюсь оптимизировать с помощью OpenMP, пробую различные политики планирования. В моем случае я заметил, что предложение schedule(RUNTIME)
имеет преимущество перед другими (я не указываю chunk_size). У меня два вопроса:
Когда я не указываю chunk_size, есть ли разница между schedule(DYNAMIC)
и schedule(GUIDED)
?
Как OpenMP определяет планирование реализации по умолчанию, которое хранится в переменной OMP_SCHEDULE
?
Я узнал, что если схема планирования не указана, то по умолчанию используется schedule(STATIC)
. Поэтому, если я не изменю переменную OMP_SCHEDULE
и не использую в своей программе schedule(RUNTIME)
, будет ли схема планирования все время schedule(STATIC)
или у OpenMP будет какой-то интеллектуальный способ динамически разработать стратегию расписания и изменить ее время от времени?