Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1355 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Programmation et SSD ....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmation et SSD ....

n°2029865
duddy2
Posté le 16-10-2010 à 21:30:58  profilanswer
 

Bonjour,
 
J'utilise souvent MATLAB. Voici une petite présentation : http://fr.wikipedia.org/wiki/MATLAB
Et les calculs que j’effectue sur mon ancien PC prenaient entre 6 à 7 jours, car ce sont des calculs plutôt balaises...
 
Ma nouvelle configuration qui est très récente (>1mois) et qui a été monté par mes soins avec l'aide de personnes de ce forum ( http://www.materiel.net/panier.nt. [...] IxIjt9fQ== ) permet désormais de réaliser les calculs en 3 jours.
 
Je pense donc à l'achat d'un SSD. Mais dans mon cas, cela sera t-il vraiment utile ? Et va t-il vraiment augmenter la rapidité des calculs ? (car je ne sais pas si c'est de l'écriture/lecture)
 
Merci d'avance !
 
(P.S. : je ne sais pas si je suis dans la bonne catégorie donc excusez moi)


Message édité par duddy2 le 16-10-2010 à 21:35:54
mood
Publicité
Posté le 16-10-2010 à 21:30:58  profilanswer
 

n°2029894
Taz
bisounours-codeur
Posté le 17-10-2010 à 08:45:03  profilanswer
 

Euh, ça me laisse songeur le fait que tu ne saches pas ce que fait ton programme.
 
On va dire que si tu ne fais pas d'opérations lourdes de fichiers et que tu ne swap pas, ça te sert à rien un SSD.
 
Tu as déjà épuisé toutes les possibilités d'optimisation / parallélisation de ton programme pour en être arrivé à acheter du matériel ?

n°2029897
duddy2
Posté le 17-10-2010 à 10:32:45  profilanswer
 

En effet c'est une question complètement débile... puisque mon programme fait des opérations lourdes et du swap...
 
Merci de ta réponse !

n°2029906
gilou
Modérateur
Modzilla
Posté le 17-10-2010 à 11:05:27  profilanswer
 

Ce que tu peux aussi faire, si tu as absolument besoin de vitesse de swap de l'ordre de celle d'un SSD, sans les inconvénients de la ré-écriture des SSD modernes, c'est d'acheter un disque DRAM, et de mettre le swap et les répertoires de fichiers temporaires de calcul dessus, mais c'est une solution professionnelle, assez coûteuse.
Le ANS-9010B de ACard qui permet d'avoir un disque S-ATA II avec jusqu’à 24 Go en barettes mémoires DDR2 et coute 300$ + le prix des barettes (on peut monter 32Go (ou 2x16Go en raid) avec le ANS-9010, mais pour un coût quasi doublé: 550$ + les barettes) est plutôt ce qui a le meilleur rapport qualité/prix dans le genre
A+,


Message édité par gilou le 17-10-2010 à 11:16:13

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2030064
duddy2
Posté le 17-10-2010 à 23:01:32  profilanswer
 

@Gilou : merci de ta réponse mais 500E c'est la moitié du prix de mon nouveau PC, puis bon ce n'est pas une nécessité mais juste un confort d’accélérer la vitesse des calculs afin d'avancer plus vite sur mon travail (et je doute que l'université accepte d'investir dans un matériel pareille !)
 
