avx

    -2

    1답변

    필자는 Intel의 SSE 명령어를 사용하여 성능을 향상 시켰으며 최근에는 AVX 명령어를 사용하려고했습니다. 문제점 : avx 명령어를 컴파일 할 수는 있지만 실행할 수 없습니다. 지침은 다음과 같습니다 : I는이 지침을 컴파일 할 수 있습니다 __m256i* avx1 = (__m256i*)vct1; __m256i* avx2 = (__m256i*)vct

    3

    3답변

    AVX는 부동 소수점 데이터 유형 __m256 및 __m256d 및/또는와 같은 비트 논리 연산을 허용합니다. 그러나 C++에서는 float 및 double에 대한 비트 연산을 허용하지 않습니다. 맞다면 컴파일러가 IEEE754를 사용할 지 여부와 상관없이 플로트의 내부 표현에 대한 보장이 없으므로 프로그래머는 플로트 비트가 어떻게 보이는지에 대해 확신 할

    1

    2답변

    SSE/AVX를 통해 SIMD를 사용하는 Ivy Bridge CPU에서 동시에 수행 할 수있는 최대 32 비트 부호없는 정수 곱셈을 어떻게 해결할 수 있는지 누군가가 조언 할 수 있습니까? AVX에는 곱셈을위한 256 비트 레지스터가 있지만 부동 소수점 용입니다 (AVX2는 256 비트 정수 레지스터를 도입했습니다). 따라서 정수 곱셈에 부동 소수점 레지스

    0

    1답변

    int 배열 [10000]을 가지고 있으며 다음 위치에서 반복하여 0이 아닌 인덱스를 찾고자합니다. 현재 내가 기본 while 루프를 사용 while(array[i] == 0){ pos++; } 등 내가 한 번에 제로 4의 정수를 테스트 할 수있는 내장으로 알고 있지만,의 벡터 인덱스를 나타내는 뭔가를 반환하는 방법이입니다 " 첫 번째 "0이

    5

    3답변

    _mm_stream_ps 내장 함수를 가지고 놀고 있는데 성능을 이해하는 데 어려움이 있습니다. 정말 퍼즐 무엇 2.3 GHz Core i7 (I7-3615QM) (Laptop): 305.176 MB allocated Bandwidth (non-temporal): 24.2242 GB/s Bandwidth: 21.4136 GB/s

    1

    1답변

    _mm256_blend_pd를 사용하려고하는데 컴파일러 오류가 계속 발생합니다. 이 경우, gcc는 "마지막 인수는 4 비트 즉석이어야합니다"라는 오류가 발생합니다. 성공적으로 하드 코딩 된 값을 전달할 수 있지만 계산 된 값으로 오류가 발생합니다. 여기에는 오류를 나타내는 고의롭고 쓸모없는 프로그램이 있습니다. gcc 4.6.3 및 gcc 4.8.3에서

    4

    1답변

    길이의 배열을 정렬에 매우 유용 고유 _mm256_permutevar8x32_ps가 차선을 가로 질러 걸어 갔다 수행 할 수있는 AVX2, 8. 이제 나는 단지 AVX (아이비 브릿지)가 같은 일을 할 최소 사이클로. 데이터와 인덱스는 모두 컴파일 타임에 입력되고 알려지지 않습니다. 예를 들어, 배열이 [1,2,3,4,5,6,7,8]이고 인덱스가 [3,0,

    0

    1답변

    int, float 및 double 데이터 형식에 대해 SIMD 명령을 실행하려고합니다. 곱하기, 추가 및로드 작업이 필요합니다. _mm256_add_ps, _mm256_mul_ps 및 _mm256_load_ps은 (더블에 대한 *의 PD 종료) : 는 float 및 double 위해 나는 성공적으로 그 지시가 작동하도록 관리. (직접 FMADD 작업은 지

    2

    3답변

    GCC를 사용하고 명령 행 인수 -mavx를 설정할 때 컴파일러는 소스 코드에서 자동으로 __AVX__을 정의합니다. 이 방법을 사용하면 프로젝트가 AVX 명령어로 빌드되고 다른 코드 경로로 폴백하지 않으면 감지 할 수 있습니다. Clang과 동일한 작업을 수행 할 수있는 방법이 있습니까? 덕분에, 오른쪽 테스트 __AVX__에 크리스토프

    2

    1답변

    저는 SIMD 프로그래밍의 초보자입니다. 이제 __m128i a = {a1, a2, a3, a4} __m128i b = {b1, b2, b3, b4} __m128i c = {c1, c2, c3, c4} __m128i d = {d1, d2, d3, d4} 나는 다음과 같이 사이를 초기화하고 싶습니다 : __m128i x1 = {a1, b1, c1,