J'essaie de déterminer les CPU indépendantes (spécifiées avec des ID d'affinité) pour construire ATLAS sur une machine Linux avec 4 processeurs Intel avec hyperthreading (Ubuntu 12.04).Détermination des UC indépendantes (spécifiées avec des ID d'affinité) pour la construction d'ATLAS
La raison pour laquelle je fais cela est que le manuel d'ATLAS dit d'utiliser uniquement les noyaux physiques sur des machines avec hyper threading, sur la façon d'y parvenir, il dit: "...you can tell ATLAS to use only the real cores if you learn a little about your machine. Unfortunately, ATLAS cannot presently autodetect these features, but if you experiment you can discover which affinity IDs are the separate cores,..."
plus sur un indice est donné sur comment faire réellement cette expérimentation: "...Under Linux, I can discover this with cat /proc/cpuinfo..."
Sur ma machine le fichier/proc/cpuinfo contient les huit processeurs virtuels les informations suivantes:
-
- processeur: 0
- vendor_id: GenuineIntel
- famille cpu: 6 modèle
- : 42
- nom du modèle: Intel (R) Core (TM) i7-2600 CPU @ 3.40GHz
- pas à pas: 7
- microcode: 0x1b
- cpu MHz: 3392,333
- taille du cache: 8192 KB
- id physique: 0
- fratrie: 8
- id de base: 0
...
processeurs 0 et 4 partagent le même ID de base (et ainsi de suite pour les processeurs 1 et 5, 2 et 6, 3 et 7). Cependant, si je spécifie --force-tids = "4 0 1 2 3" dans le script de configuration d'ATLAS, la construction échoue (ce qui est d'abord perceptible pour moi par l'échec de make pcheck). Si je n'utilise pas ce drapeau, pcheck fonctionne correctement, comme indiqué ici: http://sourceforge.net/tracker/?func=detail&aid=3577908&group_id=23725&atid=379483.
Est-ce que quelqu'un sait comment je peux apprendre un peu de ma machine en expérimentant?
Cela a été répondu à cette autre question http://superuser.com/questions/331308/find-which-ht-cores-are-sharing-a-physical-core-from-proc-cpuinfo/ 707287 # 707287 –