Pourquoi le temps d'exécution d'une multiplication matricielle varie-t-il ?
Hors lignePaquito Le 04/04/2014 à 14:38 Profil de Paquito Configuration de Paquito

Dans la cadre de mes études, on m'a passé un programme qui fait beaucoup de calculs avec de grandes matrices. Son temps d'exécution varie de 20% d'un lancement à l'autre et on m'a demandé si je pouvais en trouver la cause.

Je commence par m'intéresser au cas d'une multiplication de matrice non optimisée pour comprendre quels mécanismes peuvent rendre le temps d'exécution variable.

Hors ligneKoytlo2 Le 04/04/2014 à 18:52 Profil de Koytlo2 Configuration de Koytlo2

salut

quelle est ta config exacte pc, os, et matrice et liaison ?

as-tu un log qui gère ton travail sur les matrice en tout les l'envoie des données sur ces meme matrice ?

si c'est le cas, peux-tu limiter la bande passante d'envoie des données ? Si c'est possible comme sur les logs de ftp essaye. Si tu obtiens de meilleurs résultatstu auras avancé d'un pas. En effet tu auras tout du moins un débit  régulier. Je pense que ton problème est plus complexe que ce que l'on pourrait croire. C'est comme l'on télécharge un logiciel de internet vers le pc, le débit passe de 5 à 6 % ftp à 0.5 par ex et y reste !! Des fois il suffit de relancer le navigateur et çà redémarre ou alors de redémarrer le pc. C'est peut-être une memoire cache qui se vide pas et qui sature ou un rapport entre différentes mémoires caches (processeur, modem ou autre carte de liaison, logiciel qui gère tout çà, l'os et ses limitations, les tampons de la matrice. individuellement ils marchent très bien mais peut-être que ensemble il faut les ajuster.

est-ce que çà l'a toujours fait ?

as-tu mis les pilotes qui faut qui se chargeront alors du bon dialogue (et c'est fait pour çà ) entre le pc et la matrice ?

as-tu essayer avec d'autres pc pour voir si c'est un problème de matrice ou tout du moins de dialogue avec le pc ou alors d'un simple réglage au niveau du pc ?

salut

Hors lignePaquito Le 07/04/2014 à 15:27 Profil de Paquito Configuration de Paquito

Salut et merci koytlo2 d'avoir répondu.

J'ai résolu mon problème. Quand je lançais mon programme je pensais initialiser mes matrices avec des valeurs aléatoires, mais ce n'était pas le cas car je ne savais pas qu'il faillait initialiser rand() en C. Du coup quand je relançais mon programme, une partie des données était déjà en cache et le programme s'exécutait plus rapidement.

Comme je le disais sans mon dernier message, mon travail n'est pas fini donc je vais garder en tête ce que tu as dit. L'idée de limiter la bande passante a l'air intéressante. J'essaierai de la mettre en pratique.

Encore merci de votre aide.

Hors ligneKoytlo2 Le 07/04/2014 à 20:24 Profil de Koytlo2 Configuration de Koytlo2

salut

je viens de tomber sur un documents sur les imprimantes et un des paragraphes peut te renseigner sur la question du ralentissement.

http://www.materiel.net/offre-speciale/anniversair...


La mémoire embarquée

Sa capacité standard varie de 8 Mo à 1 Go. Mais elle n'est pas toujours figée, les modèles professionnels tolérant l'ajout d'une barrette mémoire supplémentaire pour doubler cette capacité.

Son rôle consiste à stocker temporairement les fichiers reçus par le pilote d'impression, en vue de leur traitement et de leur conversion avant le début de l'impression.

Pour des usages grand public ordinaires, elle ne constitue pas un critère décisif. Elle prend de l'importance pour les imprimantes professionnelles qui doivent traiter des documents de plusieurs dizaines de pages, des fichiers Postscript très lourds, etc. Dans ce cas, si vous constatez des ralentissements fréquents, vous devrez peut-être augmenter la capacité mémoire. Une option qui peut coûter plus de 300 €.

Dans le cadre d'une imprimante réseau, la capacité mémoire n'est pas liée au nombre d'utilisateurs : la file d'attente est gérée par les « spoolers » des ordinateurs-clients.

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels