IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Taille maximale des tableaux


Sujet :

Fortran

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut Taille maximale des tableaux
    Bonjour,

    J'ai des soucis d'allocations de mémoire avec des tableaux.

    Pouvez vous me donner la taille maximale allouée à un tableau en fortran

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Par défaut
    a ma connaissance, on est plutôt limité par la mémoire de la machine...

    tu peux donner plus de détails sur ton problème ?

  3. #3
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Citation Envoyé par arthy Voir le message
    J'ai des soucis d'allocations de mémoire avec des tableaux.
    Quel genre de tableaux, automatiques ou dynamiques ?
    Si tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    integer, parameter :: NPD_LENGTH = 5000000
    double precision, dimension(NPD_LENGTH) :: my_array
    tu vas depasser la taille de la pile dans laquelle les variables automatiques sont normalement placees. La taille de la pile peut varier de quelques kilos a plusieurs mega suivant les machines et est parfois reglable.

    Pour contourner la taille limitee de la pile, les tableaux d'une certaine taille sont alloues dynamiquement (ce qui les cree hors de la pile, sur le tas).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    double precision, allocatable :: my_array(:)
    ...
    allocate(my_array(NPD_LENGTH))
    ...
    deallocate(my_array)

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    Bien qu'ayant travaillé avec de très gros tableaux, je n'ai jamais trouvé de limite absolue. Si les tableaux sont très gros, le programme se met à "swapper" sur disque et devient terriblement lent.

    Jean-Marc Blanc

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut
    Merci Dazumba

    J'essaye tout de suite avec la fonction allocate

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    le probleme d allocation dynamique est resolu en fortran 90, mais (pour moi par exemple) , comment eviter les problemes des gros tableaux (provenant de la discretisation des edp) en F77?

  7. #7
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Bonjour à tous.

    les problemes des gros tableaux
    Il est évident qu'on ne peut pas stocker dans la mémoire vive plus de données qu'elle ne peut en contenir (Jacques II de Chabannes de La Palice dixit!). Si on a vraiment besoin de plus de mémoire, deux stratégies sont possibles:
    1. Laisser faire le système d'exploitation; par exemple, comme je l'ai écrit dans une précédente réponse, Windows "swappe" sur disque des pans entiers de mémoire.
    2. Gérer soi-même et optimiser les transferts sur disque, de manière à minimiser plus le nombre de transferts que leur volume

    J'ai personnellement eu à plusieurs reprises l'occasion d'écrire des programmes d'éléments finis et j'ai fait en sorte que la matrice soit tridiagonale par blocs. Ainsi j'ai pu traiter à l'époque des problèmes allant jusqu'à 3000 équations à 3000 inconnues sur une IBM7040 en ne disposant que de l'équivalent de 128 kiB.

    Jean-Marc Blanc

Discussions similaires

  1. Taille maximale des tableaux
    Par elieto dans le forum Mathématiques
    Réponses: 2
    Dernier message: 19/03/2009, 23h41
  2. [CKEditor] taille maximale des fichiers uploadés
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 03/12/2006, 11h38
  3. Modification de la taille maximale des filesystem?
    Par djoodjoo555 dans le forum Administration système
    Réponses: 8
    Dernier message: 29/07/2006, 10h43
  4. Réponses: 9
    Dernier message: 29/07/2003, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo