Intel Fortran Compiler

...IDE, compilers, κλπ

Συντονιστής: konnn

Intel Fortran Compiler

Δημοσίευσηαπό fivos » 07 Απρ 2009, 22:47

Γειά σε όλους,
Πρόσφατα έβαλα linux ubuntu 64 - bit στο pc μου και θα ήθελα να χρησιμοποιήσω έναν compiler της fortran στο linux. Ψάχνοντας βρήκα ότι η Intel δίνει δωρεάν τον compiler της για linux (υπό την προυπόθεση ότι δεν θα χρησιμοποιηθεί για εμπορικές εφαρμογές) και τον κατέβασα για να τον εγκαταστήσω. Έτρεξα το αρχείο της εγκατάστασης που ανοίγει στο terminal ακολούθησα τα βήματα, μέχρι που το πρόγραμμα της εγκατάστασης μου είπε ότι δεν έχω κάποιες libraries και κατά συνέπεια δεν μπορώ να εγκαταστήσω τον compiler. Συγκεκριμένα λέει :

32-bit libraries not found on this system.
This product release requires the presence of 32-bit compatibility libraries
when running on Intel(R) 64 architecture systems. One or more of these libraries
could not be found:
libstdc++
libstdc++5
glibc
libgcc
Without these libraries, the compiler will not function properly. Please refer
to Release Notes for more information.

Τώρα ψάχνοντας στο synaptic, στο internet και χρησιμοποιώντας την εντολή sudo apt-get install :

- Την βιβλιοθήκη libstdc++ δεν βρίσκω ούτε στο synaptic, ούτε με το sudo apt--get install.

-Την βιβλιοθήκη libstdc++5 την έχω όπως φαίνεται στο synaptic.

-Την βιβλιοθήκη glibc την βρήκα στο synaptic μόνο σε source μορφή.

-Τέλος την βιβλιοθήκη libgcc δεν την βρίσκω στο synaptic (βρήκα μόνο την libgcc1, την οποία και έχω αλλά δεν νομίζω ότι είναι αυτή που χρειάζεται).

Έχει εγκαταστήσει κάποιος αυτόν τον compiler στο PC του? Θα μπορούσε να μου πει πως μπορώ να βρω τις βιβλιοθήκες που χρειάζοναι?

Ευχαριστώ
Γνώσεις ⇛ Linux: Xαμηλό ┃ Προγραμματισμός: Ναι (Fortran, C)┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 8.10 x64 / Windows XP x32
Προδιαγραφές PC ⇛ i7 950 3.06GHz│Μνήμη 12 GB | P6T WS Revolution│ GTX480
fivos
babeTUX
babeTUX
 
Δημοσιεύσεις: 28
Εγγραφή: 26 Μαρ 2009, 10:47
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό Dimitris » 07 Απρ 2009, 22:52

Δυστυχώς δε θα απαντήσω στο ερώτημά σου αλλά υπάρχει ο gfortran GNU compiler στα αποθετήρια και μπορείς να κατεβάσεις και τον g95.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό linuxman » 08 Απρ 2009, 00:06

Δες εδώ νομίζω ότι αυτό ψάχνεις http://ubuntuforums.org/showthread.php?t=89571
Οδηγίες προς Νεοεισερχόμενους
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Linux Mint 17.1 Rebecca 3.13.0-37-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
3 Intel Core i5-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
4 Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116] {i915}
5 wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
http://www.greeklug.gr
Άβαταρ μέλους
linuxman
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10378
Εγγραφή: 10 Μάιος 2008, 20:41
Τοποθεσία: Thessaloniki / Macedonia / Greece
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό fivos » 08 Απρ 2009, 20:27

Linuxman ευχαριστώ πολύ καλή η διεύθυνση. Για την ακρίβεια δεν μου έκανε το συγκεκριμένο post καθώς αφορούσε compiler 9.0, ενώ αυτός που κυκλοφορεί τώρα είναι ο 11.0.083. Παρ' όλα αυτά βρήκα σε άλλο post στην ίδια σελίδα οδηγίες για τον τελευταίο compiler, που με ενδιαφέρει. Η σελίδα είναι η http://ubuntuforums.org/showthread.php? ... rtran+11.0 , αφορά την έκδοση 11.0.081, όπου ακολουθώντας την διαδικασία μπορεί ο οποιοσδήποτε να εγκαταστήσει τον compiler στο pc του, μόνο που στο τέλος για την τροποποίηση του bashrc το 081 θα πρέπει να γίνει 083 ή ότι άλλο μπορεί να είναι η έκδοση του compiler.

