Нет улучшения производительности при многопоточности линейной регрессии с использованием библиотек boost c ++

Я выполняю вызовы метода, используя несколько потоков через библиотеки повышения. Я получил значительное повышение производительности при этом. Недавно я ввел в метод вычисления линейной регрессии, и у меня серьезное снижение производительности на поток.

Например, если я запускаю один поток, средний вызов метода занимает 2 секунды. Если я использую два потока, я регистрирую вдвое большую нагрузку на процессор, но в среднем вызов метода занимает 5-6 секунд. Это продолжается, поскольку я увеличиваю темы. Там нет известных условий гонки или (я думаю) значительная общая память.

Почти кажется, что существует какое-то кэширование или другая аппаратная функция ЦП, которая используется всеми потоками, став узким местом. Но я не знаю достаточно об архитектуре процессора, чтобы быть уверенным. Я использую процессор Intel Xeon 25-2620.

Помощь крайне необходима.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]