Тестирование OpenMP на однопроцессорной системе
От: XuTMAH  
Дата: 21.05.06 23:03
Оценка:
Есть ли какие-нибудь средства для эмуляции многопроцессорной системы (желательно под Windows)?
Хочется смотреть распределение нагрузки по процессорам...
Re: Тестирование OpenMP на однопроцессорной системе
От: volk  
Дата: 22.05.06 01:11
Оценка:
Здравствуйте, XuTMAH, Вы писали:

XTM>Есть ли какие-нибудь средства для эмуляции многопроцессорной системы (желательно под Windows)?

XTM>Хочется смотреть распределение нагрузки по процессорам...

Verilog? ( )

Ничего похожего на истинную эмуляцию для Windows нет, по крайней мере, в свободном доступе.

OpenMP должен проявить себя на многоядерном процессоре. Смотреть за потоками --- с помощью Intel Thread Checker из VTune Performance Analyzer.

Если удастся форсированно задать число потоков в OpenMP-программе, то можно прикинуть простой/загрузку этих потоков и на одном процессоре. По крайней мере, для MPI мне удавалось получить адекватные оценки эффективности распараллеливания прямо на домашней машине. Вот только я не представляю, как заставить OpenMP "распоточиться" на одном камне.

Кроме того, существуют предсказатели производительности. Вот один из проектов. Проблема в том, что ему надо сначала задать параметры системы.

(Вообще-то на OpenMP свет клином не сошелся. "Доморощенная" DVM-система, написанная в ИПМ Келдыша, предоставляет, в общем-то, сходные возможности. Возможно, удастся заменить директивы OpenMP на аналогичные директивы DVM и воспользоваться встроеным предсказателем производительности. См. здесь.)
Тот, кто желает, но не делает, распространяет чуму.
Re[2]: Тестирование OpenMP на однопроцессорной системе
От: volk  
Дата: 22.05.06 01:20
Оценка:
V>Если удастся форсированно задать число потоков в OpenMP-программе, то можно прикинуть простой/загрузку этих потоков и на одном процессоре. По крайней мере, для MPI мне удавалось получить адекватные оценки эффективности распараллеливания прямо на домашней машине. Вот только я не представляю, как заставить OpenMP "распоточиться" на одном камне.

Посмотрел доки. Число потоков задать можно, хотя директивами тут не обойтись:
  omp_set_num_threads(5);
Тот, кто желает, но не делает, распространяет чуму.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.