Программы на C++. Форум разработчиков
Anonymous
Почему Visual Studio 2022 17.9.6 игнорирует параллель #pragma omp?
Сообщение
Anonymous » 14 май 2024, 20:01
Я пытаюсь распараллелить очень долго выполняющуюся функцию в DLL. Рассматриваемая DLL начинается с командной строки:
Код: Выделить всё
/JMC
/permissive-
/MP
/ifcOutput "x64\Debug\"
/GS
/W3
/Zc:wchar_t
/ZI
/Gm-
/Od
/sdl
/Fd"x64\Debug\vc143.pdb"
/Zc:inline
/D "_WINDOWS"
/D "_USRDLL"
/D "BOOST_INTERPROCESS_SHARED_DIR_FUNC"
/D "_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING"
/D "USE_NEW_CACHE"
/D "_UNICODE"
/D "UNICODE"
/D "_WINDLL"
/D "_DEBUG"
/errorReport:prompt
/WX
/Zc:forScope
/RTC1
/Gd
/MTd
/std:c++17
/FC
/Fa"x64\Debug\"
/EHsc
/nologo
/Fo"x64\Debug\"
/Fp"x64\Debug\MyLib.pch"
/diagnostics:column
Я считаю, что флаг /MP должен позволять прагме работать.
Из-за проблемы классификации, Я могу предоставить только соответствующую выдержку.
Код: Выделить всё
#include
...
int totalThreads = omp_get_num_procs();
int nThreads = totalThreads;
if (totalThreads > 6)
{
nThreads -= 4;
}
else if (totalThreads > 2)
{
nThreads -= 2;
}
stringstream ss;
ss
Подробнее здесь: [url]https://stackoverflow.com/questions/78478529/why-is-visual-studio-2022-17-9-6-ignoring-pragma-omp-parallel-for[/url]
1715706114
Anonymous
Я пытаюсь распараллелить очень долго выполняющуюся функцию в DLL. Рассматриваемая DLL начинается с командной строки: [code]/JMC /permissive- /MP /ifcOutput "x64\Debug\" /GS /W3 /Zc:wchar_t /ZI /Gm- /Od /sdl /Fd"x64\Debug\vc143.pdb" /Zc:inline /D "_WINDOWS" /D "_USRDLL" /D "BOOST_INTERPROCESS_SHARED_DIR_FUNC" /D "_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING" /D "USE_NEW_CACHE" /D "_UNICODE" /D "UNICODE" /D "_WINDLL" /D "_DEBUG" /errorReport:prompt /WX /Zc:forScope /RTC1 /Gd /MTd /std:c++17 /FC /Fa"x64\Debug\" /EHsc /nologo /Fo"x64\Debug\" /Fp"x64\Debug\MyLib.pch" /diagnostics:column [/code] Я считаю, что флаг /MP должен позволять прагме работать. Из-за проблемы классификации, Я могу предоставить только соответствующую выдержку. [code]#include ... int totalThreads = omp_get_num_procs(); int nThreads = totalThreads; if (totalThreads > 6) { nThreads -= 4; } else if (totalThreads > 2) { nThreads -= 2; } stringstream ss; ss Подробнее здесь: [url]https://stackoverflow.com/questions/78478529/why-is-visual-studio-2022-17-9-6-ignoring-pragma-omp-parallel-for[/url]
0 Ответы
33 Просмотры
Последнее сообщение Anonymous
24 июн 2024, 11:37
0 Ответы
50 Просмотры
Последнее сообщение Anonymous
03 мар 2024, 04:57
#pragma omp для/параллельных задач
Гость »
09 мар 2024, 11:43 » в форуме
C++
for(int nu = 0; nu < 20; nu++) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { double matrixPtr = matrix .first; double matrixPtrSecond = matrix .second; double localReS1 = 0.0; double localImS1 = 0.0; for (double theta = 0; theta <...
0 Ответы
42 Просмотры
Последнее сообщение Гость
09 мар 2024, 11:43
#pragma omp для/параллельных задач [дубликат]
Гость »
09 мар 2024, 16:34 » в форуме
C++
for (int nu = 0; nu < 20; nu++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
double matrixPtr = matrix .first;
double matrixPtrSecond = matrix .second;
double localReS1 = 0.0;
double localImS1 = 0.0;
for (double theta = 0; theta < 2...
0 Ответы
36 Просмотры
Последнее сообщение Гость
09 мар 2024, 16:34
0 Ответы
23 Просмотры
Последнее сообщение Anonymous
27 сен 2024, 01:57