Resultados da pesquisa a pedido "sse"
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:
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:...
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 ...
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?
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 ...
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 ...
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 ...
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?
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:
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 ...