|
Bas de page | |
---|---|
Auteur | Sujet : Optimisation algorithme d'érosion |
Publicité | Posté le 21-11-2008 à 15:14:42 |
kao98 ... | Déjà, tu pourrais peut-être multithreader le traitement non !? Chaque thread traite une image, et donc si multi-core ou autre, le traitement dans son ensemble peut-être largement accéléré !? --------------- Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98 |
Joel F Real men use unique_ptr | stop, stop Stop. Donc, faut maximiser la localité spatiale en découpant ton image en bloc carré de taille approximativement égale à celle d'un bloc de cache line (genre 32x32 ou 16x16) et appliquer ton algo dessus. En gros tu te retrouve avec 4 nid de boucle : un sur les tuile en x, en y et pour chaque tuile en x et y. Aprés, l'accès des tableaux 2D est mieux si ton tableau est 2D au sens des NRC, ce que ne supporte pas forcement shared_array. J'ai deja poster 5 fois le code, je te laisse faire la recherche. Ensuite, vectorise en utilisant SSE2 La déjà tu devrais avoir gagner en 10 et 40. Si ca va pas assez vite , alors oui : boost::thread. PS :aussi, on evite d'allouer de la mémoire dans les fonctions de calcul On passe la sortie en paramètre references Message cité 1 fois Message édité par Joel F le 21-11-2008 à 16:23:28 |
chewif | qqun a dit boost::gil ??
|
Joel F Real men use unique_ptr |
Amonchakai | Okay, super, je vais aller voir tout ça.
Message édité par Amonchakai le 21-11-2008 à 22:41:05 |
Taz bisounours-codeur |
|
chewif |
|
Joel F Real men use unique_ptr | la mailing de boost contient pas de sujet à ce propos.
|
Joel F Real men use unique_ptr |
ca sert à rien, parole d'expert . Je serais aussi enclin à stocker des uchar plutot que des bool dont la taille varie en fonction du compilo. Message édité par Joel F le 22-11-2008 à 11:35:08 |
Publicité | Posté le 22-11-2008 à 11:29:41 |
Joel F Real men use unique_ptr | Je viens de tester un utilisant les trucs que je file en TP. J'arrive à 13 cycles par point pr une erosion sans optimisation. Soit, 2.8ms pour une image 720*576 Le code :
Message édité par Joel F le 22-11-2008 à 14:29:16 |
Taz bisounours-codeur | Merci pour l'info. Un petit site pas mal en passant: avec certains articles chouettes comme http://www.cellperformance.com/mik [...] _keyw.html et le dernier papier de Drepper (GNU libc entre autres) avec un bon chapitre 6 sur le cache avec un petit exemple Message édité par Taz le 22-11-2008 à 16:51:37 |
Joel F Real men use unique_ptr | mike acton est pas mal. Deja si tout le mode faisait du LCS patten et du blocking dans ces nids d eboucles :E ca serait pas mal Message édité par Joel F le 22-11-2008 à 17:19:50 |
Taz bisounours-codeur | ça reste un bon article pour avoir une vision d'ensemble |
Joel F Real men use unique_ptr | C'ets una rticle du genre que j'utilise pr mes cours d'archi. Va fallori que je me mettes à jour |
Amonchakai | Bonjour,
Message édité par Amonchakai le 29-06-2009 à 13:06:42 |
Joel F Real men use unique_ptr | euh y a qd meme 13 CYCLES de gagné par points Pour aller plus loin, SIMDisation ou bien allocation alignée sur la cache-line Message édité par Joel F le 29-06-2009 à 13:13:52 |
Amonchakai | Oui, j'ai essayé avec SSE2.. mais très mal fait |
Joel F Real men use unique_ptr | Je pense surtout que ta convolution etait mal vectorisé Pour ref: Saute le passage sur le CELL, les optimsiations présentées sont valides sur x86 et cie. Message édité par Joel F le 29-06-2009 à 13:45:50 |
Amonchakai | Le if, c'est bon je ne l'ai pas... Il est juste présent dans la version générique, j'ai fait une spécialisation pour un rayon de 1 (et 2 et 3)
Message édité par Amonchakai le 29-06-2009 à 14:00:25 |
Joel F Real men use unique_ptr | le if() est inutile tt le temps |
Amonchakai | ha... je vais voir
Message cité 1 fois Message édité par Amonchakai le 29-06-2009 à 14:08:35 |
Joel F Real men use unique_ptr |
|
Amonchakai | Hello,
Message édité par Amonchakai le 03-07-2009 à 16:01:59 |
SBAM Best recording of rach 3. | Amonchakai, plutot que de te lancer dans de l'optimisation bas-niveau direct, re-reflechis peut-etre au probleme initial.
|
Joel F Real men use unique_ptr | water-shedding c'est quand meme la massue bien lente pour ce genre de probleme. Message édité par Joel F le 28-07-2009 à 11:17:41 |
Amonchakai | Hello,
|
Publicité | Posté le |
Sujets relatifs | |
---|---|
[optimisation] fichier txt -> insert base de donnée | Calculer la complexité temporelle d'un algorithme |
Optimisation de programme c++ | Recherche un algorithme de cryptage/décryptage costaud |
[MySQL] Optimisation de requete | tour de hanoi(algorithme recursif) |
Optimisation d'une requete | Optimisation - MAJ d'une table |
[C / Linux] Optimisation de taille sur gcc et -Os ? | Algorithme |
Plus de sujets relatifs à : Optimisation algorithme d'érosion |