intrinsics

    1

    1답변

    저는 AVX2 x86 256 비트 SIMD 확장을 사용하고 있습니다. 32 비트 정수 구성 요소 현명 if-then-else 명령을 수행하려면 싶습니다. 인텔 문서에서 이러한 명령을 vblend라고합니다. 인텔 내장 가이드에는 _mm256_blendv_epi8 기능이 있습니다. 이 함수는 거의 필요한 것을 수행합니다. 유일한 문제는 8 비트 정수로 작동한다

    2

    1답변

    일반적으로 대기 시간과 처리량의 차이를 제대로 파악하고 있다고 생각합니다. 그러나 Intel Intrinsics에서는 명령 처리량에 대한 대기 시간의 영향이 분명하지 않습니다. 특히 여러 내장 호출을 순차적으로 (또는 거의 순차적으로) 사용할 때 특히 그러합니다. 예를 들어, 고려하자 : _mm_cmpestrc 이 11의 대기 시간과 하 스웰 프로세서

    9

    2답변

    C++ 표현식 템플릿을 사용하여 값 배열에서 작동하는 SSE2 및 AVX 코드를 간단하게 작성하는 매우 간단한 프로그램을 테스트하고 있습니다. 값 배열을 나타내는 svec 클래스가 있습니다. SSE2 이중 레지스터를 나타내는 sreg 클래스가 있습니다. expr 및 add_expr은어레이의 추가를 나타냅니다. 컴파일러는 수식 코드 테스트 케이스와 비교하여

    0

    1답변

    __m256i 레지스터가 있고 각 64 비트 그룹에서 4 개의 하위 32 비트를 추출하여 압축하여 메모리에 연속 저장합니다. 즉, __m256i 레지스터에 8 개의 32 비트 단어가 들어있는 경우 {a0, a1, a2, a3, a4, a5, a6, a7}, {a0, a2, a4, a6} 네 개의 단어를 연속적으로 메모리에 저장하려고합니다. 는 다음 코드를

    1

    2답변

    나는 _mm_shuffle_ps의 작동 방식을 이해합니다. 예를 들어 다음과 같습니다. __m128 r = _mm_shuffle_ps(x,y, _MM_SHUFFLE(2,0,2,0)); r는 내용 x[0], x[2], y[0], y[2]이있을 것이다. 그러나 _MM_SHUFFLE도 _mm256_shuffle_ps에 대해 4 개의 매개 변수를 사용하는 반면

    0

    1답변

    에 LLVM-연타를 사용하여 네온 내장 함수를 변환하는 방법 :는 clang -S -emit-llvm hello.c -o hello.ll 나는 LLVM-IR, 같은 코드에 고유 네온을 번역하고 싶습니다 이 :이 같은 /* neon_example.c - Neon intrinsics example program */ #include <stdint.h>

    10

    1답변

    누군가가 대기하고 Intel Intrinsic Guide에 주어진 처리량 값을 설명 할 수 있습니까? 대기 시간은 명령어가 실행되는 데 걸리는 시간의 양이고 처리량은 시간 단위당 시작할 수있는 명령어의 수임을 정확히 알고 있었습니까? 내 정의가 정확하다면 최신 CPU 버전 (예 : mulps)에서 일부 명령어의 대기 시간이 더 높은 이유는 무엇입니까?

    3

    1답변

    Intel SSE/AVX/FMA 내장 함수를 사용하여 일부 수학 함수에 대해 SSE/AVX 명령어를 완벽하게 인라이닝 할 수 있습니다. 다음 코드가 -march = - 64 -03 -mfma std_fma(float, float, float): # @std_fma(float, float, float) vfmadd213ss xmm0,

    -2

    1답변

    삼각형 채우기, 텍스처 매핑, 클리핑 등과 같은 OpenGL/DirectX의 일반 작업에 해당하는 GPU에는 내장 함수/지침이 있습니까? 그렇다면 GPU에서 실행되는 OpenCL 또는 CUDA 코드를 사용하여 액세스 할 수 있습니까? 편집는 : OpenGL을에서 등 삼각형 작성, 같은 작업의 OpenCL 또는 CUDA에서 액세스 할 수없는 특정 GPU 지침

    2

    2답변

    인텔의 SSE 내장 함수를 사용하여 프로세서의 플래그 레지스터를 확인할 수 있는지 궁금합니다. 예를 들어 : 컴파일러는 단일 명령 (pcmpistri) 및 플래그가 점프 명령 (jz)로 등록 확인에 두 내장 함수를 최적화 할 수있는 본 실시 예에서는 int idx = _mm_cmpistri(mmrange, mmstr, 0x14); int zero = _m