A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Módulo V Bibliotecas Otimizadas. Bibliotecas de Otimização Bibliotecas otimizadas para os processadores Intel ® XScale Disponíveis e no site PCA Developer.

Apresentações semelhantes


Apresentação em tema: "Módulo V Bibliotecas Otimizadas. Bibliotecas de Otimização Bibliotecas otimizadas para os processadores Intel ® XScale Disponíveis e no site PCA Developer."— Transcrição da apresentação:

1 Módulo V Bibliotecas Otimizadas

2 Bibliotecas de Otimização Bibliotecas otimizadas para os processadores Intel ® XScale Disponíveis e no site PCA Developer Network

3 Intel ® IPP/GPP Library Integrated Performance Primitives (IPP) Funções DSP Áudio Codecs de vídeo Criptografia (novo na versão 4) Graphics Performance Primitives (GPP) Funções geométricas Funções gráficas Licenciado a baixo custo em microprocessadores Intel® XScale

4 Intel ® IPP Library FFT, IFFT, DCT, IDCT Average, FIR, Median, etc... RGB, YUV, YCbCr, YCC, etc... Erode and Dilate Norms, Moment Add, Sub, Mul, Sqr, Set, Zero,etc. Transformações Filtros Conversão de Cores Morfologia Estatísticas de Vetores Manipulação de Vetores

5 Intel ® IPP Codec Library GSM-AMR G MP3 Decoder MPEG-4 Decoder H.263 Decoder JPEG Fala Áudio Vídeo Imagem

6 Intel ® GPP Library Ponto Flutuante Ponto Fixo Mul, SQ, Div, Inv Div, Inv, Sqrt, Inv Sqrt Sin, Cos, SinCos Add, Sub, Scale, Dot, Cross, Length, Normalize, Transform Identity, Translate, Scale, RotX, RotY, RotZ, Multiply Conversão de Tipo de Dado Aritmética com ponto fixo Com aproximações Trigonometria Vetor Matriz Scanline(F/G, +/-Z, +/-T(M/A/D)) Rasterização

7 Formato Ponto Fixo IPP/GPP usam o formato de ponto fixo Algumas funções usam Q15.16, algumas Q0.15, algumas permitem especificar o n de Qm.n Formato Qm.n n especifica quantos bits disponíveis para a parte fracionária Precisão de 2 n m especifica o número de bits da parte inteira. 1 bit reservado para o sinal Exemplo: Q b 31 b 30 b 16 b 15 b 14 b1b1 b0b0

8 Operações com Ponto Fixo Multiplicação a=1,5; em Q ,5*2 16 =98304 b=0,5; em Q ,5*2 16 =32768 Somando a e b =131072=2,0*2 16 ((1,5+0,5)*2 16 )/2 16 Q15.16 O resultado deverá ser dividido por 2 16 (65536 )

9 Precisão Interna da Biblioteca O resultado deve ser deslocado para baixo unsigned long tmp, result; unsigned short data; tmp = data << 8; gppSqrtHP_n_32s(tmp1,&result,8); data = result >> 8; Um número Q15.0 precisa ser antes deslocado para cima, reservando assim espaço para os valores fracionários O dado está no formato Q15.0, desloca-se 8 bits para esquerda criando espaço para uma melhor precisão. Então o número está no formato Q23.8. Depois da chamada, o dado retornado deve ser deslocando mais uma vez de 8 bits para a direita.

10 Esquema dos Nomes IPP ipp _ _ _ (parameter list) domain: funcionalidade do subconjunto s - signal processing. operation: comportamento da função FFTFwd – FFT Forward function-specific modifier: especifica melhor a operação RToCCSL128 – Real para Complex Conjugate Symmetric com 128 pontos

11 Esquema dos Nomes IPP ipp _ _ _ (parameter list) datatype: especifica o número de bits e/ou a disposição dos dados: # [c] 16s – 16 bits com sinal (tipo dos parâmetros de entrada e saída) 16s32sc - 16 bits de entrada com sinal e 32 bits de saída complexos com sinal data modifier : dados associados com a operação D1 – sinal de uma dimensão; D2 – sinal de duas dimensões; I – operação in-place; Sfs – operação com saturação. parameter list: Lista de parâmetros (podem ser tipos IPP ou não)

12 Esquema dos Nomes IPP IppStatus ippsSet_16s( Ipp16s val, Ipp16s * pDst, int len); IppStatus ippsFFTFwd_RToCCSL128_16s32sc( const Ipp16s * pSrc, Ipp32sc * pDst); IppStatus ippsAddC_16s_ISfs( Ipp16s val, Ipp16s * pSrcDst, int len, int scaleFactor);

