Поделиться через


loop

Элементы управления как код цикла должен считаться автоматическим - parallelizer или исключают цикл из рассмотрения автоматическим - vectorizer.

#pragma loop( hint_parallel(n) )

#pragma loop( no_vector )

#pragma loop( ivdep )

Параметры

  • hint_parallel(n)
    Подсказки компилятору, что этот цикл должен быть параллелизирован через n поток, где n литерал или нуль положительного целого числа.Если n равно нулю, максимальное число потоков используется во время выполнения.Это подсказка компилятору не команды, и нет гарантии того, что цикл будет параллелизирован.Если цикл имеют зависимости данных или расход- пример структурного не будут параллелизированы магазины цикла в скалярное значение, который используется с телом цикла - затем цикл.

    Компилятор игнорирует этот параметр, если параметр компилятора /Qpar не определен.

  • no_vector
    По умолчанию автоматическое - vectorizer on и пытается vectorize все циклы, которые он принимает в качестве помогающ из него.Укажите данную прагму, чтобы отключить автоматическое - vectorizer для цикла, за ним.

  • ivdep
    Подсказки компилятору для пропуска зависимости вектора для этого закрепляют цикла.Используется в сочетании с hint_parallel.

Заметки

Для использования директивы pragma loop, поместите ее сразу перед - не - определением цикла.Директива pragma вступает в силу для области цикла, за ним.Можно применять несколько прагмы в цикл, в любом порядке, но необходимо заявить каждое из них в отдельном выписке pragma.

См. также

Ссылки

Ошибки и предупреждения Автоматический-Parallelization

Директивы pragma и ключевое слово __Pragma