Pergunta

Eu estou escrevendo uma biblioteca de gráficos em C e eu gostaria de utilizar instruções SSE para acelerar algumas das funções. Como eu iria fazer isso? Eu estou usando o compilador GCC para que eu possa confiar em intrínsecos do compilador. Eu também gostaria de saber se eu deveria mudar a maneira que eu sou armazenar os dados de imagem (atualmente estou apenas usando uma matriz de carros alegóricos) - que eu preciso para usar uma matriz do tipo float __attribute__ ((vector_size (16)))

?

EDIT: o tipo de manipulação de imagem / processamento estou no interessados ??incluem transformações afins, geometria e domínio de frequência de filtragem (análise de Fourier)

Todas as referências ou dicas sobre como eu deveria ir sobre o uso de SSE para manipulação de imagens em C seria muito apreciado.

graças

Foi útil?

Solução

Eu tenho trabalhado em algum processamento de imagem com SSE em Microsoft Visual C ++. Eu descobri que é mais fácil de alinhar todos os dados de imagem (no Visual C ++ que é feito com _aligned_malloc e _aligned_free) desde o início. O alinhamento é uma dor real, porém, é por isso que eu só usei SSE para operações aritméticas (adição, subtração, ponto produto, esses tipos de coisas). Se eu tivesse de fazer as coisas mais complicadas Eu geralmente só ponteiros usado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top