Bonjour, bonsoir le forum,
ce post fait suite à ces autres : http://www.developpez.net/forums/d13...n-c-voire-cpp/ et http://forum.ubuntu-fr.org/viewtopic.php?id=1310981, où je demandais quel langage de programmation choisir entre le fortran et le C voire le C++. J'ai finalement choisi de coder en fortran, parce que c'est le langage que je connais le mieux, et que j'envisage par la suite que la plupart du travail soit effectuée en parallèle sur plusieurs processeurs. (il y a des serveurs de calcul qui tournent déjà sur quarante proc's dans ma boite, pour d'autres applications)
Le travail en question est la traduction d'un fichier d'entrée d'environ deux millions de lignes, en une suite de valeurs numériques déterminées d'après les informations de chaque ligne, et avec d'autres infos que l'on récupère dans deux autres fichiers d'entrée de quelques centaines de lignes chacun; on m'a informé sur ce forum ou sur celui de linux-ubuntu où j'ai exposé le problème aussi, que le travail en question s'apparentait à un "jointure" de bases de données.
La première fois où le programme a tourné correctement jusqu'au bout, il a mis environ vingt minutes; suite aux discussions sur les forums, j'en suis arrivé à deux minutes environ (en améliorant sensiblement la logique de l'algo et les I/O), et aujourd'hui vendredi, en passant d'une vieille HP9000 à bout de souffle, à un bon PC sous linux avec un (seul) processeur itanium, j'en suis à 21 secondes.
Petite question, j'utilise Gfortran pour compiler mon programme, et il râle quand des indices de tableaux sont eux-mêmes des variables indicées.
Par exemple, je ne peux pas utiliser Ccvt1(iFScvt, M(iFScvt), T(iFScvt)), mais je dois passer par des variables intemédiaires,Mtmp=M(iFScvt), et Ttmp=T(iFScvt), pour pouvoir finalement accéder à Ccvt1(iFScvt, Mtmp , Ttmp). Y a-t'il un moyen de contourner cela ?
Merci de me donner toutes les idées, même farfelues, que vous inspire ce post', car n'étant pas informaticien mais mécanicien (en calcul de structures), mon imagination et mes connaissances sont assez pauvres dans ces domaines,
merci encore,
Partager