X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/these_gilles.git/blobdiff_plain/72441aeeda78a2607a1fe941b9a3580e74b4951c..e81bd9912542bc52e4b0fd1206e0b6f9b93a5fda:/THESE/these.lot diff --git a/THESE/these.lot b/THESE/these.lot index 3250a9e..67dcbed 100644 --- a/THESE/these.lot +++ b/THESE/these.lot @@ -4,23 +4,28 @@ \contentsline {table}{\numberline {2.1}{\ignorespaces Caract\IeC {\'e}ristiques des diff\IeC {\'e}rents types de m\IeC {\'e}moire disponibles sur le GPU. Pour les m\IeC {\'e}moires cach\IeC {\'e}es, les latences sont donn\IeC {\'e}es selon l'acc\IeC {\`e}s \textit {sans-cache/L1/L2}. Les mesures ont \IeC {\'e}t\IeC {\'e} obtenues \IeC {\`a} l'aide des microprogrammes de test de \cite {wong2010demystifying}.}}{16}{table.2.1} \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {table}{\numberline {4.1}{\ignorespaces Valeur du coefficient $C(i,j)$ en fonction des valeurs des codes de Freeman des vecteurs $f_{in}$ et $f_{out}$.}}{52}{table.4.1} -\contentsline {table}{\numberline {4.2}{\ignorespaces Performances (en secondes) de la segmentation par snake polygonal sur CPU en fonction de la taille de l'image \IeC {\`a} traiter. Les temps sont obtenus avec la m\IeC {\^e}me image de test dilat\IeC {\'e}e et bruit\IeC {\'e}e et un contour initial carr\IeC {\'e} dont la distance aux bords est proportionnelle \IeC {\`a} la taille de l'image. Seule l'image en 15~MP a pu \IeC {\^e}tre trait\IeC {\'e}e par une impl\IeC {\'e}mentation utilisant SSE2.}}{57}{table.4.2} -\contentsline {table}{\numberline {4.3}{\ignorespaces Acc\IeC {\'e}l\IeC {\'e}ration constat\IeC {\'e}e, pour le calcul des images cumul\IeC {\'e}es, de l'impl\IeC {\'e}mentation GPU (C2070) par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence.}}{58}{table.4.3} -\contentsline {table}{\numberline {4.4}{\ignorespaces Comparaison des temps d'ex\IeC {\'e}cution de l'impl\IeC {\'e}mentation GPU (C2070) par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence, appliqu\IeC {\'e}s \IeC {\`a} une m\IeC {\^e}me image dilat\IeC {\'e}e pour en adapter la taille.}}{64}{table.4.4} -\addvspace {10\p@ } -\contentsline {table}{\numberline {5.1}{\ignorespaces Temps de calcul et de transfert des impl\IeC {\'e}mentations compar\IeC {\'e}es. }}{91}{table.5.1} -\contentsline {table}{\numberline {5.2}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage des filtres PI-LD et PI-PD hybride propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e} et \IeC {\`a} un moyenneur GPU 5$\times $5 pris comme r\IeC {\'e}f\IeC {\'e}rence de rapidit\IeC {\'e}. Les param\IeC {\`e}tres du PI-PD sont $l=5$, $n=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'Bruit\IeC {\'e}e' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par un bruit gaussien de moyenne nulle et d'\IeC {\'e}cart type $\sigma =25$.}}{91}{table.5.2} -\contentsline {table}{\numberline {5.3}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage du filtre PI-PD RVB propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e}. Les param\IeC {\`e}tres du PI-PD sont $l=4$, $n=50$, $T_{rvb-max}=5$. La colonne 'noisy' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par tirage de bruit gaussien sur chaque canal ( moyenne nulle, \IeC {\'e}cart type $\sigma =25$).}}{92}{table.5.3} -\addvspace {10\p@ } -\contentsline {table}{\numberline {6.1}{\ignorespaces Temps de transfert vers et depuis le GPU, en fonction de la dimension de l'image et de la profondeur de niveaux de gris. La colonne ``M\IeC {\'e}moire globale'' donne les temps mesur\IeC {\'e}s lorsque cette seule m\IeC {\'e}moire est employ\IeC {\'e}e.}}{94}{table.6.1} -\contentsline {table}{\numberline {6.2}{\ignorespaces Pourcentage du temps d'ex\IeC {\'e}cution pris par les transferts de donn\IeC {\'e}es en fonction de la taille de fen\IeC {\^e}tre du filtre, pour les profondeurs 8 et 16 bits sur GPU C2070.}}{100}{table.6.2} -\contentsline {table}{\numberline {6.3}{\ignorespaces D\IeC {\'e}bits maximum effectifs $T_8$ and $T_{16}$ (en MP/s), respectivement pour les variantes 8 et 16 bits sur C2070.}}{100}{table.6.3} -\contentsline {table}{\numberline {6.4}{\ignorespaces Performances des filtres m\IeC {\'e}dians rapides en fonction des tailles d'image et de fen\IeC {\^e}tre du filtre, en variantes 8 et 16 bits de profondeursur GPU C2070.}}{101}{table.6.4} -\addvspace {10\p@ } -\contentsline {table}{\numberline {7.1}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref {lst-convo-gene3reg8}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence.}}{105}{table.7.1} -\contentsline {table}{\numberline {7.2}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref {lst-convo-gene3reg8}, sur GPU GTX280. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence.}}{105}{table.7.2} -\contentsline {table}{\numberline {7.3}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref {lst-convo-8x8pL3}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence. }}{107}{table.7.3} -\contentsline {table}{\numberline {7.4}{\ignorespaces Co\IeC {\^u}t, en ms, de la copie effectu\IeC {\'e}e entre les deux phases de convolution 1D, sur C2070.}}{109}{table.7.4} -\contentsline {table}{\numberline {7.5}{\ignorespaces Performances des kernels effectuant la convolution s\IeC {\'e}parable sur le mod\IeC {\`e}le des listings \ref {lst-convo-1Dv} et \ref {lst-convo-1Dh}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} l'ex\IeC {\'e}cution des 2 kernels et de la copie interm\IeC {\'e}diaire. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert.}}{112}{table.7.5} +\addvspace {10\p@ } +\addvspace {10\p@ } +\contentsline {table}{\numberline {6.1}{\ignorespaces Valeur du coefficient $C(i,j)$ en fonction des valeurs des codes de Freeman des vecteurs $f_{in}$ et $f_{out}$.}}{62}{table.6.1} +\contentsline {table}{\numberline {6.2}{\ignorespaces Performances (en secondes) de la segmentation par snake polygonal sur CPU en fonction de la taille de l'image \IeC {\`a} traiter. Les temps sont obtenus avec la m\IeC {\^e}me image de test dilat\IeC {\'e}e et bruit\IeC {\'e}e et un contour initial carr\IeC {\'e} dont la distance aux bords est proportionnelle \IeC {\`a} la taille de l'image. Seule l'image en 15~MP a pu \IeC {\^e}tre trait\IeC {\'e}e par une impl\IeC {\'e}mentation utilisant SSE2.}}{68}{table.6.2} +\contentsline {table}{\numberline {6.3}{\ignorespaces Acc\IeC {\'e}l\IeC {\'e}ration constat\IeC {\'e}e, pour le calcul des images cumul\IeC {\'e}es, de l'impl\IeC {\'e}mentation GPU (C2070) par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence.}}{71}{table.6.3} +\contentsline {table}{\numberline {6.4}{\ignorespaces Comparaison des temps d'ex\IeC {\'e}cution de l'impl\IeC {\'e}mentation GPU (C2070) par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence, appliqu\IeC {\'e}s \IeC {\`a} une m\IeC {\^e}me image dilat\IeC {\'e}e (fig. \ref {fig-snakecpu-cochon512}) pour en adapter la taille.}}{76}{table.6.4} +\addvspace {10\p@ } +\contentsline {table}{\numberline {7.1}{\ignorespaces Temps de calcul et de transfert des impl\IeC {\'e}mentations compar\IeC {\'e}es. }}{100}{table.7.1} +\contentsline {table}{\numberline {7.2}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage des filtres PI-LD et PI-PD hybride propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e} et \IeC {\`a} un moyenneur GPU 5$\times $5 pris comme r\IeC {\'e}f\IeC {\'e}rence de rapidit\IeC {\'e}. Les param\IeC {\`e}tres du PI-LD/PI-PD sont $n=5$, $l=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'Bruit\IeC {\'e}e' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par un bruit gaussien de moyenne nulle et d'\IeC {\'e}cart type $\sigma =25$. PI-LD s'ex\IeC {\'e}cute en 35~ms, PI-PD en 9~ms et BM3D en 4,3~s.}}{101}{table.7.2} +\contentsline {table}{\numberline {7.3}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage du filtre PI-PD RVB propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e}. Les param\IeC {\`e}tres du PI-PD sont $n=4$, $l=48$, $T_{rvb-max}=5$. La colonne 'noisy' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par tirage de bruit gaussien sur chaque canal ( moyenne nulle, \IeC {\'e}cart type $\sigma =25$).}}{102}{table.7.3} +\addvspace {10\p@ } +\contentsline {table}{\numberline {8.1}{\ignorespaces Temps de transfert vers et depuis le GPU, en fonction de la dimension de l'image et de la profondeur des niveaux de gris. La colonne ``M\IeC {\'e}moire globale'' donne les temps mesur\IeC {\'e}s lorsque cette seule m\IeC {\'e}moire est employ\IeC {\'e}e.}}{104}{table.8.1} +\contentsline {table}{\numberline {8.2}{\ignorespaces Pourcentage du temps d'ex\IeC {\'e}cution pris par les transferts de donn\IeC {\'e}es en fonction de la taille de fen\IeC {\^e}tre du filtre, pour les profondeurs 8 et 16 bits sur GPU C2070.}}{110}{table.8.2} +\contentsline {table}{\numberline {8.3}{\ignorespaces Performances des filtres m\IeC {\'e}dians rapides en fonction des tailles d'image et de fen\IeC {\^e}tre du filtre, en variantes 8 et 16 bits de profondeursur GPU C2070.}}{111}{table.8.3} +\contentsline {table}{\numberline {8.4}{\ignorespaces D\IeC {\'e}bits maximum effectifs $T_8$ and $T_{16}$ (en MP/s), respectivement pour les variantes 8 et 16 bits sur C2070.}}{111}{table.8.4} +\addvspace {10\p@ } +\contentsline {table}{\numberline {9.1}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref {lst-convo-gene3reg8}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence.}}{115}{table.9.1} +\contentsline {table}{\numberline {9.2}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref {lst-convo-gene3reg8}, sur GPU GTX280. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence.}}{115}{table.9.2} +\contentsline {table}{\numberline {9.3}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref {lst-convo-8x8pL3}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence. }}{117}{table.9.3} +\contentsline {table}{\numberline {9.4}{\ignorespaces Performances des kernels effectuant la convolution s\IeC {\'e}parable sur le mod\IeC {\`e}le des listings \ref {lst-convo-1Dv} et \ref {lst-convo-1Dh}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} l'ex\IeC {\'e}cution des 2 kernels. Cette variante pr\IeC {\'e}sente des performances voisines de la solution Nvidia.}}{121}{table.9.4} +\contentsline {table}{\numberline {9.5}{\ignorespaces Temps de transfert total depuis et vers le GPU, en fonction de la dimension de l'image. Extrait de la table \ref {tab-median-memcpy}.}}{123}{table.9.5} +\contentsline {table}{\numberline {9.6}{\ignorespaces Dur\IeC {\'e}e de la copie depuis la m\IeC {\'e}moire globale vers la m\IeC {\'e}moire texture, en fonction de la taille de l'image.}}{123}{table.9.6} +\contentsline {table}{\numberline {9.7}{\ignorespaces Performances des kernels effectuant la convolution s\IeC {\'e}parable optimis\IeC {\'e}e sur le mod\IeC {\`e}le des listings \ref {lst-convo-1Dv} et \ref {lst-convons-optim}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} l'ex\IeC {\'e}cution des 2 kernels.}}{124}{table.9.7} +\contentsline {table}{\numberline {9.8}{\ignorespaces D\IeC {\'e}bit global en ms (incluant les transferts) des kernels effectuant la convolution s\IeC {\'e}parable sur le mod\IeC {\`e}le des listings \ref {lst-convo-1Dv} et \ref {lst-convons-optim}, sur GPU C2070.}}{124}{table.9.8} \addvspace {10\p@ }