Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

soft_programmation_en_fortran_au_centre_de_calcul [2016/12/05 14:43]
127.0.0.1 modification externe
soft_programmation_en_fortran_au_centre_de_calcul [2016/12/16 10:15]
Ligne 1: Ligne 1:
-Modifié par Toukourou, le 07 Nov 2016\\ 
-\\ 
- 
-====== SOFT: programmation en Fortran au Centre de Calcul ====== 
- 
-\\ 
-\\ 
- 
-===== 1. Fortran 77  ===== 
- 
-Les utilisateurs du Centre de Calcul disposent de plusieurs compilateurs du langage Fortran 77 pour compiler leur programmes. ​ 
-==== 1.1. Compilateur g77 (GNU)  ==== 
- 
-g77 est un compilateur fourni avec le systeme Linux. Il a été développé par [[http://​www.gnu.org|GNU]] . Pour compiler avec ce compilateur,​ il faut utiliser la commande **g77** (ou un **f77** ). Pour connaître les options du compilateur,​ il faut consulter: 
-<​code>​ 
-> man g77 
-</​code>​ 
-Compilation d'un programme //test.f// et construction d'un fichier //test.o// : 
-<​code>​ 
-> g77 -O -c test.f 
-</​code>​ 
-Si votre programme utilise les routines présentes dans la bibliothèque CERN ( [[:​la_cernlib_au_centre_de_calcul|CERNLIB]] ), il faut utiliser la commande **cernlib** pour donner au compilateur les noms de bibliothèques. Voici les commandes pour compiler, créer le module exécutable et exécuter le programme //test// : 
-<​code>​ 
-> g77 -O -o test  test.f ​ `cernlib` -lm 
-> ./test 
-</​code>​ 
-**Attention:​** il faut entourer la commande **cernlib** par des accents graves !  
-==== 1.2. Compilateur pgf77 (Portland Group) ​ ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 77 fourni par [[:​compilateurs_pgi_au_centre_de_calcul|PGI]] (Portland Group). Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **pgi_env** (pgi_env32 en mode compatibilité 32 bit). Pour consulter les options de la commande **pgf77** , faites: 
-<​code>​ 
-> pgi_env 
-> man pgf77 
-</​code>​ 
-Pour consulter la documentation complète de ce produit, [[:​compilateurs_pgi_au_centre_de_calcul|cliquez]] ici.\\ 
-\\ 
-Voici un exemple de compilation:​ 
-<​code>​ 
-> pgi_env 
-> pgf77 -O -c test.f 
-</​code>​ 
-Si vous voulez faire l'​édition des liens (linker) et exécuter votre programme avec la bibliothèque CERN ( [[:​la_cernlib_au_centre_de_calcul|CERNLIB]] ), il faut ajouter la bibliothèque **libg2c.a** fournie avec le compilateur **g77** avec laquelle la **CERNLIB** a été compilé. La même remarque est valable pour les bibliothèques compilées avec **g77** (comme la bibliothèque [[ge_submit_a_job_qsub|NAG]] par exemple). 
-<​code>​ 
-> pgi_env 
-> set g2c = '​-lg2c'​ 
-> pgf77 -O -o test  test.f ​  ​`cernlib` ​ -lm ${g2c} 
-> ./test 
-</​code>​ 
- 
-==== 1.3. Compilateur ifort (INTEL) ​ ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 77 fourni par [[:​compilateurs_intel_au_centre_de_calcul|INTEL]] . Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **ifort_env** . Pour consulter les options de la commande **ifort** , faites: 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> man ifort 
-</​code>​ 
-Pour consulter la documentation complete de ce produit, [[:​compilateurs_intel_au_centre_de_calcul|cliquez]] ici.\\ 
-\\ 
-Voici un exemple de compilation:​ 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> ifort -O -c test.f 
-</​code>​ 
-Si vous voulez faire l'​édition des liens (linker) et exécuter votre programme avec la bibliothèque CERN ( [[:​la_cernlib_au_centre_de_calcul|CERNLIB]] ), il faut ajouter la bibliothèque **libg2c.a** fournie avec le compilateur **g77** avec laquelle la **CERNLIB** a été compilé. La même remarque est valable pour les bibliothèques compilées avec **g77** (comme la bibliothèque [[ge_submit_a_job_qsub|NAG]] par exemple). 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> set g2c = '​-lg2c'​ 
-> ifort -O -o test  -nofor_main ​ test.f ​ `cernlib` ​ -lm  ${g2c} 
-> ./test 
-</​code>​ 
-Il y a aussi possibilité d'​utiliser le deboguer et le profiler avec les noms: **pgdbg** et **pgprof** . 
-===== 2. Fortran 90  ===== 
- 
- 
-==== 2.1. Compilateur pgf90 (Portland Group) ​ ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 90 fourni par [[:​compilateurs_pgi_au_centre_de_calcul|PGI]] (Portland Group). Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **pgi_env** . Pour consulter les options de la commande **pgf90** , faites: 
-<​code>​ 
-> pgi_env 
-> man pgf90 
-</​code>​ 
-Pour consulter la documentation complète de ce produit, [[:​compilateurs_pgi_au_centre_de_calcul|cliquez]] ici.\\ 
-\\ 
-Voici un exemple de compilation:​ 
-<​code>​ 
-> pgi_env 
-> pgf90 -O -c test.f90 
-</​code>​ 
- 
-==== 2.2. Compilateur ifort (INTEL) ​ ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 90 fourni par [[:​compilateurs_intel_au_centre_de_calcul|INTEL]] . Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **ifort_env** . Pour consulter les options de la commande **ifort** , faites: 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> man ifort 
-</​code>​ 
-Pour consulter la documentation complete de ce produit, [[:​compilateurs_intel_au_centre_de_calcul|cliquez]] ici.\\ 
-\\ 
-Voici un exemple de compilation:​ 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> ifort -O -c test.f90 
-</​code>​ 
-===== 3. Fortran 95  ===== 
- 
- 
-==== 3.1. Compilateur g95 (GNU)  ==== 
- 
-g95 est un compilateur qui a été développé par **[[http://​www.gnu.org|GNU]] . Pour compiler avec ce compilateur,​ il faut utiliser la commande [[http://​www.g95.org|g95]]** .\\ 
-\\ 
-Ce compilateur est installe dans /​usr/​local/​g95. 
-^                  ^Linux SL4 32 bits^Linux SL4 64 bits^Linux SL3^ 
-|/​usr/​local/​bin/​g95|0.91 ​            ​|0.91 ​            ​|? ​       | 
- 
- 
-==== 3.2. Compilateur f95 (NAG)  ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 95 fourni par **NAG** . Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **f95_env** . Pour consulter les options de la commande **[[compilateur_f95_de_nag_au_centre_de_calcul|f95]]** , faites: 
-<​code>​ 
-> f95_env 
-> man f95 
-</​code>​ 
- 
-==== 3.3. Compilateur pghpf (Portland Group) ​ ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 95 (et HPF) fourni par [[:​compilateurs_pgi_au_centre_de_calcul|PGI]] (Portland Group). Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **pgi_env** . Pour consulter les options de la commande **pghpf** , faites: 
-<​code>​ 
-> pgi_env 
-> man pghpf 
-</​code>​ 
-Pour consulter la documentation complète de ce produit, [[:​compilateurs_pgi_au_centre_de_calcul|cliquez]] ici.\\ 
-\\ 
-Voici un exemple de compilation:​ 
-<​code>​ 
-> pgi_env 
-> pghpf -O -c test.hpf 
-</​code>​ 
- 
-==== 3.4. Compilateur ifort (INTEL) ​ ==== 
- 
-Le Centre de Calcul dispose d'un certain nombre de licences flottantes (via FlexLM) pour l'​utilisation du compilateur Fortran 95 fourni par [[:​compilateurs_intel_au_centre_de_calcul|INTEL]] . Pour compiler votre code source avec ce compilateur,​ il faut initialiser l'​environnement par la commande **ifort_env** . Pour consulter les options de la commande **ifort** , faites: 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> man ifort 
-</​code>​ 
-Pour consulter la documentation complete de ce produit, [[:​compilateurs_intel_au_centre_de_calcul|cliquez]] ici.\\ 
-\\ 
-Voici un exemple de compilation:​ 
-<​code>​ 
-> ifort_env <​arch>​ 
-arch = ia32 ou intel64 
-> ifort -O -c test.f90 
-</​code>​ 
-===== 4. Création d'une librairie statique à partir de fichiers objets ​ ===== 
- 
-<​code>​ 
-> ar –rv libmylib.a prog1.o prog2.o … 
-</​code>​ 
-–r : permet ajout et le remplacement de fichiers objets dans la librairie\\ 
--v : verbose, indique les fichiers ajoutés et ceux remplacés 
- 
  
  • soft_programmation_en_fortran_au_centre_de_calcul.txt
  • Dernière modification: 2016/12/16 10:15
  • (modification externe)