• Aucun résultat trouvé

CHAPITRE 9 : IMPLANTATION SUR GPU DE L’ALGORITHME HAUTE RÉ-

9.6 Résultats

9.6.1 Détermination du nombre optimal de rayons par LOR pour l’implanta-

plantation 1, des matrices de sensibilité pour un fantôme d’eau homogène de 20 cm de diamètre et 20 cm de longueur ont été construites en utilisant différents rayons dans la direction tangen- tielle (i.e. dans le plan transversal) par LOR et 2 rayons dans la direction axiale. La figure 9.4 présente l’erreur quadratique moyenne relative (RMSE) définie dans la section 8.6.3 entre les matrices de sensibilité obtenues pour différents nombre de rayons dans la direction tangentielle et celle déterminée en utilisant 10 rayons dans la même direction. Nous notons RMSE devient très faible (< 0.3%) et varie peu pour 3 rayons tangentiels et plus. De plus, l’erreur relative RE( j) = abs(1 − NLOR=3( j)

NLOR=10( j)) entre les voxels des 2 coupes centrales des matrices de sensibilité obtenues en utilisant 3 et 10 rayons dans la direction tangentielle est au maximum de 1% (figure 9.5). De ce fait, nous avons utilisé 3 rayons tangentiels et de 2 rayons axiaux par LORs pour calculer les coefficients de la MS en temps réel. Le choix de 2 rayons dans la direction axiale est considéré comme optimal puisqu’il permet d’échantillonner sans manquer des voxels de la matrice de reconstruction dont la taille des voxels dans cette direction est 3, 15 mm.

Figure 9.4 – RMSE entre les matrices de sensibilité obtenues pour différents rayons dans la direction tangentielle et celle déterminée en utilisant 10 rayons dans la direction tangentielle.

9.6. RÉSULTATS

(a) (b)

Figure 9.5 – a) La coupe centrale de la matrice de sensibilité du fantôme homogène d’eau calculée en utilisant 3 rayons dans la direction tangentielle et 2 rayons dans la direction axiale par LOR). b) L’erreur relative entre les coupes centrales des matrices de sensibilité obtenues en utilisant 3 et 10 rayons dans la direction tangentielle.

9.6.2 Validation de l’implantation

La Figure 9.6 permet de valider les deux implantations de l’algorithme AW-LOR-OSEM. En effet, les deux images 9.6 a) et b) reconstruites respectivement par l’implantation 1 de l’algo- rithme ANW-LOR-OSEM qui calcule la MS en temps réel et par l’implantation 2 qui utilise une MS pré-calculée permettent de visualiser correctement les différentes lésions simulées.

9.6.3 Temps de calcul

Le tableau 9.II présente les meilleurs temps de calcul obtenus pour estimer les matrices de sensibilité et pour exécuter les 2 implantations de l’algorithme AW-LOR-OSEM pour 10 sous- ensembles et une itération (i.e. 11 sous-itérations), 112 millions de vrais événements et une ma- trice de construction de taille 188 x 188 x 57 voxels. Pour l’implanatation 1 qui calcule la MS en temps réel, le meilleur temps est obtenu en utilisant seulement les 8 symétries dans le plan transversale. Ces résultats concordent avec ceux qui sont obtenus au chapitre 6 (voir section Ta- ble 7.I). En effet, l’utilisation des 29 symétries axiales fait augmenter le nombre de registres nécessaires par fil d’exécution et, par conséquent, fait diminuer le taux d’occupation des multi- processeurs. Par contre, pour l’implantation 2 de l’algorithme AW-LOR-OSEM qui pré-calcule MS, il fallait utiliser les 8 symétries transversales et les 29 symétries axiales pour réduire la taille de cette matrice. Donc, nous n’avons pas pu étudier pour cette implantation l’impact sur le temps

9.6. RÉSULTATS

a) b)

Figure 9.6 – Images reconstruites par AW-LOR-OSEM : a) la coupe centrale estimée par l’im- plantation 1 qui détermine MS en temps réel, et b) la coupe à 4.5 cm de la position axiale centrale calculée par l’implantation 2 qui utilise une MS pré-calculée. Les deux images sont estimées en effectuant 2 itérations, 11 sous-ensembles, 112 millions d’événements et sans fonction atomi- cAdd().

de calcul du nombre des symétries utilisées. Mais nous jugeons que le meilleur temps de cal- cul sera obtenu en exploitant toutes les symétries pour diminuer fortement la taille de la MS et réduire donc le temps d’accès à la mémoire globale.

Nous notons aussi que le temps de calcul obtenu lorsque la fonction atomicAdd() est utilisée, pour éviter la perte des événements, est nettement supérieur à celui enregistré si cette fonction n’est pas appelée. Ce temps est à peu près 5 fois supérieur dans le cas de l’implantation 1, et 2 fois supérieur dans le cas l’implantation 2.

Par ailleurs, la figure 9.7 montre que l’erreur relative entre l’image reconstruite en utili- sant la fonction atomicAdd() et celle obtenue sans faire appel à cette dernière fonction est in- férieure à 0.01%. Par conséquent, nous concluons qu’il n’est pas judicieux d’utiliser cette fonc- tion puisqu’elle engendre une grande perte des performances de calcul.

D’autre part, le temps de calcul pour l’implantation 2 est presque 2 fois celui de l’implan- tation 1 lorsque la fonction atomicAdd() n’est pas utilisée. Ceci s’explique par le fait d’utiliser plus de symétries dans l’implantation 2 pour réduire la taille de la MS cause une diminution du taux d’occupation des multiprocesseurs et crée un étranglement lors de l’accès aux différentes matrices dans la mémoire globale.

Finalement, en comparant les résultats de ce dernier travail avec ceux qui sont obtenus à la section 7.5 du chapitre 7, nous notons que non seulement la reconstruction à partir des sino-

9.7. CONCLUSION ET DISCUSSION

Tableau 9.II – Les temps de calcul des 2 implantations de l’algorithme AW-LOR-OSEM pour 11 sous-ensemble OSEM et 112 millions d’événements.

Avec utilisation sans utilisation d’atomicAdd() d’atomicAdd() Matrices de sensibilité

MS calculée en temps réel en utilisant 53 s 10 s les 8 symétries transversales

MS pré-calculée en utilisant les 8 symétries 42 s 22 s transversales et les 29 symétries axiales

ANW-LOR-OSEM algorithm, 1 itération

MS calculée en temps réel en utilisant 40 s 8 s

les 8 symétries transversales

MS pré-calculée en utilisant les 8 symétries 35 s 18 s transversales et les 29 symétries axiales

grammes est au moins 8 fois plus rapide que la reconstruction à partir du mode liste, mais aussi l’erreur due à la non-utilisation de la fonction atomicAdd() est au moins 100 fois inférieure pour la reconstruction à partir des sinogrammes qu’à partir du mode liste. Cette dernière constatation s’explique par le fait que l’accès à la matrice gradient Gr se fait d’une manière aléatoire en mode liste alors qu’elle est ordonnée en mode sinogramme.

9.7 Conclusion et discussion

Dans ce travail, nous avons implanté sur GPU Tesla C2050 avec succès les deux versions de l’algorithme AW-LOR-OSEM. L’implantation 1 qui détermine les coefficients de MS en temps réel durant la reconstruction et l’implantation 2 qui utilise une MS pré-calculée. La MS était déterminée dans les deux cas par la méthode multi-trajectoire de Siddon. Ce choix était dicté dans le cas de l’implantation 2 par la limitation de la mémoire de GPU de Tesla C2050 qui est de 3 GB et qui est insuffisante pour stocker une MS plus précise mais plus grande et qui est calculée par des méthodes plus complexes comme Monte Carlo [253]. Le défi pour les deux implantations est de développer des stratégies pour maximiser le débit de transfert entre la mémoire globale et les multiprocesseurs et minimiser l’échange de données entre ces deux composantes. Nous avons ainsi utilisé les mêmes techniques développées aux chapitres 7 et 8 et qui consistent surtout à :

9.7. CONCLUSION ET DISCUSSION

a) b)

Figure 9.7 – a) Image de l’erreur relative entre les coupes obtenues avec et sans utilisation de la fonction atomicAdd() au niveau de l’implantation 1, et b) image de l’erreur relative entre les coupes obtenues avec et sans utilisation de la fonction atomicAdd() au niveau de l’implantation 2.

1) utiliser les symétries et faire associer chaque fil d’exécution à une LOR principale et ensuite faire effectuer par le même fil la projection et la rétroprojection pour les LORs associées par symétries. Les performances sont donc améliorées en éliminant l’accès à la mémoire globale pour stocker les résultats intermédiaires de projection pour tous les LORs, 2) réordonner la matrice des données d’acquisition pour assurer les conditions de coalescence d’accès à la mémoire GPU, 3) associer la matrice image à une texture et la réordonner pour que les voxels en relation par symétrie soient voisins et 4) déclarer la matrice gradient comme 3D CUDA ARRAY de type float8 pour écrire simultanément les voxels liées par les symétries transversales. Pour l’implantation 2, nous avons réduit la taille de la MS en ne stockant que les coefficients non nuls et nous l’avons réorganisée pour les conditions de coalescence d’accès.

Les temps d’exécution obtenus permettent l’utilisation en clinique de routine l’algorithme AW-LOR-OSEM. Par ailleurs, les performances en temps de calcul obtenus pour l’implantation 1 qui détermine la MS en temps réel sont le double de celle qui utilise une MS pré-calculée. Mais malgré ces résultats, le temps d’exécution de l’implantation 2 est très rapide pour permettre de privilégier son utilisation en clinique puisqu’elle est supérieure en terme de précision de quantifi- cation [4, 111, 181, 207, 253]. De plus, les dispositifs GPU modernes tels que Tesla K20X GPU et Tesla K40X sont équipés de mémoire très étendue (respectivement 6 et 12 GB) permettant l’utilisation d’une MS très grande qui sera pré-calculée avec plus de précision en utilisant des

9.7. CONCLUSION ET DISCUSSION

méthodes plus complexes. Le futur travail est de : 1) pré-calculer la MS par la méthode Monte Carlo surtout qu’on dispose à de la puissance de calcule nécessaire pour le faire et des logiciels de modélisation TEP tels que GATE et PET-EGS , et 2) intégrer les fonctions de correction du diffusé et des événements fortuits à notre implantation et la faire exécuter sur les nouveaux dis- positifs GPU qui offrent une capacité de mémoire capable de stocker une MS déterminée par Monte Carlo.

CHAPITRE 10

CONCLUSION

La TEP est surtout utilisée en cancérologie pour déterminer le degré de malignité des tumeurs, évaluer leur progression et leur réponse aux traitements et pour détecter des métastases et des tumeurs récidivantes. Pour améliorer la précision de la quantification, les systèmes TEP moder- nes utilisent un grand nombre de détecteurs solides très performants de petite taille et des sys- tèmes électroniques rapides permettant des acquisitions 3D. Par conséquent, la taille des fichiers des données d’acquisition générées par ces systèmes est énorme, et le temps de reconstruction est devenu long par rapport aux besoins d’utilisation dans un milieu clinique.

Pour réduire ce temps de calcul, les manufacturiers compressent les données d’acquisitions et utilisent des algorithmes de reconstruction dont la convergence est plus rapide, mais dont la quantification est biaisée. Par ailleurs, le diagnostic se base essentiellement sur la mesure du paramètre semi-quantitatif SUV qui quantifie la distribution 3D du traceur alors que ces sys- tèmes ont le potentiel de déterminer in vivo avec précision des paramètres physiologiques en faisant la reconstruction 4D. Ces systèmes modernes d’acquisition ont un potentiel d’améliorer le diagnostic en cancérologie et d’élargir les applications cliniques de cette modalité, mais il n’a pas été exploité à cause des contraintes du temps de reconstruction.

10.1 Travaux et résultats

10.1.1 Accélération sur GPU du calcul de la matrice de sensibité pour la reconstruction à