avx

    1

    1답변

    AVX 레지스터에 저장되어있는 double 형 벡터가 요소 {a0,a1,a2,a3}입니다. 나는이 사용 AVX를 할 수있는 방법 b = {a0,a1,a0,a0} c = {a1,a2,a2,a1} d = {a2,a3,a3,a2} : 지금, 나는 세 가지 새로운 벡터를 (이 또한 __m256d 변수로 저장해야합니다), 다음과 같은 요소를 포함, B, C

    8

    4답변

    내 상상인가 아니면 PNOT 명령어가 SSE 및 AVX에서 누락 되었습니까? 즉, 벡터의 모든 비트를 뒤집는 명령입니다. 그렇다면 PXOR보다 1을 모두 에뮬레이트하는 더 좋은 방법이 있습니까? 그 접근 방식을 사용하려면 모든 1의 벡터를 설정해야하기 때문에 상당히 짜증납니다.

    10

    2답변

    recurring problem AVX-256 명령어를 SSE 명령어와 혼합 할 때 많은 인텔 프로세서 (필자가 잘못하지 않는 한 Skylake까지) 성능이 좋지 않은 것으로 보입니다. Intel's documentation에 따르면 이는 YMM 레지스터의 상위 128 비트를 유지하기 위해 정의 된 SSE 명령어로 인해 발생하므로 AVX 데이터 경로의 상위

    4

    2답변

    나는 이상한 일이있어 실제로 설명 할 수 없습니다. 일부 숫자 코드를 작성하려고하고 일부 구현을 벤치마킹합니다. 방금 SSE 및 AVX 및 gcc 자동 벡터화로 일부 벡터 추가를 벤치마킹하려고했습니다. 이를 테스트하기 위해 아래 코드를 사용하고 수정했습니다. 코드 : 타이밍에 대한 #include <iostream> #include <immintrin.h

    3

    1답변

    gcc (AT & T 구문)의 다음 코드 (Intel 구문)를 실행하고 싶습니다. ; float a[128], b[128], c[128]; ; for (int i = 0; i < 128; i++) a[i] = b[i] + c[i]; ; Assume that a, b and c are aligned by 32 xor ecx, ecx ; L

    1

    1답변

    C/C++에서 SIMD (AVX 및 AVX2와 같은) 명령어에 내장 함수를 사용할 수 있습니다. Rust에서 SIMD를 사용할 방법이 있습니까?

    3

    1답변

    기본적으로 AVX2 내장 함수로 이와 동등한 것을 작성하려면 어떻게해야합니까? 여기서 result_in_float은 __m256이고 은 short int* 또는 short int[8]입니다. for(i = 0; i < 8; i++) result[i] = (short int)result_in_float[i]; 나는 수레가 __m256i _mm25

    4

    1답변

    PTEST 은 캐리 플래그에 영향을주지 않지만 ZF는 (다소 어색한) ZF 만 설정합니다.은 CF와 ZF에도 영향을 미칩니다. 많은 수의 값을 테스트하기 위해 다음 시퀀스를 생각해 냈지만 실행 시간이 좋지 않아 만족스럽지 않습니다. Latency/rThoughput setup: xor eax,eax ; na vpxor xmm0,x

    2

    1답변

    나는 스칼라 행렬 덧셈 커널을 구현했다. gcc -O2 msse4.2 : 다음 이때 #include <stdio.h> #include <time.h> //#include <x86intrin.h> //loops and iterations: #define N 128 #define M N #define NUM_LOOP 1000000 float

    1

    1답변

    AVX2 벡터를 상수로 나누고 싶습니다. 나는 this question과 많은 다른 페이지들을 방문했다. 도움이 될만한 무엇인가를 보니 Fixed-point arithmetic와 나는 이해하지 못했다. 그래서 문제는이 부서가 병목입니다. I는 두 가지 시도 : 먼저 플로트와 AVX 명령으로 동작 할 캐스팅 : 첫번째 방법에서는 //outside the bo