Предположим, что / QPar установлен, и для следующего кода:
#pragma loop(hint_parallel(8))
for(int i = 0; i < u; i++)
{
SomeExpensiveCall();
}
Мой маленький (~ 50), и SomeExoyCall занимает ~ 1 секунду. Код, похоже, не распараллеливается (я закомментировал подсказку, и изменений не было). Есть ли способ, которым я могу заставить компилятор распараллелить это?
Что-то, о чем я только что подумал — будет ли это как-то связано с тем фактом, что проект, содержащий вышеуказанный код, находится в статической библиотеке, которая связана с DLL CLI / C ++, которая не имеет (и не может) иметь / QPar?
Спасибо
/ Qpar-report: 2 должно рассказать вам, что происходит. Вероятно, он не хочет параллельного вызова функции из-за потенциальных побочных эффектов.
Других решений пока нет …