- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I have some problems getting loop unrolling to function.
Using for example the options for a simple dot product routine
-QxW -Qunrolln
the compiler always appears to unroll 4 times (actually 8 since
double values are loaded) regardless of n, except in the case n=0 which does not unroll.
Without SSE specification, i.e.
-O3 -Qunroll
nothing apparently happens! -Qunroll0 and -Qunroll4 gives identical code.
I am using the latest version of the compiler, and I have tried many 'unroll'-variants with and without : (the documentation is not quite consistent)
Michael
Using for example the options for a simple dot product routine
-QxW -Qunrolln
the compiler always appears to unroll 4 times (actually 8 since
double values are loaded) regardless of n, except in the case n=0 which does not unroll.
Without SSE specification, i.e.
-O3 -Qunroll
nothing apparently happens! -Qunroll0 and -Qunroll4 gives identical code.
I am using the latest version of the compiler, and I have tried many 'unroll'-variants with and without : (the documentation is not quite consistent)
Michael
- Balises:
- Intel® Fortran Compiler
Lien copié
1 Répondre
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
In the current version of the IA-32 compiler, you need to use one of the Qx switches to get loop unrolling in conjunction with -O3. My understanding is that this will no longer be required in a future version.
Répondre
Options du sujet
- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable