Resultados da pesquisa a pedido "sse"

1 a resposta

Qual é a diferença entre __popcnt () e _mm_popcnt_u32 ()?

O MS Visual C ++ suporta 2 sabores da instrução popcnt em CPUs com SSE4.2:

5 a resposta

Por que o sqr escalar (x) SSE é mais lento que rsqrt (x) * x?

Eu tenho perfilado alguns dos nossos principais matemática em um Intel Core Duo, e ao olhar para várias abordagens para raiz quadrada eu notei algo estranho:...

2 a resposta

numpy around / rint slow comparado ao astype (int)

Então, se eu tiver algo comox=np.random.rand(60000)*400-200. iPython's%timeit diz: x.astype(int) leva 0.14msnp.rint(x) enp.around(x) tomar 1.01msObserve que norint earound casos, você ainda precisa gastar 0,14 ms extra para fazer ...

3 a resposta

SSE multiplicação 16 x uint8_t

Quero multiplicar com SSE4 a__m128i objeto com 16 números inteiros de 8 bits não assinados, mas só consegui encontrar um intrínseco para multiplicar números inteiros de 16 bits. Não existe nada como_mm_mult_epi8?

3 a resposta

Qual é a diferença entre intrínsecas lógicas do SSE?

Existe alguma diferença entre intrínsecas lógicas do SSE para tipos diferentes? Por exemplo, se usarmos a operação OR, existem três intrínsecos: _mm_or_ps, _mm_or_pd e _mm_or_si128, os quais fazem a mesma coisa: computarbit a bit OU de seus ...

1 a resposta

Nova sintaxe de instruções do AVX

Eu tinha um código C escrito com alguns intel-intrinsincs. Depois de compilá-lo primeiro com avx e depois com sinalizadores ssse3, obtive dois códigos de montagem bem diferentes. Por exemplo: AVX: vpunpckhbw %xmm0, %xmm1, %xmm2SSSE3: movdqa ...

3 a resposta

Maneira correta de habilitar o SSE4 em uma função / por bloco de código?

Para um dos meus programas OS X, tenho alguns casos otimizados que usam instruções SSE4.1. Em máquinas somente SSE3, a ramificação não otimizada é executada: // SupportsSSE4_1 returns true on CPUs that support SSE4.1, false otherwise ...

1 a resposta

Carregando um xmm dos registros do GP

Digamos que você tenha valores emrax erdx você deseja carregar em umxmm registo. Uma maneira seria: movq xmm0, rax pinsrq xmm0, rdx, 1É bem lento! Existe uma maneira melhor?

0 a resposta

tipo de vetor estendido personalizado: por exemplo float4 b = v.xxyz;

OpenCL, GCC e Clang têm tipo de vetor convinenteextensões.Uma das características que eu mais gosto é a capacidade de fazer um swizzle assim:

3 a resposta

Inicializando um tipo __m128 a partir de um int não assinado de 64 bits

o_mm_set_epi64 [http://msdn.microsoft.com/en-us/library/ecz16x1z%28v=vs.90%29.aspx]e instruções semelhantes _epi64 parecem usar e dependem de__m64 tipos. Eu quero inicializar uma variável do tipo__m128 de modo que os 64 bits superiores sejam 0 e ...