@-flanker-- : j'ai la version r2009a donc pas l’accélération CUDA mais je crois que je peux l'ajouter en plug-in : ( http://developer.nvidia.com/object/matlab_cuda.html ) =) ! Mais pour ce qui est des coeurs, Matlab ne partage pas automatiquement les tâches sur tout les coeurs :O ?! Surotut que j'en ai lancé 3 en même temps ... (je vérifierai sa ce week-end pour le partage sur les coeurs, car je ne suis plus chez moi)
D'ailleurs sa devait être beau à voir le partage des tâches sur les coeurs de tous les PC en réseaux !
Puis pour l'investissement sur un nouveau processeur sa va être dure vu que celui-ci date de septembre ...

Message cité 1 fois
Message édité par duddy2 le 17-10-2010 à 23:12:47
n°2030100
esox_ch
Posté le 18-10-2010 à 09:34:57  profilanswer
 

Salut,
Avant d'investir massivement dans du hardware, moi je contrôlerais ton code Matlab.
En effet, j'ai déjà vu souvent des codes Matlab écrits "à la C", c-a-d en utilisant des suites de petites opérations, de "if else", de boucles, alors que ça a un impact catastrophique sur les perf du code.  
Niveau parallélisation des calculs sur plusieurs cores/CPUs, ça dépend du calcul en fait. Si tu fais des boucles, point de salut, ça ne sera pas parallélisé. Si tu fais des opérations matricielles, il va tenter de le faire.
 
Fait aussi attention au cas où ton code utilise des toolbox, parce que certaines ne sont pas utilisables dans un cadre parallélisé. Par exemple, la toolbox Simulink, implémente une gestion de la parallélisation assez spéciale... et pas forcément super intuitive au début


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2030644
guepe
J'ai du noir sur la truffe ?
Posté le 19-10-2010 à 17:45:14  profilanswer
 

duddy2 a écrit :

@Gilou : merci de ta réponse mais 500E c'est la moitié du prix de mon nouveau PC, puis bon ce n'est pas une nécessité mais juste un confort d’accélérer la vitesse des calculs afin d'avancer plus vite sur mon travail (et je doute que l'université accepte d'investir dans un matériel pareille !)
 
@-flanker-- : j'ai la version r2009a donc pas l’accélération CUDA mais je crois que je peux l'ajouter en plug-in : ( http://developer.nvidia.com/object/matlab_cuda.html ) =) ! Mais pour ce qui est des coeurs, Matlab ne partage pas automatiquement les tâches sur tout les coeurs :O ?! Surotut que j'en ai lancé 3 en même temps ... (je vérifierai sa ce week-end pour le partage sur les coeurs, car je ne suis plus chez moi)
D'ailleurs sa devait être beau à voir le partage des tâches sur les coeurs de tous les PC en réseaux !
Puis pour l'investissement sur un nouveau processeur sa va être dure vu que celui-ci date de septembre ...


Si ca bouffe pas _trop_ de RAM (ou que tu as _beaucoup_ de RAM) tu peut faire un swap disk en RAM. En tous les cas sous Linux, mais c'est peut etre possible sous windows.
 
Tu paramètres matlab pour utiliser ce swap disk (qui est en ram) et hop ca va 1000 fois plus vite  :love:  
Tout dépend bien sur, de la taille de la RAM nécessaire. Mais j'utilise des machines de 48Gig, donc bon ca existe  :jap:


---------------
Un blog qu'il est bien
n°2030665
Joel F
Real men use unique_ptr
Posté le 19-10-2010 à 20:36:35  profilanswer
 

esox_ch a écrit :

Salut,
Avant d'investir massivement dans du hardware, moi je contrôlerais ton code Matlab.
En effet, j'ai déjà vu souvent des codes Matlab écrits "à la C", c-a-d en utilisant des suites de petites opérations, de "if else", de boucles, alors que ça a un impact catastrophique sur les perf du code.  
Niveau parallélisation des calculs sur plusieurs cores/CPUs, ça dépend du calcul en fait. Si tu fais des boucles, point de salut, ça ne sera pas parallélisé. Si tu fais des opérations matricielles, il va tenter de le faire.
 
Fait aussi attention au cas où ton code utilise des toolbox, parce que certaines ne sont pas utilisables dans un cadre parallélisé. Par exemple, la toolbox Simulink, implémente une gestion de la parallélisation assez spéciale... et pas forcément super intuitive au début


 
Et tant bien même, le //isme matlab reste basé sur du fork/join de process :s

n°2030712
gilou
Modérateur
Modzilla
Posté le 20-10-2010 à 00:12:37  profilanswer
 

guepe a écrit :


Si ca bouffe pas _trop_ de RAM (ou que tu as _beaucoup_ de RAM) tu peut faire un swap disk en RAM. En tous les cas sous Linux, mais c'est peut etre possible sous windows.
 
Tu paramètres matlab pour utiliser ce swap disk (qui est en ram) et hop ca va 1000 fois plus vite  :love:  
Tout dépend bien sur, de la taille de la RAM nécessaire. Mais j'utilise des machines de 48Gig, donc bon ca existe  :jap:

En général, quand tu as des problèmes de swap, c'est déja que tu as besoin de toute ta mémoire nécessaire (et que comme tu n'en as pas assez, tu swappes). Alors la réduire pour créer un RAM disque n'est pas top. Par contre, un (couteux) disque DRAM dans ce cas la améliore les chose, a une vitesse limitée par le débit de l'interface, mais de toute façon plus rapide qu'un disque mécanique.
Un RAM disque, c'est utile si tu n'as pas de pbs de swap pour l’exécution de ton programme, et que celui ci a besoin de faire de nombreuses lectures/écritures dans un fichier temporaire.
 
Bon, sous Windows Vista 32 bits, comme la quantité de mémoire utilisable maximale est de 4 gigas, si on a plus sur sa machine, on est dans un cas de figure ou faire un RAM Disque avec la mémoire supplémentaire inutilisée est une bonne option.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2030826
rufo
Pas me confondre avec Lycos!
Posté le 20-10-2010 à 11:48:26  profilanswer
 

gilou a écrit :

En général, quand tu as des problèmes de swap, c'est déja que tu as besoin de toute ta mémoire nécessaire (et que comme tu n'en as pas assez, tu swappes). Alors la réduire pour créer un RAM disque n'est pas top. Par contre, un (couteux) disque DRAM dans ce cas la améliore les chose, a une vitesse limitée par le débit de l'interface, mais de toute façon plus rapide qu'un disque mécanique.
Un RAM disque, c'est utile si tu n'as pas de pbs de swap pour l’exécution de ton programme, et que celui ci a besoin de faire de nombreuses lectures/écritures dans un fichier temporaire.
 
Bon, sous Windows Vista 32 bits, comme la quantité de mémoire utilisable maximale est de 4 gigas, si on a plus sur sa machine, on est dans un cas de figure ou faire un RAM Disque avec la mémoire supplémentaire inutilisée est une bonne option.
 
A+,


 
sous windows 32 bits, c'est 3 go de ram utilisable max :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 20-10-2010 à 11:48:26  profilanswer
 

n°2030898
gilou
Modérateur
Modzilla
Posté le 20-10-2010 à 14:38:35  profilanswer
 

Pas tout a fait: c'est 4Go adressable, moins ce que bouffent des zones réservées pour communiquer avec les périphériques. Ca doit plutôt tourner aux alentours de 3.4 ou 3.5 Go
En fait, il y a moyen d'adresser plus, mais il faut que le code soit écrit de manière spécifique et fasse appel aux fonctionnalités PAE (Physical Address Extension), ce qui est relativement rare.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2030937
theshockwa​ve
I work at a firm named Koslow
Posté le 20-10-2010 à 16:05:22  profilanswer
 

3Go max, et encore ... C'est avec une option de configuration à la compilation et une option dans l'OS pour permettre aux applications d'utiliser 3Go. Sinon, par défaut, c'est 2Go. Le reste est réservé.


---------------
last.fm
n°2030943
gilou
Modérateur
Modzilla
Posté le 20-10-2010 à 16:37:50  profilanswer
 

Oui, mais la on ne précisait pas pour un programme. Je regardais ce qui est bouffé par l'ensemble, et donc (par soustraction) ce qui reste éventuellement pour un RAM Disk qui n'impacterait pas les perfs.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2031144
Taz
bisounours-codeur
Posté le 21-10-2010 à 14:43:19  profilanswer
 

duddy2 a écrit :

En effet c'est une question complètement débile... puisque mon programme fait des opérations lourdes et du swap...
 
Merci de ta réponse !


Rajoute de la RAM. Tant que tu swapes, c'est la mise à jour de matériel la moins chère et la plus efficace.

n°2031146
Taz
bisounours-codeur
Posté le 21-10-2010 à 14:43:50  profilanswer
 

guepe a écrit :

Si ca bouffe pas _trop_ de RAM (ou que tu as _beaucoup_ de RAM) tu peut faire un swap disk en RAM. En tous les cas sous Linux, mais c'est peut etre possible sous windows.


D'autres conneries de ce genre ?

n°2031630
duddy2
Posté le 22-10-2010 à 22:57:21  profilanswer
 

Ok, j'ai transmis tout vos conseils à mon père. Mais il m'a dit que le calcul est déjà optimisé à 100% donc à ce niveau là y'a pas de problème.
 
Et donc si j'ai bien compris ce qui a été dis au cours de cette discussion, c'est qu'un SSD ne servira à rien et qu'il suffit juste d'avoir une bonne quantité de mémoire avec de bonnes fréquences ?
 
