Si je lance un calcul monoprocesseur sur une machine, je vais obtenir
une duree de mettons 15mn.
Si je lance un calcul monoprocesseur sur une machine, je vais obtenir
une duree de mettons 15mn.
Si je lance un calcul monoprocesseur sur une machine, je vais obtenir
une duree de mettons 15mn.
Si je lance un calcul monoprocesseur sur une machine, je vais obtenir
une duree de mettons 15mn.
Sans plus de détails sur le type de calcul,
le type et la quantité de
données concernées, impossible de se prononcer. Donnez des détails, et
aussi le résultat de "vmstat" avec 1, 2, et 4 processeurs, ça permettra
d'y voir plus clair.
Si je lance un calcul monoprocesseur sur une machine, je vais obtenir
une duree de mettons 15mn.
Sans plus de détails sur le type de calcul,
le type et la quantité de
données concernées, impossible de se prononcer. Donnez des détails, et
aussi le résultat de "vmstat" avec 1, 2, et 4 processeurs, ça permettra
d'y voir plus clair.
Si je lance un calcul monoprocesseur sur une machine, je vais obtenir
une duree de mettons 15mn.
Sans plus de détails sur le type de calcul,
le type et la quantité de
données concernées, impossible de se prononcer. Donnez des détails, et
aussi le résultat de "vmstat" avec 1, 2, et 4 processeurs, ça permettra
d'y voir plus clair.
Sur une matrice 100x100, pas de difference notable.
Sur une matrice 3000x3000: 208Mo d'occupation RAM pour chaque process
un lancement: 61mn07
deux lancements: 110mn38 et 110mn44
trois et quatre lancements en cours de calcul
le vmstat sur la machine qui fait tourner 2 calculs:
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
3 0 276932 1383648 4648 126132 0 0 0 0 309 554 50 0 50 0
2 0 276932 1383648 4648 126132 0 0 0 0 290 538 50 0 50 0
2 0 276932 1383664 4648 126132 0 0 0 0 313 560 50 0 50 0
Sur une matrice 100x100, pas de difference notable.
Sur une matrice 3000x3000: 208Mo d'occupation RAM pour chaque process
un lancement: 61mn07
deux lancements: 110mn38 et 110mn44
trois et quatre lancements en cours de calcul
le vmstat sur la machine qui fait tourner 2 calculs:
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
3 0 276932 1383648 4648 126132 0 0 0 0 309 554 50 0 50 0
2 0 276932 1383648 4648 126132 0 0 0 0 290 538 50 0 50 0
2 0 276932 1383664 4648 126132 0 0 0 0 313 560 50 0 50 0
Sur une matrice 100x100, pas de difference notable.
Sur une matrice 3000x3000: 208Mo d'occupation RAM pour chaque process
un lancement: 61mn07
deux lancements: 110mn38 et 110mn44
trois et quatre lancements en cours de calcul
le vmstat sur la machine qui fait tourner 2 calculs:
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
3 0 276932 1383648 4648 126132 0 0 0 0 309 554 50 0 50 0
2 0 276932 1383648 4648 126132 0 0 0 0 290 538 50 0 50 0
2 0 276932 1383664 4648 126132 0 0 0 0 313 560 50 0 50 0
calcul d'ecoulement de fluide en 2d et 3d. C'est en fortran
et je n'ai pas regarde le code. C'est du calcul enormement iteratif.
calcul d'ecoulement de fluide en 2d et 3d. C'est en fortran
et je n'ai pas regarde le code. C'est du calcul enormement iteratif.
calcul d'ecoulement de fluide en 2d et 3d. C'est en fortran
et je n'ai pas regarde le code. C'est du calcul enormement iteratif.
Je soupçonne que le matériel est limité par le débit mémoire.
Je soupçonne que le matériel est limité par le débit mémoire.
Je soupçonne que le matériel est limité par le débit mémoire.
Sur une matrice 3000x3000: 208Mo d'occupation RAM pour chaque process
C'est donc assez intensif en RAM, apparemment. Normal, avec des matrices.un lancement: 61mn07
deux lancements: 110mn38 et 110mn44
trois et quatre lancements en cours de calcul
Le système est idle à 50%, donc il y a deux cpus qui travaillent à fond
et deux qui attendent, c'est bien ce qu'on attend. Cependant, quel est le
type exact de CPU?
est-ce un dual core,
ou plutôt un P4 HT?
Quel noyau est utilisé?
Que donne "cat /proc/cpuinfo"?
Sur une matrice 3000x3000: 208Mo d'occupation RAM pour chaque process
C'est donc assez intensif en RAM, apparemment. Normal, avec des matrices.
un lancement: 61mn07
deux lancements: 110mn38 et 110mn44
trois et quatre lancements en cours de calcul
Le système est idle à 50%, donc il y a deux cpus qui travaillent à fond
et deux qui attendent, c'est bien ce qu'on attend. Cependant, quel est le
type exact de CPU?
est-ce un dual core,
ou plutôt un P4 HT?
Quel noyau est utilisé?
Que donne "cat /proc/cpuinfo"?
Sur une matrice 3000x3000: 208Mo d'occupation RAM pour chaque process
C'est donc assez intensif en RAM, apparemment. Normal, avec des matrices.un lancement: 61mn07
deux lancements: 110mn38 et 110mn44
trois et quatre lancements en cours de calcul
Le système est idle à 50%, donc il y a deux cpus qui travaillent à fond
et deux qui attendent, c'est bien ce qu'on attend. Cependant, quel est le
type exact de CPU?
est-ce un dual core,
ou plutôt un P4 HT?
Quel noyau est utilisé?
Que donne "cat /proc/cpuinfo"?
Hyperthreading desactive.
Hyperthreading desactive.
Hyperthreading desactive.
Est-ce qu'il est envisageable (= en un temps raisonnable)
de faire tourner ce logiciel sous cachegrind ?
valgrind --toolÊchegrind
Est-ce qu'il est envisageable (= en un temps raisonnable)
de faire tourner ce logiciel sous cachegrind ?
valgrind --toolÊchegrind
Est-ce qu'il est envisageable (= en un temps raisonnable)
de faire tourner ce logiciel sous cachegrind ?
valgrind --toolÊchegrind
Bon, je ne vois que le cache ou la RAM être cause du problème. Je pense
qu'il n'y a qu'un seul cache L2 par processeur, partagé entre les deux
coeurs.
It doesn't account for other process activity (although this is probably
desirable when considering a single program).
donc je risque de ne pas avoir l'info:
9560== L2d miss rate: 0.7%
Bon, je ne vois que le cache ou la RAM être cause du problème. Je pense
qu'il n'y a qu'un seul cache L2 par processeur, partagé entre les deux
coeurs.
It doesn't account for other process activity (although this is probably
desirable when considering a single program).
donc je risque de ne pas avoir l'info:
9560== L2d miss rate: 0.7%
Bon, je ne vois que le cache ou la RAM être cause du problème. Je pense
qu'il n'y a qu'un seul cache L2 par processeur, partagé entre les deux
coeurs.
It doesn't account for other process activity (although this is probably
desirable when considering a single program).
donc je risque de ne pas avoir l'info:
9560== L2d miss rate: 0.7%
Kévin, ça vaudrait peut-être le coup que tu essaies ce gadget sur ta
machine multipro. Si en en lançant plusieurs en parallèle avec un
buffer de taille respectable (> 2 Mo) tu n'observes pas le même
phénomène qu'avec ton programme, c'est que l'hypothèse sur le goulet
d'étranglement au niveau de la mémoire est fausse.
Le programme prend deux arguments. Le premier est la taille qu'on veut
allouer, le second le nombre de passe que l'on fait sur le buffer.
Kévin, ça vaudrait peut-être le coup que tu essaies ce gadget sur ta
machine multipro. Si en en lançant plusieurs en parallèle avec un
buffer de taille respectable (> 2 Mo) tu n'observes pas le même
phénomène qu'avec ton programme, c'est que l'hypothèse sur le goulet
d'étranglement au niveau de la mémoire est fausse.
Le programme prend deux arguments. Le premier est la taille qu'on veut
allouer, le second le nombre de passe que l'on fait sur le buffer.
Kévin, ça vaudrait peut-être le coup que tu essaies ce gadget sur ta
machine multipro. Si en en lançant plusieurs en parallèle avec un
buffer de taille respectable (> 2 Mo) tu n'observes pas le même
phénomène qu'avec ton programme, c'est que l'hypothèse sur le goulet
d'étranglement au niveau de la mémoire est fausse.
Le programme prend deux arguments. Le premier est la taille qu'on veut
allouer, le second le nombre de passe que l'on fait sur le buffer.