Bonjour,
Je suis en train de decouvrir l'ecriture de ses propres operator new et delete sur la base de "Efficient C++: Performance Programming Techniques". A terme, c'est pour servir dans un code de calcul qui tournera sur differents types de machines paralleles, utilisant MPI et a terme OpenMP en plus. J'ai deux "petites" questions :
1) les auteurs proposent, pour ds objets de taille constante, de reserver une taille memoire grace a sizeof(objet) mais ils ne disent rien des problemes d'alignement en memoire : est-ce que la taille calculee par sizeof a de fait le bon gout de fournir des objets correctement alignes ? sinon, j'imagine qu'on peut perdre du temps au lieu d'en gagner...
2) A quoi convient-il d'etre attentif pour developper un code compatible OpenMP ? Notamment, y a-t-il des risques si on reserve un morceau de memoire et que differents bouts du calcul OpenMP creent/detruisent dans la meme zone ? Est-ce seulement le cas ? Je ne connais pas du tout OpenMP pour le moment, mais il serait bon de ne pas trop se planter a ce stade histoire de ne pas avoir a tout reecrire quand on s'y mettra... d'ou mon appel a l'aide
Merci beaucoup
Hugo
Partager