( http://forum.hardware.fr/hfr/Hardw [...] 6732_1.htm )

Message cité 1 fois
Message édité par duddy2 le 22-10-2010 à 23:01:57
n°2031632
Taliesim
Posté le 22-10-2010 à 23:05:41  profilanswer
 

duddy2 a écrit :

Ok, j'ai transmis tout vos conseils à mon père. Mais il m'a dit que le calcul est déjà optimisé à 100% donc à ce niveau là y'a pas de problème.
 
Mais j'ai lancé une discussion ici : http://forum.hardware.fr/hfr/Hardw [...] 6732_1.htm
(la flemme de tout redire ^^" )
Et donc si j'ai bien compris ce qui a été dis dans la discussion : un SSD ne servira à rien, et il suffit juste d'avoir de la bonne quantité de mémoire avec de bonnes fréquence ?


Comme déja dit, si pas d'operations lourdes sur des fichiers, le SSD ne sert à rien.
Tout miser sur le CPU et la ram pour avoir une puissance de calcul élevé.
Prendre le core 7 à tout prix donc, l ati 5770 pour matlab je vois pas trop ce qu elle vient faire la.
Si ca te fait encore trop cher, sacrifie un peu sur tes 8go de mémoire " bicanale" 2x4go. Apparemment Dell ne propose que le même type de mémoire DDR3 de toute façon.


Message édité par Taliesim le 22-10-2010 à 23:16:16
n°2031646
-flanker--
Posté le 23-10-2010 à 01:12:59  profilanswer
 

Le CPU avant tout, en ce qui concerne la RAM, il suffit de regarder son état durant les calculs, si tu as 2go sur 4 d'utilisés je ne vois pas pourquoi upgrader à 8gigots

n°2031720
duddy2
Posté le 23-10-2010 à 16:25:52  profilanswer
 

Ok merci pour vos 2 réponses ! C'est noté...  
 
Mais mon père a découvert hier soir que l'Université à changer de partenaire et travaille desormais avec HP (la marque la plus pourrie sur le marché informatique...)
Du coup, le meilleur modèle qu'ils ont sur leur site c'est cette merde là ... http://h10010.www1.hp.com/wwpc/fr/ [...] 12928.html
Il essayera de négocier pour effectuer son achat sur Dell mais sans grand espoir...dommage
 
Je vous tiens au courant !


Message édité par duddy2 le 23-10-2010 à 16:32:46
n°2031847
esox_ch
Posté le 24-10-2010 à 17:00:07  profilanswer
 

Il essaie de remplacer un HP par un Dell?  
C'est clair que Dell est spécialisé dans les ordi de bureau haute performane :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2031850
Joel F
Real men use unique_ptr
Posté le 24-10-2010 à 17:38:50  profilanswer
 

euh oui :€ les Precision Q7xxx sont de vrais bombes


Message édité par Joel F le 24-10-2010 à 17:38:56
n°2031856
esox_ch
Posté le 24-10-2010 à 18:40:40  profilanswer
 

C'est quoi pour des PC? Je les trouve même pas sur le site :s


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2031898
olivier__
Posté le 24-10-2010 à 21:41:39  profilanswer
 

Mais, vous n'avez pas de cluster à votre disposition dans votre fac? C'est quelle université???
Pour faire des calculs aussi longs, tu dois être stagiaire ou doctorant dans un labo. Le labo devrait avoir une machine à te prêter, non?
Bref, je ne comprends pas pourquoi c'est toi qui doit payer une machine pour faire des calculs (chez moi, j'ai un pc "classique" pour faire les essais, ensuite je me connecte à la fac par vpn pour lancer les vrais calculs sur cluster ou sur des machines possédant plusieurs processeurs et cartes tesla).
Sinon, chez hp, il y a aussi des stations de travail avec plusieurs xéon, mais ce n'est pas le même prix et il vaut peut-être mieux les appeler directement.

n°2031909
duddy2
Posté le 24-10-2010 à 22:57:58  profilanswer
 

Bon je m'explique, mon père est professeur à l'IUT de Saint-Nazaire dans le Génie civil, et une de ses doctorantes efectue des calculs compliqués sur Matlab via le PC du labo.
Mais le labo va changer ce PC car il lui met un écran bleu avec pour message d'erreur "Out of memory" quand le calcul devient beaucoup trop lourd. Du coup, mon père n'ayant aucune compétence dans le choix du matériel informatique, il m'a demandé conseil. Voila tout ...
Mais l'achat se fera chez Hp, et ce ne sera pas des Xeons..... Quand à l'achat le labo ne veut pas investir au-delà de 1500E... Donc ce que je lui ai dit de prendre, c'est cela :
i7 880 en premier choix ou sinon i7 870 en deuxième choix si y'a pas.
Pour la mémoire : 2*4Go en premier choix ou 4x2 GO en deuxieme si y'a pas ou sinon 2x2 Go dans le pire des cas.
Pour ce qui est du vpn, je sais quand même ce que c'est puisque mon père l'utilise à la maison.
 
Si il y a des clusters à l'IUT se serait superbe, faudrait que je dise à mon père de se renseigner car il ne sait pas...
 
Je vous tiens au courant dès que j'ai des nouvelles....

Message cité 1 fois
Message édité par duddy2 le 25-10-2010 à 11:15:32
n°2031981
rufo
Pas me confondre avec Lycos!
Posté le 25-10-2010 à 13:18:07  profilanswer
 

duddy2 a écrit :

Bon je m'explique, mon père est professeur à l'IUT de Saint-Nazaire dans le Génie civil, et une de ses doctorantes efectue des calculs compliqués sur Matlab via le PC du labo.
Mais le labo va changer ce PC car il lui met un écran bleu avec pour message d'erreur "Out of memory" quand le calcul devient beaucoup trop lourd. Du coup, mon père n'ayant aucune compétence dans le choix du matériel informatique, il m'a demandé conseil. Voila tout ...
Mais l'achat se fera chez Hp, et ce ne sera pas des Xeons..... Quand à l'achat le labo ne veut pas investir au-delà de 1500E... Donc ce que je lui ai dit de prendre, c'est cela :
i7 880 en premier choix ou sinon i7 870 en deuxième choix si y'a pas.
Pour la mémoire : 2*4Go en premier choix ou 4x2 GO en deuxieme si y'a pas ou sinon 2x2 Go dans le pire des cas.
Pour ce qui est du vpn, je sais quand même ce que c'est puisque mon père l'utilise à la maison.
 
Si il y a des clusters à l'IUT se serait superbe, faudrait que je dise à mon père de se renseigner car il ne sait pas...
 
Je vous tiens au courant dès que j'ai des nouvelles....


 
En même temps, est-ce que matlab pour faire de gros calculs, c'est le plus efficace? La V6 était en Java et ramait comme pas permis par rapport à la V5 :/ (c'était en 2002)
S'il faut faire de gros calcul, un petit programme en C avec la lib GSL et hop, ça devrait consommer moins de ressource et être plus rapide ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2031989
esox_ch
Posté le 25-10-2010 à 13:44:15  profilanswer
 