Κάτι άλλο ο compiler τρέχει μια χαρά σειριακά, αλλά αν δοκιμάσω να τρέξω ένα πρόγραμμα παράλληλα με openMP μου βγάζει segmentation fault. Ψάχνοντας βρήκα ότι για αυτό φταίει το stacksize (??) και εν πάσει περιπτώση διορθώνεται με την εντολή
ulimit -s unlimited . Με αυτόν τον τρόπο τρέχει παράλληλα προγράμματα (και δουλεύουν και οι 8 CPU που κάθονται :D ). Ωστόσο είδα ότι αυτή η εντολή είναι προσωρινή, δηλ. εάν αλλάξω φάκελο και κάνω compile πηγαίο κώδικα από αλλού θα πρέπει να ξαναδώσω την εντολή. Υπάρχει τρόπος να απελευθερώσω το stacksize μια και καλή αντί να πατάω συνέχεια την εντολή?
Και πάλι ευχαριστώ για την βοήθεια.
Γνώσεις ⇛ Linux: Xαμηλό ┃ Προγραμματισμός: Ναι (Fortran, C)┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 8.10 x64 / Windows XP x32
Προδιαγραφές PC ⇛ i7 950 3.06GHz│Μνήμη 12 GB | P6T WS Revolution│ GTX480
fivos
babeTUX
babeTUX
 
Δημοσιεύσεις: 28
Εγγραφή: 26 Μαρ 2009, 10:47
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό Dimitris » 08 Απρ 2009, 20:59

Και επιμένω και η gfortran υποστηρίζει openmp!!!

To πρόβλημα με το stacksize είναι άσχετο με το οpenmp. Aκόμη και σε ένα επεξεργαστή μπορεί να έχεις πρόβλημα με το stack. To να ανεβάζεις το stack limit γενικά δεν είναι λύση. Μάλλον θα πρέπει να αλλάξεις τον αλγόριθμο.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό fivos » 08 Απρ 2009, 22:28

