intrinsics

    0

    1답변

    OMNeT ++ 5.0을 사용하고 있으며 본인의 CPU에 내장 된 인텔 고유 기능에 액세스하고 싶습니다. 32 비트 버전 대신 64 비트 버전을 사용하고 싶습니다. 예 : int i = _popcnt64 (15); 몇 년 전 (2013 년)에 OMNeT ++ 패키지의 실행 파일이 32 비트인지 여부에 관계없이 읽었습니다. OMNeT ++에서 clang을 사

    0

    1답변

    ARM Developer Command Prompt에서 VS2013, MS2015 및 VS2017에서 프로그램을 컴파일하는 데 문제가 있습니다. <stdint.h> 및 <arm_neon.h>의 문서에 따르면 헤더가 정확합니다. 무엇이 문제이며 어떻게 수정합니까? 다음은 프로그램 스텁입니다. 다른 컴파일러에서는 full program works입니다. #in

    1

    1답변

    this question에 따르면 이번에는 5 x 5 및 7 x 7의 가로 덧셈을 구현했습니다. 제대로 작동하지만 빠르지 않습니다. 더 빠를 수 있습니까? hadd과 다른 명령어를 사용하려고했지만 개선이 제한되었습니다. 예를 들어, _mm256_bsrli_epi128을 사용하면 약간 더 나아졌지만 차선 때문에 이점을 망칠 여분의 순열이 필요합니다. 따라서

    6

    2답변

    SSE 유형간에 변환을 구현하고 있으며 SSE4 이전 대상에 대해 int8-> int64 확장 변환을 구현하는 것이 번거롭다는 것을 발견했습니다. inline __m128i convert_i8_i64(__m128i a) { #ifdef __SSE4_1__ return _mm_cvtepi8_epi64(a); #else a = _mm_u

    0

    1답변

    AVX2에서 내 프로그램의 새 버전에 256 비트 변수 (__m256i 유형)를 사용하고 인텔 내장 함수를 사용합니다. 이전에는 64 비트 청크가 데이터 처리에 사용되었습니다. 따라서 _mm_crc32_u64 함수는 CRC 계산에 사용됩니다. crc = _mm_crc32_u64(seed,*chunk_64bit); 하지만 지금은 내가 별도로 각 256 개

    3

    1답변

    SSE 내장 함수를 사용하여 16 개의 8 비트 정수를 4로 나눌 수 있습니까? 아니면 2를 오른쪽으로 시프트 할 수 있습니까?

    0

    1답변

    저는 파이썬을 사용하기 때문에 파이썬에서 예제를 만들겠습니다.하지만 질문은 파이썬에 관한 것이 아닙니다. 주어진 경계에 머무를 수 있도록 특정 값만큼 변수를 증가 시키려고합니다. def up (a, s, Bmax): r = a + s if r > Bmax : return Bmax else : return r def down (

    0

    1답변

    내장 연산을 사용하고 x가 double이라고 가정하고 1/x를 계산하려고합니다. 나는 다음과 같이 계산을 달성하기 위해 노력하고 있어요 : __inline__ double __attribute__((const)) rcp_d (double x) { double res; _mm_store_pd(&res, _mm_rcp_ps(_m

    5

    1답변

    내장 함수를 사용하여 SIMD 벡터의 요소를 증가시키고 싶습니다. 가장 간단한 방법은 다음과 같이 각 요소에 1을 추가하는 것 같다 : (참고 : vec_inc 전에 1로 설정되어있다) vec = _mm256_add_epi16 (vec, vec_inc); 하지만 벡터를 증가하기 위해 특별한 지시가? inc과 같이 this page? 아니면 다른 쉬운 방

    0

    1답변

    벡터의 모든 요소를 ​​추가하기 위해 인라인 함수를 구현했지만 비 SIMD 추가보다 빠르지는 않습니다. 선언 :이 벡터의 모든 int 값을 추가 내 두 가지 방법 #define N 128 #define M N int __attribute__((aligned(32)))temp8[8]; __m256i vec; int __attribute__((align