simd

    3

    1답변

    팔 어셈블리 및 NEON SIMD 명령어를 사용합니다. 두 개의 Q 레지스터에있는 16 비트 부호없는 값의 최대 값을 얻고이를 임계 값과 비교하려고합니다. 모든 16 비트 값이 임계 값보다 작 으면 함수를 호출합니다. 하나 이상의 값이 임계 값보다 큰 경우 다른 함수를 호출합니다. 다음 SIMD 명령어가 최대가됩니다. // 임계 값은 r은 vdup.16

    1

    1답변

    많은 SIMD 내장 코드가있는 코드베이스에서 작업하고 있습니다. 이제 AVX2가 생겼으므로 비 AVX 가능 프로세서에서 실행되는 SIMD 코드가 있어야합니다.이 코드는 훨씬 더 많은 작업이 필요합니다. 게다가 AVX2 셔플에 대한 128 비트 레인 교차 제한은 상황을 복잡하게 만듭니다. 이러한 이유로 자동 벡터 라이 제이션에 더 많이 의존해야 할 때입니다.

    4

    1답변

    정수 레지스터를 short 레지스터로 유형 변환하는 SSE2 명령어가 있습니까? 그 반대의 경우도 있습니까? 제발 제안 해주세요.

    3

    2답변

    현재 SSE 사용으로 많은 이점을 얻을 수있는 C#의 응용 프로그램을 코딩하고 있습니다. 상대적으로 작은 코드로 인해 실행 시간이 90-95 %가됩니다. 코드 자체는 SSE (매트릭스 및 벡터 기반)에서도 완벽하므로 Mono.Simd를 사용하기 시작했습니다. 실행 시간에 상당한 차이가 있었지만 여전히 충분하지 않습니다. Mono.Simd의 문제점은 매우 오

    1

    1답변

    AVX 내장 함수를 사용하여 기하 평균 sqrt (a * b)를 쓰려고하는데 당밀보다 느리게 실행됩니다! int main() { int count = 0; for (int i = 0; i < 100000000; ++i) { __m128i v8n_a = _mm_set1_epi16((++count) % 16),

    2

    3답변

    나는이 질문을 진술로 알려줄 것이다. 이 코드는 의도 한대로 작동하지만 속도가 매우 느립니다. newton 메서드를 더 빨리 수렴 할 수있는 방법 또는 __m256 var을 부동 소수점 배열 등을 사용하지 않고 단일 부동 소수점과 동일하게 설정하는 방법이 있습니까? __m256 nthRoot(__m256 a, int root){ #define align

    -1

    1답변

    float myfunction (P b1, P b2, int dimention) { __m128 v_b1,v_b2,v_b3; int j=0; for (int i=0; i<dimention/4; i++) { v_b1=_mm_load_ps(b1.c +j); v_b2=_mm_load_ps(b2.c +j);

    1

    1답변

    특히 SSD2 uptil SSE4.x 명령어 세트에서 SIMD 명령어 (내장 함수)를 사용하여 비 가정 (두 가지 데이터 유형이 동일하지 않음) 비교를 수행 할 수 있습니까? . 즉 float 및 double? 또는 32 비트 및 64 비트 정수? 심지어 정수 등이있는 부동 소수점?

    3

    2답변

    저는 14 살 때부터 게임 엔진 북을 읽었습니다. (그 당시 나는 물건을 이해하지 못했습니다 : P) 이제 꽤 오랜 세월이 흘러서 제 게임 엔진의 수학적 기초를 프로그래밍하기 시작했습니다. 나는이 '도서관'을 어떻게 디자인 할 것인지 오랫동안 생각 해왔다. (필자가 "정리 된 파일 세트"라고 말함) 몇 년에 한 번씩 새로운 SIMD 명령어 세트가 나왔고,

    0

    1답변

    연타 당신이 일류 시민으로서의 벡터 값을 처리 할 수있는하는 C/C++ 확장이 있습니다 typedef double double4 __attribute__((ext_vector_type(4)); // easy assignment double4 a = {1, 2, 3, 4}; double4 b = {4, 3, 2, 1}; // basic operator