URL: https://linuxfr.org/forums/programmationautre/posts/allocation-de-memoire-numa-dans-un-code-parallele-threads Title: Allocation de mémoire NUMA dans un code parallèle (threads) Authors: jyes Date: 2012年04月18日T00:04:28+02:00 Tags: Score: 5 Bonjour à tous, Je sais que parmi vous se cachent des habitués du calcul haute-performance qui pourront m’éclairer sur l’architecture NUMA. Voilà, j’ai là un petit code de simulation parallélisé avec OpenMP et que je compte faire tourner sur un cluster SMP. Avant de changer le code trop en profondeur pour aller dans quelque direction que ce soit, je me pose quelques questions auxquelles je ne parviens pas à trouver de réponse dans le grand Ternet. - Si chaque thread alloue sa propre mémoire, le système d’exploitation lui octroiera-t-il par défaut de la mémoire proche de lui sans explicitement passer par une allocation prenant explicitement en compte l’architecture NUMA ? - Sinon, cela revient-il au même que de laisser un thread faire toutes les allocations mémoires puisque de toutes façons les autres threads pourront venir taper dedans ? Dans ce deuxième cas, vaut il quand-même mieux allouer des morceaux de mémoire séparés auxquels accéderont les différents threads, ou une seule allocation d’un très gros tableau produit-elle le même résultat ? Je ne sais pas si ma question est assez claire, je dois avouer n’être pas du tout expert en architecture matérielle, et je n’ai pas de personne compétente accessible facilement. En tout cas, si vous avez des pistes, je serais ravi d’écouter vos conseils car je n’aurai pas vraiment l’occasion de jouer avec le cluster de calcul pour tâtonner et me faire ma propre expérience. Merci !

AltStyle によって変換されたページ (->オリジナル) /