simd

    2

    1답변

    AVX (ARM NEON에서 제공)를 처음 접했고 AVX에 많은 U8 산술이 부족하다는 사실에 놀라움을 금치 못했습니다. 는 그러므로 나는 인라인 함수와 max(a,b)-min(a,b)에 의지했다 : static inline __m256i _mm256_abd_epu8(__m256i a, __m256i b) { return _mm256_sub_ep

    0

    2답변

    가 나는 M128의 최대 플로트를 반환 동등한 기능이 될 것입니다 무엇 _m128i int horizontal_max_Vec4i(__m128i x) { __m128i max1 = _mm_shuffle_epi32(x, _MM_SHUFFLE(0,0,3,2)); __m128i max2 = _mm_max_epi32(x,max1); __m

    2

    1답변

    SSE 요소에서 작동하는 지수 함수의 근사값을 찾고 있습니다. 즉 - __m128 exp(__m128 x). 나는이 빠른 있지만 정확도가 매우 낮은 것으로 보인다 구현 : static inline __m128 FastExpSse(__m128 x) { __m128 a = _mm_set1_ps(12102203.2f); // (1 << 23)/ln(2

    3

    1답변

    11 비트 정확도의 빠른 atan2 (float)를 가수로 구현하려고합니다. atan2 구현은 이미지 처리에 사용됩니다. 따라서 SIMD 명령어 (x86 (SSE2 사용) & ARM (vpfv4 NEON 사용))를 사용하여 구현하는 것이 더 나을 수 있습니다. 지금은 Chebyshev 다항식 근사법 (https://jp.mathworks.com/help/f

    0

    3답변

    자동 벡터화가 활성화되어 있습니다. I 코드를 컴파일 할 때, 다음과 같은 경고가 나타날 info C5002: loop not vectorized due to reason '1203' MSDN는 루프 체 배열에 인접하지 않은 액세스를 포함하는 것을 지정한다. 나는 도움이 링크, 1, 2, 조사를했지만 운이 없었 없습니다. 어떤 도움이 환영 for (in

    7

    1답변

    저는 심플한 초보자입니다. (AVX2 호환 컴퓨터를 사용하고 있기 때문에) 주제에 관한 this 기사를 읽었습니다. 이제 포인터가 정렬되었는지 확인하기 위해 this 질문을 읽었습니다. #include <iostream> #include <immintrin.h> #define is_aligned(POINTER, BYTE_COUNT) \ (((

    2

    1답변

    gcc를 대신 사용하여 icpc 및 mkl 수학 라이브러리로 컴파일 된 큰 코드를 컴파일하려고합니다. 다음은 AVX가 필요한 코드입니다. #include <immintrin.h> #include <stdint.h> #include <math.h> . . _mm256_set_m128d( _mm256_extractf128_pd(t2, 0) + _mm

    23

    1답변

    여기 일부 std::array 사용시 GCC 6,7 최적화 실패 코드의 C 배열처럼 정렬 표준 : 배열을 최적화하기 위해 실패 생성 g++ -std=c++14 -O3 -march=haswell -S -DC_ARRAY와 상기 컴파일 #include <array> static constexpr size_t my_elements = 8; class Foo

    4

    1답변

    나는 종종 integral image를 계산할 필요가있다. 이것은 간단한 알고리즘입니다 : uint32_t void integral_sum(const uint8_t * src, size_t src_stride, size_t width, size_t height, uint32_t * sum, size_t sum_stride) { memset(sum

    4

    1답변

    커널에서 SSE 명령어 (SSE/AVX 등)를 많이 사용하지 못했습니다 (RAID6의 패리티 계산 속도를 높이는 데 사용 된 곳을 제외하고). Q1) 이에 대한 구체적인 이유 또는 유스 케이스가 부족합니까? 내가 SIMD 명령어를 사용하려는 경우 장치 드라이버 말에, 오늘 일을해야 무엇 Q2)? Q3) 어떻게 하드가 (단지) 실험에 대한 커널에 ISPC 같