1

que je fais des calculs sur les valeurs contenues dans plusieurs grands conteneurs de vecteur STL dans une application intégrée à l'aide de C++/Linux/GCC/Windows XP/Intel compilateurvectoriser C++ code pour améliorer les performances STL

Est-ce worthwile enquête opprtunity d'optimisation avec la vectorisation en changeant les attributs d'aligment ou en utilisant les fonctions de la bibliothèque intel, etc. - ou le comipler fait-il automatiquement attention?

Répondre

0

Normalement, le compilateur s'en chargera avec les paramètres appropriés, vous devrez donc modifier un peu. Cela dit, si vous ciblez un matériel spécifique, vous feriez mieux de vous assurer que le compilateur tire parti de ce système. Par exemple, le compilateur Intel est connu pour être un excellent optimiseur pour leurs processeurs.

Maintenant, il est parfois bon de vectoriser manuellement. En fait, c'est comme toute optimisation: d'abord implémenter une version lisible simple avec un algorithme efficace. Puis optimisez le code en utilisant un profileur. Le profileur vous permettra de savoir où concentrer vos efforts. Si vous savez que vous aurez une fonction particulière et que vous avez de l'expérience avec le code généré (par le compilateur) pour ce genre de fonction, vous pouvez commencer à appliquer une optimisation dès le début, mais assurez-vous sait déjà ce qui sera généré.

Questions connexes