Определение независимых процессоров (указанных с помощью идентификаторов сходства) для построения ATLAS

Я пытаюсь определить независимые процессоры (указанные с помощью идентификаторов сходства) для сборки ATLAS на компьютере с Linux и 4 процессорами Intel с гиперпоточностью (Ubuntu 12.04).

Причина, по которой я это делаю, заключается в том, что в руководстве ATLAS говорится, что на машинах с гиперпоточностью следует использовать только физические ядра, а в том, как этого добиться, говорится: "... вы можете указать ATLAS использовать только реальные ядра, если вы научитесь немного о вашей машине. К сожалению, в настоящее время ATLAS не может автоматически определять эти функции, но если вы поэкспериментируете, вы сможете узнать, какие идентификаторы соответствия являются отдельными ядрами,..."

Далее дается подсказка о том, как на самом деле провести этот эксперимент: "... В Linux я могу обнаружить это с помощью cat /proc/cpuinfo..."

На моей машине файл /proc/cpuinfo содержит для восьми виртуальных процессоров следующую информацию:

    • процессор: 0
    • vendor_id: GenuineIntel
    • семья процессора: 6
    • модель: 42
    • Название модели: Intel(R) Core(TM) i7-2600 CPU @ 3,40 ГГц
    • степпинг: 7
    • микрокод: 0x1b
    • процессор МГц: 3392,333
    • размер кеша: 8192 КБ
    • физический идентификатор: 0
    • братьев и сестер: 8
    • основной идентификатор: 0

...

Процессоры 0 и 4 имеют одинаковый идентификатор ядра (и так далее для процессоров 1 и 5, 2 и 6, 3 и 7). Однако, если я укажу --force-tids="4 0 1 2 3" для скрипта конфигурирования ATLAS, сборка завершится неудачно (сначала меня заметит неуспешный make pcheck). Если я не использую этот флаг, make pcheck работает нормально, как указано здесь: http://sourceforge.net/tracker/?func=detail&aid=3577908&group_id=23725&atid=379483.

Кто-нибудь знает, как я могу немного поэкспериментировать о своей машине, поэкспериментировав?

1 ответ

Проверьте likwid (http://code.google.com/p/likwid/), я уверен, что он позволит вам связать потоки, которые запускает ATLAS, только с физическими ядрами вашей системы. Не знаю, как Харт, но может.

Другие вопросы по тегам