intrinsics

    3

    1답변

    SSE 내장 함수를 사용하여 if 문에 해당하는 내용을 작성하려고합니다. 내가 비교에게 < B를 할 __m128 _mm_cmplt_ps(__m128 a, __m128 b)을 사용하고, 그 비교는 각각 참 또는 거짓이라면이 0xffffffff 또는 0x0 반환합니다. 이 값을 1과 0으로 변환하고 싶습니다. 이렇게하려면 논리적 "and"__m128 _mm_a

    -5

    1답변

    성능에 영향을주는 내장 함수를 연구 중이므로 조금 혼란 스럽습니다. 전혀 영향을 미치지 않는 것 같습니다! 나는 두 개의 다른 함수로 두 배의 배열을 채우려고 노력하고 있는데 차이점이 없다. 정렬 매개 변수를 8로 설정하여 _aligned_malloc을 호출하여 배열을 할당했습니다. Visual Studio 2008을 사용하고 컴파일 모드 (/ O2 -/O

    2

    2답변

    내가이 오류 > clang -std=c99 -c derivative.c -o derivative.a fatal error: error in backend: Cannot select: intrinsic %llvm.spu.si.sf 을 얻고 난 이미 검색 #include <stdio.h> #include <math.h> int N = 100; do

    0

    1답변

    MMX 및 SSE와 같은 SIMD 기능에 대해 C/C++ 내장 유형을 사용하는 방법에 대해 읽은 모든 내용은 이들을 불투명 한 형식으로 사용하고 내부 참조를 직접 참조하지 않아야 함을 나타냅니다. 그러나 많은 예제를 살펴보면 원시 데이터에 대한 포인터를 가져 와서 작업하기 전에 내장 유형에 대한 포인터로 재 해석합니다. 그러나 내장 유형에 대한 포인터를 사

    7

    1답변

    의 큰 배열의 최대 값을 찾기 위해 어떻게 내가 SSE3 내장 함수를 사용하여 벡터화 시도 최대 값 int length = 2000; float *data; // data is allocated and initialized float max = 0.0; for(int i = 0; i < length; i++) { if(data[i] >

    5

    1답변

    인텔 내장 안내서에는 여러 가지 내장 CPU의 하단에 여러 CPUID의 성능을 나열하는 '대기 시간 및 처리량 정보'가 있습니다. CPUID(s) Parameters Latency Throughput 0F_03 13 4 06_2A xmm1, xmm2 5 2 06_25/2C/1A/1E/1F/2E xmm1, xmm2

    4

    5답변

    C++ 코드의 NEON 내장 함수를 사용하여 ARM 최적화 작업을하고 있습니다. 나는 타이핑 문제의 대부분을 이해하고 마스터하지만,이 문제에 집착하고있다 : vzip_u8 명령어는 uint8x8x2_t 값 (실제로는 2 개의 배열 uint8x8_t)을 반환한다. 반환 된 값을 일반 uint16x8_t에 할당하려고합니다. 이를 달성하기 위해 본질적으로 적절한

    3

    1답변

    최근에 참조에 따라 "인덱스로 선택된 압축 된 정수 배열 요소에서 정수 바이트를 추출합니다"라는 SSE 내장어 int _mm_extract_epi8 (__m128i src, const int ndx)을 사용했습니다. . 이것은 내가 원하는 것입니다. 그러나 _m128i에있는 _mm_cmpestri을 통해 색인을 결정합니다.이 색인은 문자열 데이터와 명시 적

    4

    2답변

    효율적으로 256 비트 벡터의 요소에 액세스하려면 어떻게해야합니까? 예를 들어 c = _mm256_dp_ps(a, b, 0xff); 으로 내적을 계산 한 다음 어떻게 값을 액세스 할 수 있습니까? 나는 높은 부분과 낮은 부분 모두를 얻을 필요가 내가 처음과 같은 128 개 비트 부품을 추출 할 필요가 있음을 제대로 이해하지 : r0 = _mm256_ex

    0

    1답변

    함수를 호출하기 전에 프로세서 레지스터 중 하나의 값을 수정해야하는 C로 작성한 응용 프로그램이 있습니다. 일반적으로 인라인 어셈블리를 사용하여이 작업을 수행하지만, 64 비트 응용 프로그램에서는 제거 된 것으로 알고 있습니다. 또한 특정 프로젝트 제약으로 인해 ml64로 컴파일 된 별도의 .asm 파일에서이 작업을 수행 할 수 없습니다. 그래서 기본적으로