13 Esquema dos Nomes GPP gpp _ _ (parameter list) graphics/data entity: tipo de funcionalidade Vet3D; Matrix4x4 action: comportamento da função SinCos – cálculo de seno e coseno fraction_part: especifica a parte fracionária 16, 32 ou n que indica n bits para representação fracionária datatype: especifica o número de bits e/ou a disposição dos dados: # [c] (#=16 ou 32)

14 Esquema dos Nomes GPP GppStatus gppSinCosHP_n_32s ( I32 theta, I32* sin_theta, I32* cos_theta, U32 n); GppStatus gppDiv_16_32s( I32 num, I32 denom, I32* pDst); GppStatus gppDiv_n_32s( I32 num, I32 denom, I32* pDst, U32 n);

15 quad_eqn(I32 a, I32 b, I32 c, U32 n, I32 *r1, I32 *r2) { I32 val1, val2, sqrt_val, num1, num2, den; gppSquare_n_32s(b, &val1, n);// Eleva ao quadrado gppMul_n_32s(a, c, &val2, n);// a*c val2 <<= 2;//*4 gppSqrtHP_n_32s((val1 – val2), &sqrt_val, n); num1 = -b – sqrt_val; num2 = -b + sqrt_val; den = a << 1; gppDiv_n_32s(num1, den, r1, n); gppDiv_n_32s(num2, den, r2, n); } Cálculo das Raízes de uma Equação do 2 o Grau

16 IPP/GPP Library – Ajustando a IDE Insira o caminho dos arquivos.lib C:\ARQUIVOS DE PROGRAMAS\INTEL CORPORATION\GPP\LIB C:\ARQUIVOS DE PROGRAMAS\INTEL CORPORATION\IPP\ IPPWMMX40\LIB

17 IPP/GPP Library – Ajustando a IDE Insira o caminho dos arquivos.h C:\ARQUIVOS DE PROGRAMAS\INTEL CORPORATION\GPP\ INCLUDE C:\ARQUIVOS DE PROGRAMAS\INTEL CORPORATION\IPP\ IPPWMMX40\INCLUDE

18 IPP/GPP Library – Ajustando a IDE Aquivos que terminam com _r são para release Arquivos que terminam com _d são para debug Adicione o arquivo da biblioteca para a guia de ligação em Project->Settings

19 Arquivos binários de imagem das Intel IPP para Windows Tipos de funçõesPocket PC ou Smartphone Processamento de Sinais ippSP_WMMX40PPC_r.lib ippSP_WMMX40PPC_d.lib CODEC de Áudio ippAC_WMMX40PPC_r.lib ippAC_WMMX40PPC_d.lib CODEC de Vídeo ippVC_WMMX40PPC_r.lib ippVC_WMMX40PPC_d.lib CODEC de Voz ippSC_WMMX40PPC_r.lib ippSC_WMMX40PPC_d.lib

20 Arquivos binários de imagem das Intel IPP para Windows Tipos de funçõesPocket PC ou Smartphone Processamento de Imagens ippIP_WMMX40PPC_r.lib ippIP_WMMX40PPC_d.lib CODEC JPEG ippJP_WMMX40PPC_r.lib ippJP_WMMX40PPC_d.lib Criptografia ippCP_WMMX40PPC_r.lib ippCP_WMMX40PPC_d.lib Áudio Toolkit API ippSR_WMMX40PPC_r.lib ippSR_WMMX40PPC_d.lib

21 Arquivos binários de imagem das Intel GPP para Windows Apenas um arquivo gppXSC11_r.lib ou gppXSC11_d.lib

22 Intel ® Compiler Library O Compilador Intel possui uma biblioteca em tempo de execução (run-time) ligada estaticamente A biblioteca possui funções de alta performance para raiz quadrada, multiplicação com ponto flutuante, divisão, divisão inteira, etc. É possível usar a biblioteca sem usar o compilador da Intel (mesmo não sendo muito conveniente fazer isso) Você pode encontrar informações detalhadas na seção libraries da ajuda do compilador da Intel, em Tools->Intel Help

23 Módulo V Laboratório


Carregar ppt "Módulo V Bibliotecas Otimizadas. Bibliotecas de Otimização Bibliotecas otimizadas para os processadores Intel ® XScale Disponíveis e no site PCA Developer."

Apresentações semelhantes


Anúncios Google