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

MATLAB Discussion :

Passer en 64 bits


Sujet :

MATLAB

  1. #1
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut Passer en 64 bits
    Bonjour,

    petite question pour les 64 bitards
    vous trouvez une amélioration sur la mémoire ?
    là en ce moment je suis souvent confronté à des matrices trop grosses du coup je me pose la question de passer en 64 bits
    j'ai une licence R2011b
    et un intel core i5 2400 cpu avec 3.16Go de RAM

    j'y gagnerais ? qu'en pensez vous ?

    Merci
    Fab

    edit : je suis sous windows XP

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Quelle est la taille de tes matrices ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    peut pas te répondre exactement (pb de licence matlab suite à changement d'identifiants dans ma boite) mais en gros 300 000 * 60

    pour info c'est issu de simulink, simulation à pas variable, d’où le gros nombre de lignes

    en gros je charge des données (pas lourd, quelques structure)
    puis je fais une simulation à pas variable sur 2000s (pas moyen ~ 0.007s) -> 300 000 lignes avec une discrétisation de mon système en 60 éléments -> 60 colonnes
    puis en matlab j'affiche des graph

    en gros j'aimerais discrétiser un peu plus mon système, et pouvoir faire des simulation plus longues (3000s, 4000s) mais là ça pète dans simulink

    aussi si j'affiche trop de graphiques, ça pète

    j'ai déjà bien améliorémon environnement :
    avant je faisais pas mal de traitements (cad calcul matriciels type addition) dans matlab, maintenant je les fait directement dans simulink afin de limiter le nombre de tableaux
    avant tout les posts traitement étaient dans des scripts, maintenant c'est bien encapsulé dans des fonctions afin de pas surcharger la mémoire pour rien et surtout la libérer en sortie de fonction

    mais bon, je suis quand même limité par le système

    pour info, ce sont des simulations d'écoulement d'eau à surface libre

    Fab

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Une matrice ne fait "que" 137 Mo (300000*60*8/1024/1024)

    Combien en utilises-tu à la fois ?
    Que fais-tu avec ces matrices ?

    Il faudrait savoir ce que renvoi MEMORY sur ta machine.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    désolé j'ai fais un edit pendant que tu répondais

    j'avais fait un memory juste après une simu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Maximum possible array:           143MB 
    Memory available for all arrays: 650MB 
    Memory used by MATLAB:            740MB
    j'étais en train d'en refaire un avant simu (donc juste après lancement matlab) mais comme j'ai fermé ma session windows et que je me suis apercu en la réouvrant que mon nom d'utilisateur avait changé, je n'ai plus accès à matlab tant que mon administrateur ne me génére pas un nouveau fichier de licence

    sinon je suis souvent confronté à des problèmes de mémoire quand j'enchaine d'autre simus, les clear all ne nettoyant pas vraiment la mémoire
    je suis donc souvent obligé de fermer puis ré ouvrir matlab

    d'ou mon questionnement sur une architecture 64 bits
    (surtout que là et pour la première fois je suis confronté à un problème de mémoire dans simulink ou il n'arrive pas à construire les signaux loggués (ToWorkspace) !)

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    OK

    La solution rapide est donc bien de passer en 64bits et au passage d'augmenter la quantité de RAM.
    De toute façon, le 64bits est standard aujourd'hui et le prix de la RAM n'est pas très élevé.

    En attendant, je peux te proposer quelques pistes pour patienter

    1) As-tu essayé avec le switch /3Gb de Windows
    => How can I increase the memory allocated to MATLAB 7.3 (R2006b) process on 32-bit Windows XP, Windows Vista, and Windows 7?
    Cela devrait te donner un peu d'air.

    2) Lorsque MATLAB affiche un graphique à partir d'une variable, la quantité de mémoire nécessaire est doublée par rapport à celle de la variable.
    Je ne sais pas exactement ce que tu affiches mais si c'est une surface avec 300000 * 60 points, c'est beaucoup trop précis pour l’œil humain.
    Il faudrait réduire les nombre de données à afficher.

    3) Tu peux diminuer la taille de MATLAB au démarrage en te passant du desktop :

    Citation Envoyé par le fab Voir le message
    sinon je suis souvent confronté à des problèmes de mémoire quand j'enchaine d'autre simus, les clear all ne nettoyant pas vraiment la mémoire
    je suis donc souvent obligé de fermer puis ré ouvrir matlab
    Oui, on en avait déjà discuté ici : Fonction mesh, tableau de cellules et mémoire
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    merci bien de cette réponse

    1/ je regarderai, je connaissait pas

    2/ non je te rassure, pas de surface ...
    par contre je trace des courbes temporelles et j'affiche tous les pas de temps : y a donc moyen d'optimiser. je fais aussi des animations ou j'affiche mes 60 points de discrétisations sur 250 pas / 300 000

    3/ je connaissais mais j'avais même pas pensé à essayer ... pourtant je l'ai conseillé à quelqu'un sur le forum il y a pas longtemps

    4/ en, effet, mais à priori pas vraiment de solutions

    bon en attendant je vais voir pour migrer en 64 bits et me faire payer un peu de ram au passage, ça peut aider

    question : j'ai déjà 3Go de RAM ... si je l'augmente tu me suggères de passer à combien ?

  8. #8
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    alors quelques précisions

    au démarrage de matlab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Maximum possible array:             557 MB (5.844e+008 bytes) *
    Memory available for all arrays:   1389 MB (1.456e+009 bytes) **
    Memory used by MATLAB:              292 MB (3.062e+008 bytes)
    Physical Memory (RAM):             3241 MB (3.398e+009 bytes)
    après une simu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Maximum possible array:              98 MB (1.030e+008 bytes) *
    Memory available for all arrays:    516 MB (5.408e+008 bytes) **
    Memory used by MATLAB:              812 MB (8.518e+008 bytes)
    Physical Memory (RAM):             3241 MB (3.398e+009 bytes)
    après un clear all
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Maximum possible array:             143 MB (1.497e+008 bytes) *
    Memory available for all arrays:    675 MB (7.075e+008 bytes) **
    Memory used by MATLAB:              649 MB (6.805e+008 bytes)
    Physical Memory (RAM):             3241 MB (3.398e+009 bytes)

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Citation Envoyé par le fab Voir le message
    question : j'ai déjà 3Go de RAM ... si je l'augmente tu me suggères de passer à combien ?
    A mon avis, 8 Go (si possible en 2x4Go) devrait suffire dans ton cas.
    Après tout dépend du raffinement que tu vas appliquer à ta simulation.

    Tu peux t'aider de ceci pour déterminer la taille de tes matrices futures :
    Comment déterminer approximativement la quantité de mémoire nécessaire pour le stockage d'une variable ?

    Citation Envoyé par le fab Voir le message
    au démarrage de matlab
    292 Mo, c'est avec le -nodesktop ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  10. #10
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    non, je n'ai pas fais le test avec -desktop
    là je suis passé en 64 bits (mais sans RAM supplémentaire) et je suis en attente d'un nouveau fichier licence car le changement de windows a changé le numéro de série du disque
    quand j'aurai retrouvé mon matlab je mettrai les nouveaux memory associés et si ca a amélioré ma gestion mémoire

  11. #11
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    en 64 bits tjrs avec 4Go de RAM

    au démarrage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Maximum possible array:               5812 MB (6.095e+009 bytes) *
    Memory available for all arrays:      5812 MB (6.095e+009 bytes) *
    Memory used by MATLAB:                 490 MB (5.133e+008 bytes)
    Physical Memory (RAM):                3977 MB (4.170e+009 bytes)
    après une simu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Maximum possible array:               5525 MB (5.793e+009 bytes) *
    Memory available for all arrays:      5525 MB (5.793e+009 bytes) *
    Memory used by MATLAB:                 972 MB (1.019e+009 bytes)
    Physical Memory (RAM):                3977 MB (4.170e+009 bytes)
    après un clear
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Maximum possible array:               5676 MB (5.951e+009 bytes) *
    Memory available for all arrays:      5676 MB (5.951e+009 bytes) *
    Memory used by MATLAB:                 816 MB (8.556e+008 bytes)
    Physical Memory (RAM):                3977 MB (4.170e+009 bytes)
    y a du mieux comme qui dirait ...

Discussions similaires

  1. passer de 32 bits à 64 bits rhel5
    Par moundji dans le forum Administration système
    Réponses: 1
    Dernier message: 24/10/2011, 11h14
  2. Passer en 16 bits
    Par XpFive dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 24/05/2010, 12h00
  3. passer de 32 bits à 64 bits
    Par *alexandre* dans le forum Langage
    Réponses: 3
    Dernier message: 09/07/2009, 09h02
  4. Passer en mode 64 bit
    Par qoqo1 dans le forum Programmation d'OS
    Réponses: 0
    Dernier message: 25/09/2008, 23h07
  5. Semble ne pas passer en 32 bits, il s'exécute comme du 16 bits
    Par daniel06600 dans le forum x86 32-bits / 64-bits
    Réponses: 15
    Dernier message: 24/01/2008, 23h56

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