Questions marquées «compiler-optimization»

L'optimisation du compilateur implique l'adaptation d'un compilateur pour réduire le temps d'exécution ou la taille de l'objet ou les deux. Cela peut être accompli en utilisant des arguments du compilateur (par exemple CFLAGS, LDFLAGS), des plugins de compilateur (DEHYDRA par exemple) ou des modifications directes du compilateur (comme la modification du code source).


12
Pourquoi GCC n'optimise-t-il pas a * a * a * a * a * a à (a * a * a) * (a * a * a)?
Je fais une optimisation numérique sur une application scientifique. Une chose que j'ai remarquée est que GCC optimisera l'appel pow(a,2)en le compilant a*a, mais l'appel pow(a,6)n'est pas optimisé et appellera en fait la fonction de bibliothèque pow, ce qui ralentit considérablement les performances. (En revanche, Intel C ++ Compiler , …

10
Le remplacement d'un compteur de boucles 32 bits par 64 bits introduit des écarts de performances fous avec _mm_popcnt_u64 sur les processeurs Intel
Je cherchais le moyen le plus rapide d'accéder à de popcountgrands tableaux de données. J'ai rencontré un effet très étrange : changer la variable de boucle de unsignedà a uint64_tfait chuter les performances de 50% sur mon PC. La référence #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* …



1
Pourquoi le compilateur Rust n'optimise-t-il pas le code en supposant que deux références mutables ne peuvent pas être alias?
Pour autant que je sache, l'alias de référence / pointeur peut entraver la capacité du compilateur à générer du code optimisé, car ils doivent garantir que le binaire généré se comporte correctement dans le cas où les deux références / pointeurs sont effectivement des alias. Par exemple, dans le code …

12
Comment compiler Tensorflow avec les instructions SSE4.2 et AVX?
Voici le message reçu lors de l'exécution d'un script pour vérifier si Tensorflow fonctionne: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened …




2
Pourquoi les lambdas peuvent-elles être mieux optimisées par le compilateur que les fonctions simples?
Dans son livre, The C++ Standard Library (Second Edition)Nicolai Josuttis déclare que les lambdas peuvent être mieux optimisées par le compilateur que les fonctions simples. De plus, les compilateurs C ++ optimisent les lambdas mieux que les fonctions ordinaires. (Page 213) Pourquoi donc? Je pensais qu'en matière d'inlining, il ne …


2
Limites de type Nat dans Shapeless
En informe, le type Nat représente un moyen d'encoder des nombres naturels à un niveau de type. Ceci est utilisé par exemple pour les listes de taille fixe. Vous pouvez même faire des calculs au niveau du type, par exemple ajouter une liste d' Néléments à une liste d' Kéléments …



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.