Ο πηγαίος κώδικας που χρησιμοποίησα στο pc μου (και μου έβγαλε το θέμα του segmentation fault στην παράλληλη επεξεργασία) έχει ήδη δοκιμαστεί σε άλλους υπολογιστές με linux red hat και με τον ίδιο compiler (intel fortran 11 - γι' αυτό και ήθελα τον συγκεκριμένο compiler γιατί πάνω κάτω τον έχω δοκιμάσει και ψιλοξέρω κάποια ορίσματά του) και εκεί δεν εμφανίζεται κανένα πρόβλημα segmentation. Άρα δεν νομίζω ότι φταίει τόσο ο κώδικας όσο κάποιες ρυθμίσεις του pc μου. Στο κάτω κάτω ο κώδικας είναι κώδικας ρευστομηχανικής, τροποποιημένος για παράλληλη επεξεργασία, δεν μπορώ να καταλάβω τι θα μπορούσα να του αλλάξω για να μην εμφανίζει αυτό το σφάλμα (πέραν ίσως του αριθμού των threads και τις private μεταβλητές?).
Τώρα όσον αφορά το openmp και το stacksize στο βιβλίο Using OpenMP Portable Shared Memory Parallel Programming λέει ότι :

Note that each thread’s stack has a fixed amount of space. If the programmer
does not specify its size, the compiler will arrange for an implementation-dependent
default amount of memory to be allocated per thread when they are started up.
Since it may need to hold copies of a considerable amount of data including the
private variables of all the procedures active at any given time, the stack can grow
quickly and may exceed the space reserved for it. As a result, it may be necessary to
increase the thread stacksize
. The programmer should consult the documentation
to find out how to do so.

Άρα νομίζω πως μάλλον υπάρχει μια ιδιαίτερη ευαισθησία του stacksize στο openmp. Τουλάχιστον αυτό πιστεύω από την (σχετικά λίγη) εμπειρία μου πάνω στο θέμα. Οποιοδήποτε σχόλιο είναι ευπρόσδεκτο.
Γνώσεις ⇛ Linux: Xαμηλό ┃ Προγραμματισμός: Ναι (Fortran, C)┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 8.10 x64 / Windows XP x32
Προδιαγραφές PC ⇛ i7 950 3.06GHz│Μνήμη 12 GB | P6T WS Revolution│ GTX480
fivos
babeTUX
babeTUX
 
Δημοσιεύσεις: 28
Εγγραφή: 26 Μαρ 2009, 10:47
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό Dimitris » 09 Απρ 2009, 12:33

Θα πρέπει να ορίσεις το stacksize στο compiler και όχι στο shell. Eπίσης αν μπορείς μείωσε το πλήθος των private μεταβλητών, γιατί αυτές πηγαίνουν στο stack.

Διάβασε εδώ κάποια πράματα http://docs.sun.com/source/819-0501/5_compiling.html για sun compiler και εδώ https://computing.llnl.gov/tutorials/openMP/ (βλ. μεταβλητή STACKSIZE και OMP_STACKSIZE αντιστοιχα)
Aντιστοιχα ο intel compiler πρέπει να έχει μια μεταβλητή περιβάλλοντος, η οποία επηρεάζει το stacksize. Αντι να το τροποποιήσεις από το shell με την εντολή ulimit, τροποποίησε αυτή τη μεταβλητη (πρέπει να ψάξεις ποια είναι για τον intel compiler). Τότε θα μπορείς να την ορίσεις στο .bashrc και κάθε φορά που θα ανοίγεις ένα shell θα ορίζεται και αυτή.

ΥΓ. Ποιο πρόγραμμα χρησιμοποιείς για ρευστομηχναική, αν επιτρέπεται φυσικά;
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό fivos » 09 Απρ 2009, 14:28

Ευχαριστώ είχα ξεχάσει την εντολή OMP_STACKSIZE του OpenMP για την ρύθμιση του stacksize.
Τώρα για την μείωση των μεταβλητών private δύσκολο μου φαίνεται, τις έχω μειώσει κατά όσο το δυνατό μπορούσα. Αλλά έτσι είναι στην παράλληλη επεξεργασία, είτε ρίχνεις την απόδοση και κατά συνέπεια την ταχύτητα των υπολογισμών, είτε αυξάνεις τις απαιτήσεις της μνήμης. Εγώ επί του παρόντος θα προτιμήσω το δεύτερο καθώς έχω αρκετή...
Τώρα όσον αφορά το πρόγραμμα ρευστομηχανικής που τρέχω είναι δικό μου φτιαγμένο σε γλώσσα Fortran (γι' αυτό και ο compiler) και αφορά μια νέα σχετικά, μη-πλεγματική μέθοδο (Smoothed particle hydrodynamics αν έχεις ακούσει). Αυτή η μέθοδος έχει την δυνατότητα εύκολου και αποτελεσματικού παραλληλισμού, με πολύ μεγάλη απόδοση (το να τρέχει το πρόγραμμα σε 8 CPU υπο-οκταπλασιάζει περίπου τον απαιτούμενο χρόνο). Γι' αυτό θέλω και να λειτουργεί το OpenMP και στο μέλλον θα ασχοληθώ (ελπίζω) και με MPI, για χρήση σε cluster και όχι μόνο σε ένααν πολυπύρηνο υπολογιστή. Αλλά εκτός αυτού θα χρησιμοποιήσω και το OpenFOAM για σύγκριση των αποτελεσμάτων και έχω ψιλοxρησιμοποιήσει το Fluent+Gambit.
Γνώσεις ⇛ Linux: Xαμηλό ┃ Προγραμματισμός: Ναι (Fortran, C)┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 8.10 x64 / Windows XP x32
Προδιαγραφές PC ⇛ i7 950 3.06GHz│Μνήμη 12 GB | P6T WS Revolution│ GTX480
fivos
babeTUX
babeTUX
 
Δημοσιεύσεις: 28
Εγγραφή: 26 Μαρ 2009, 10:47
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό Dimitris » 09 Απρ 2009, 14:47

Ωραία, καλή επιτυχία τότε. Για τη smoothed particle hydrodynamics δεν έχω ακόυσει (με πεπερασμένα στοιχεία ασχολούμαι).
Για δημιουργία πλέγματος μπορείς να ρίξεις μια ματιά στο netgen (υπάρχει στα αποθετήρια), αν δεν το ξέρεις ήδη (αν και δεν πρόκειται να το χρειαστείς μιας και έχεις μη-πλεγματική (ωραία λέξη για το mesh-free!!) μέθοδο, αλλά κάπου είδα να αναφέρεις το gambit).
Τέλος, θα σε ενθάρρυνα να βγάλεις τον κώδικα ύπο κάποια ελεύθερη άδεια, αν φυσικά δεν έχεις περιορισμούς από ανωτέρους.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Intel Fortran Compiler

Δημοσίευσηαπό fivos » 09 Απρ 2009, 22:16

Σε ευχαριστώ, θα έχω υπ’ όψιν μου αυτά που μου είπες.
Γνώσεις ⇛ Linux: Xαμηλό ┃ Προγραμματισμός: Ναι (Fortran, C)┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 8.10 x64 / Windows XP x32
Προδιαγραφές PC ⇛ i7 950 3.06GHz│Μνήμη 12 GB | P6T WS Revolution│ GTX480
fivos
babeTUX
babeTUX
 
Δημοσιεύσεις: 28
Εγγραφή: 26 Μαρ 2009, 10:47
Εκτύπωση

Επόμενο

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού