J'écris une bibliothèque graphique en C et je voudrais utiliser les instructions SSE pour accélérer certaines fonctions. Comment ferais-je cela? J'utilise le compilateur GCC pour pouvoir compter sur les intrinsèques du compilateur. Je voudrais aussi savoir si je devrais changer la façon dont je stocke les données d'image (actuellement j'utilise juste un tableau de flotteurs) - ai-je besoin d'utiliser un tableau de type float __attribute__ ((vector_size (16)))
?Manipulation d'image rapide à l'aide des instructions SSE?
EDIT: le type de manipulation d'image/traitement Je suis intéressé par inclure des transformations affines, la géométrie et le filtrage de domaine de fréquence (analyse de Fourier)
Toute référence ou des conseils sur la façon dont je devrais aller sur l'utilisation de l'ESS pour la manipulation d'images en C serait très apprécié.
grâce
Vous devez décrire les algorithmes de votre bibliothèque. Pas besoin de tout prématurément convertir tout pour flotter ... il y a beaucoup d'instructions SSE qui traitent de char, short et int, certaines sont spécifiquement conçues pour une étape de traitement d'image typique (comme MPSADBW). Et aimez-vous l'assemblage de bas niveau de programmation et de truc? Sinon, SSE n'est probablement pas pour vous. – hirschhornsalz
drhirsh, Ma bibliothèque prendra en charge les fonctions standard telles que la rotation, l'échelle, le cisaillement, les composites, la géométrie, etc. Il y aura donc beaucoup de travail de matrice. Aussi je recherche le traitement d'image de domaine de fréquence (transformées de Fourier et tels). Oui, je suis très intéressé par faire plus de programmation au niveau de l'assemblage, j'ai fait un peu dans le passé et en profiter :) Des conseils sur où je vais pour en savoir plus sur SSE et manipulation/traitement d'image? :) – horseyguy
@banister: Vous pouvez trouver quelques-uns des liens que j'ai publiés sur http://stackoverflow.com/questions/1389712/getting-started-with-sse/1795196#1795196 utiles pour en savoir plus sur SSE en général. Je n'ai pas d'expérience avec le traitement d'image. – int3