Hyperthreading на Mac — не дает много ускорения

Я реализовал алгоритм выпуклой оболочки в C ++, используя openMP.

Код можно найти здесь: http://codepad.org/VVQdSdfM

Below are the results when tested in my Mac Book Pro:
Processor Name:   Intel Core i5
Processor Speed:  2.5 GHz
Number of Processors: 1
Total Number of Cores:    2
L2 Cache (per Core):  256 KB
L3 Cache: 3 MB
Memory:   4 GB

Время, необходимое процессору для запуска кода:

With two Threads:
(here size represents the number of points in the input and time in Seconds)

Average Sequential Time Elapsed in seconds for size:10=8.29697e-06
Average Parallel Time Elapsed in seconds for size:10=5.0807e-05

Average Sequential Time Elapsed in seconds for size:100=5.18084e-05
Average Parallel Time Elapsed in seconds for size:100=8.13007e-05

Average Sequential Time Elapsed in seconds for size:1000=0.000471377
Average Parallel Time Elapsed in seconds for size:1000=0.000283003

Average Sequential Time Elapsed in seconds for size:10000=0.00483506
Average Parallel Time Elapsed in seconds for size:10000=0.0032198

Average Sequential Time Elapsed in seconds for size:100000=0.0471328
Average Parallel Time Elapsed in seconds for size:100000=0.0333489

Average Sequential Time Elapsed in seconds for size:1000000=0.460131
Average Parallel Time Elapsed in seconds for size:1000000=0.267305With four threads:

Average Sequential Time Elapsed in seconds for size:10=1.00136e-05
Average Parallel Time Elapsed in seconds for size:10=0.000106597

Average Sequential Time Elapsed in seconds for size:100=5.91993e-05
Average Parallel Time Elapsed in seconds for size:100=0.000114727

Average Sequential Time Elapsed in seconds for size:1000=0.000503755
Average Parallel Time Elapsed in seconds for size:1000=0.000302839

Average Sequential Time Elapsed in seconds for size:10000=0.00478158
Average Parallel Time Elapsed in seconds for size:10000=0.00235724

Average Sequential Time Elapsed in seconds for size:100000=0.0465738
Average Parallel Time Elapsed in seconds for size:100000=0.0223478

Average Sequential Time Elapsed in seconds for size:1000000=0.466074
Average Parallel Time Elapsed in seconds for size:1000000=0.221905

Я обнаружил четыре слота в мониторе активности для процессора и узнал, что эта версия процессора Intel поддерживает технологию Hyper-Threading.

Если это так, разве мне не нужно увеличивать скорость до 4 при использовании 4 потоков?

Пожалуйста, предоставьте мне любые указатели, которые могут помочь мне использовать функцию Hyper-Threading в процессорах Intel.

Спасибо,
Виджай

0

Решение

При использовании гиперпоточности в контексте высокопроизводительных вычислений HP не следует ожидать значительного улучшения производительности. На самом деле вам лучше отключить гиперпоточность на уровне BIOS. Гиперпоточность создает впечатление дополнительных ядер, может повысить производительность в случае, если многие процессы работают на одном и том же ЦП, но не добавляет ценности для приложений MPI с интенсивным использованием ЦП.

4

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

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

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