Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 03/08/2011, à 02:02

Le Farfadet Spatial

Re : optimisation programme fortran

Salut à tous !

Autiwa a écrit :

Je souhaitais simplement clarifier un peu le code (parce qu'au final, mco_iden n'utilise que les variables x et v en entrée, et xh0 et vh0 en sortie, pour faire un recopiage de x et v dans xh0 et vh0 à l'aide d'une boucle.

   Du coup, un nom plus clair et supprimer les paramètres inutiles peut-être une bonne chose.

Je n'ai pas remodifié le code, et appliquer cette optimisation me prendrait pour l'instant beaucoup trop de temps. Je l'ai notée dans un coin de ma tête et je modifie quand je passe devant un bout de code qui peut l'être.

   J’ai une nouvelle qui va te faire plaisir : l’optimisation c’est long, tordu et ça rend le code moins lisible.

   Cela dit, je pense que tu devrais commencer par ça, car cette astuce pourrait éventuellement permettre de faciliter la vie du compilateur.

Je crois avoir compris. En gros, je réorganise les lignes de codes pour qu'il y en ait un maximum qui soit indépendantes entre elles. Dans la pratique, je rajoute des lignes commentées vides !---------- entre chaque groupe d'instructions totalement indépendantes.

   Cela n’a rien à voir avec l’alignement dans les caches. Cette astuce permet de rendre le code plus aisément parallélisable – cela a aussi des avantages sur une architecture superscalaire. Ce n’est pas vraiment la première chose que je ferais, mais c’est sans doute l’astuce la plus facile à mettre en œuvre – toutefois, elle ne donnera sans doute pas beaucoup de résultat, car le compilateur est généralement capable de le faire lui-même.

   Les lignes de commentaires n’ont rien à voir avec de l’optimisation. Éventuellement, elles peuvent améliorer la lisibilité. En Fortran 90, tu peux également placer des lignes vides. Personnellement, j’aime bien les lignes vides, ça aère le code.

   À bientôt.

Le Farfadet Spatial

Hors ligne

#27 Le 03/08/2011, à 08:21

Autiwa

Re : optimisation programme fortran

Les lignes de commentaires n’ont rien à voir avec de l’optimisation. Éventuellement, elles peuvent améliorer la lisibilité. En Fortran 90, tu peux également placer des lignes vides. Personnellement, j’aime bien les lignes vides, ça aère le code.

Je sais bien que ça ne change rien au code, c'est le principe du commentaire, c'est juste qu'en séparant les blocs indépendants, c'est plus facile de suivre le calcul. Il faudra que je relise la page 44 aloors, vu que je ne semble pas avoir compris ce qu'étais l'alignement du cache.

J’ai une nouvelle qui va te faire plaisir : l’optimisation c’est long, tordu et ça rend le code moins lisible.

Je cherchais avant tout à comprendre pourquoi

xh0(:,:) = x(:,:)
vh0(:,:) = v(:,:)

ralenti énormément le code. (ce qui a énormément freiné mes envies d'optimisation).

Je n'ai pas le temps matériel de reprendre intégralement le code pour optimiser un peu. D'un point de vue professionnel, ce n'est pas justifiable. Par contre, connaître ces astuces me permet d'en tenir compte pour les lignes de code que je rajoute. La partie que je suis censée écrire va prendre en effet quasiment autant de temps que l'intégralité du code original, donc autant que j'écrive les choses proprement.

Dernière modification par Autiwa (Le 03/08/2011, à 08:22)


Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.

Hors ligne

#28 Le 03/08/2011, à 20:44

Le Farfadet Spatial

Re : optimisation programme fortran

Salut à tous !

Autiwa a écrit :

Je cherchais avant tout à comprendre pourquoi

xh0(:,:) = x(:,:)
vh0(:,:) = v(:,:)

ralenti énormément le code. (ce qui a énormément freiné mes envies d'optimisation).

   Énormément, je n’ai pas assez de code pour le déterminer. Mais en tout cas il faut voir que d’une manière ou d’une autre, il faut déterminer les limites du tableau et il n’est pas forcément évident de le faire de manière optimal. Lorsque la taille est donnée par l’utilisateur, il est plus facile d’optimiser le code.

   À bientôt.

Le Farfadet Spatial

Hors ligne

#29 Le 04/08/2011, à 20:48

Le Farfadet Spatial

Re : optimisation programme fortran

Salut à tous !

Autiwa a écrit :

Par contre, connaître ces astuces me permet d'en tenir compte pour les lignes de code que je rajoute.

   Au passage, avant d’utiliser des astuces qui mettent à mal la lisibilité du code et qui peuvent le rendre incorrecte, attache-toi à produire un code juste et à sélectionner le meilleur algorithme possible.

   À bientôt.

Le Farfadet Spatial

Hors ligne