Rufo, le truc c'est qu'on a pas forcément envie de se recoder les toolbox Matlab à chaque fois :o
Et que, suivant à qui tu demandes de coder ton truc en C, ça va ramer 10x plus qu'avec Matlab :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2031990
rufo
Pas me confondre avec Lycos!
Posté le 25-10-2010 à 13:53:44  profilanswer
 

esox_ch a écrit :

Rufo, le truc c'est qu'on a pas forcément envie de se recoder les toolbox Matlab à chaque fois :o
Et que, suivant à qui tu demandes de coder ton truc en C, ça va ramer 10x plus qu'avec Matlab :bounce:


 
Je sais mais il a pas précisé le type de calcul. Mettons que ça soit du calcul matriciel (au hasard) sur des très grosses matrices, du coup, c'est pas très compliqué de redévelopper le bousin sous la lib GSL et ça ira sans doute plus vite ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2032037
Joel F
Real men use unique_ptr
Posté le 25-10-2010 à 15:25:31  profilanswer
 

/me pointe négligement vers sa signature :E

n°2032213
snafu8
Posté le 26-10-2010 à 10:36:23  profilanswer
 

\me se demande ce que Joel veut que OP fasse avec des cartes Magic

n°2032234
Joel F
Real men use unique_ptr
Posté le 26-10-2010 à 12:02:02  profilanswer
 

l'autre morceau de la signature ^^

n°2032796
Taz
bisounours-codeur
Posté le 28-10-2010 à 12:13:24  profilanswer
 

Dans tous les cas en 32bits, t'ira jamais bien loin si t'as besoin de mémoire.

n°2032827
gilou
Modérateur
Modzilla
Posté le 28-10-2010 à 14:21:26  profilanswer
 

Citation :

En fait, il y a moyen d'adresser plus, mais il faut que le code soit écrit de manière spécifique et fasse appel aux fonctionnalités PAE (Physical Address Extension), ce qui est relativement rare.

Et sous windows, en plus de configurer son kernel, il faut utiliseer l'API AWE
A+,


Message édité par gilou le 28-10-2010 à 14:22:08

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Programmation et SSD ....

 

Sujets relatifs
cours programmation script sous Unity 3Dprogrammation java
Programmation commande windows[Perl] - Programmation objet et debugger
Renseigner par programmation un FormulaireReprise de la programmation: questions diverses
astuces de la programmation CUDAProgrammation Webcam
programmation JAVAProgrammation réseau client serveur
Plus de sujets relatifs à : Programmation et SSD ....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR