Определить семейство intel CPU для компилятора C?

rsync может сделать это.

Сделайте сценарий и поместите его в крон.

2
19.02.2014, 08:47
1 ответ

Если у Вас нет срочной необходимости предназначаться для более старой архитектуры core2, pentium4, или pentium3, я приблизился бы к ситуации как так. Выполните эту команду:

# 64-bit system
$ getconf LONG_BIT
64

# 32-bit system
$ getconf LONG_BIT
32

Если Ваша система возвращается 64, затем используют -march переключатель i64em. Если Вы добираетесь 32, то используйте i32.

выборка из документов ICC

Label      Meaning
i32        The option is available on systems using IA-32 architecture.
i64em      The option is available on systems using Intel� 64 architecture.
i64        The option is available on systems using IA-64 architecture.

Что ЦП я имею?

Можно использовать инструмент командной строки cpuid получить больше деталей о ЦП данной системы. Существуют другие способы достигнуть эту информацию также, но это - мой предпочтительный метод.

$ cpuid -1 | less
CPU:
   vendor_id = "GenuineIntel"
   version information (1/eax):
      processor type  = primary processor (0)
      family          = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6)
      model           = 0x5 (5)
      stepping id     = 0x5 (5)
      extended family = 0x0 (0)
      extended model  = 0x2 (2)
      (simple synth)  = Intel Core i3 / i5 / i7  (Clarkdale K0) / Pentium U5000 Mobile / Pentium P4505 / U3405 / Celeron Mobile P4000 / U3000 (Arrandale K0), 32nm
   miscellaneous (1/ebx):
      process local APIC physical ID = 0x5 (5)
      cpu count                      = 0x10 (16)
      CLFLUSH line size              = 0x8 (8)
      brand index                    = 0x0 (0)
...

Ссылки

1
27.01.2020, 22:22
  • 1
    Спасибо! Так разве ЦП не принадлежит семейству процессоров Intel(R) Core(TM)2? Которому это принадлежит? –  Tim 14.02.2014, 12:34
  • 2
    @Tim - У Вас есть процессор Xeon, он покрывает все предшествующие семейства также. Посмотрите на вывод от моей системы Intel i5. Команда cpuid шоу, что все предшествующие семейства покрыты им также, это показывает это в строке семейства вывода. Вы обычно только нацелены на более старые семейства, если Вы будете планированием выполнения кода там, и Вы не хотите, чтобы компилятор использовал оптимизацию от более новых семейств. А-ч –  slm♦ 14.02.2014, 12:45

Теги

Похожие вопросы