Kompilatory Fortran
From Centrum Komputerów Dużej Mocy, ICM Uniwersytet Warszawski
| Poradnik |
|---|
| Konto użytkownika • Poczta elektroniczna • Korzystanie z SSH • Systemy kolejkowe: PBS (Klaster halo2), LoadLeveler (BlueGene/P notos) |
| Programowanie |
| Kompilatory: C/C++, Fortran • Programowanie równoległe: OpenMP, MPI, UPC, CAF, SHMEM, pthreads • Biblioteki numeryczne: BLAS, LAPACK, FFTW |
| Optymalizacja |
| Uruchamianie i optymalizacja kodów na architekturze Blue Gene/P • Uruchamianie i optymalizacja kodów na halo2 |
| Krok po kroku |
| Logowanie do ICM (Windows) • Logowanie do ICM (UNIX) • MPI (Klaster halo2) • MPI (BlueGene/P notos) |
| Wszystkie "Krok po kroku" |
| Dokumentacja |
Na każdej maszynie obliczeniowej dostępny jest kompilator języka Fortran (77 i 90).
tornado
Na tornado zainstalowany jest standardowy kompilator języka Fortran firmy Cray.
Polecenie kompilacji to: ftn.
Najważniejsze opcje:
-
-O ssp,-O msp- wybór docelowego typu procesorów (SSP lub MSP). Domyślnie kompilowany na MSP. -
-On- n-ty poziom optymalizacji (n = 0, 1, 2, 3). -
-g- dodanie informacji dla debuggera (wyłącza niektóre optymalizacje). -
-r a- generowanie listingu (pliku.lst) z informacjami o przeprowadzonych optymalizacjach i zrównolegleniach.
Dozwolone rozszerzenia kompilowanego pliku to: .f .F .f90 .F90 .ftn .FTN.
Uwaga: rozszerzenie wpływa na zachowanie kompilatora:
- rozszerzenia z dużym "F" wywołują preprocesor,
- rozszerzenia
.f .Fzakładają, że plik źródłowy jest w postaci fixed form (kod od siódmej kolumny, styl Fortranu 77) - rozszerzenia
.f90 .F90 .ftn .FTNzakładają, że plik źródłowy jest w postaci free form (kolumny nie mają znaczenia, styl Fortranu 90)
halo
Na halo dostępne są komercyjne kompilatory firmy Portland Group. Z uwagi na architekturę procesorów AMD Opteron, kompilatory generują kod w wersjach 32- lub 64-bitowych. Aby użyć kompilatorów firmy Portland Group, należy najpierw wydać polecenie:
use_pgi
Polecenia kompilacji dla Fortran 77 i Fortran 90 to, odpowiednio: pgf77, pgf90.
Tryb 32- lub 64-bitowy wybiera się przy pomocy opcji kompilacji:
-
-tp k8-32to tryb 32-bitowy -
-tp k8-64to tryb 64-bitowy
Domyślnie generowany jest kod 64-bitowy.
