Использование OPENMP в VS2019 для обработки графики больше потоков приводит к более медленному выполнениюC++

Программы на C++. Форум разработчиков
Anonymous
Использование OPENMP в VS2019 для обработки графики больше потоков приводит к более медленному выполнению

Сообщение Anonymous »

Чем больше потоков я добавляю медленнее, что он работает. Набор, с которым я тестирую, имеет ~ 200 тыс. Полигонов.

Код: Выделить всё

  // Bi-linear interpolation conversion of all polygons
int cnt = allPolygons.count;
#pragma omp parallel num_threads(2) // tried 1 - 8 -- the more threads the slower it runs
{
size_t cntTime = 0;
int64_t totTime = 0;
#pragma omp for schedule(static, 1000) //schedule(guided, 2000) // tried different schedules
for(int ix = 0; ix < allPolygons.count; ix++)
{
int64_t start = Clock::now().time_since_epoch().count();
transformPolygonInPlace(det, curPos, allPolygons[ix]); // FP intensive function
totTime += Clock::now().time_since_epoch().count() - start;
cntTime++;
if((ix % 1000) == 0)
{
#pragma omp critical
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79720169/using-openmp-in-vs2019-for-graphics-processing-more-threads-lead-to-slower-execu[/url]

Вернуться в «C++»