sse

    0

    2답변

    아마 내가 잘못하고있는 것이지만, 그 SIMD가 scallar 버전보다 느리다. 배열의 값을 증가시키고 싶습니다. Microsoft SIMD (NuGet 패키지 Microsoft.Bcl.Simd 시험판)를 사용하고 있습니다. 그것은 베타 버전이지만 int 및 float와 함께 잘 작동해야하지만 그렇지 않습니다. 내 벤치 using System; using

    1

    1답변

    저는 SIMD으로 새롭기 때문에 F32vec4과 같은 벡터 클래스를 사용하여 병렬로 배열을 조작하는 방법을 이해하는 데 어려움이 있습니다. #include "fvec.h" void add(float *a, float *b, float *c) { F32vec4 *av=(F32vec4 *) a; F32vec4 *bv=(F32vec4 *

    7

    2답변

    코드를 자동 벡터화하려고하는데 작동하지 않습니다. int _tmain(int argc, _TCHAR* argv[]) { const int N = 4096; float x[N]; float y[N]; float sum = 0; //create random values for x and y for (in

    -1

    1답변

    SSE Intrinsic을 사용하여 벡터 행렬 곱셈 및 행렬 행렬 곱셈을 수행하려고하는데 "분할 오류"라는 오류가 발생합니다. , 왜 4 배수를 제외하고 무엇을하려고하면, 그 이유를 알 수 없기 때문에 다른 어떤 것도 작동하지 않습니다. 모든 크기의 입력에 적용되도록 변경 사항을 제안하십시오. #include <stdio.h> #include <stdli

    0

    1답변

    __m128d c1,c2,c3,c4,a1,a2,b1,b2; int ida = 2; for(int i = 0; i<n; i++) { b1 = _mm_load_pd(b+i*n); b2 = _mm_load_pd(b+i*n+ida); for(int j = 0; j<n/2; j++) { a1 = _mm_load_pd(a+i

    3

    2답변

    _mm_set_epi*을 피하고 _mm_load_si128 (또는 _mm_loadu_si128)을 사용하는 것이 가장 좋음을 이해했습니다. 데이터가 정렬되지 않은 경우 작은 실적이 발생합니다. 그러나 성능에 미치는 영향이 저와 일치하지 않는 것 같습니다. 다음은 좋은 예입니다. static uint32_t clmul_load(uint16_t x, uint1

    1

    1답변

    2D 배열을 처리 할 때 공통점은 값 집합을로드 한 다음 왼쪽 또는 오른쪽으로 이동 한 다음 더 이상 필요하지 않은 값에 1 개의 값을 더로드하는 것입니다. 이 일을하는 가장 좋은 방법은 무엇입니까 ?? float arr[128][128]; for(int i = 1;i < 127;++i) for(int j = 1;j < 127;++j) { __m1

    4

    1답변

    다음 코드 단편이 어떻게 작동하는지 이해하려고합니다. 이 프로그램은 SIMD 벡터 명령어 (Intel SSE)를 사용하여 4 개의 부동 소수점 (즉, 기본적으로 벡터화 된 "fabs()"함수의 절대 값을 계산합니다. 나 자신을 테스트 할 수있는 프로그램을 실행하기 때문에 #include <iostream> #include "xmmintrin.h" te

    2

    1답변

    OpenCV's Mat 처리를 위해 SSE/SSE2의 향상을 테스트하고 싶습니다. SSE's의 성능 향상은 16 바이트 정렬 데이터에 대해서만 명백하므로 (1) SSE 레지스터와 함께 사용할 Mat 매트릭스를 수정하려면 무엇이 필요합니까? 내가 한 일은 다음과 같았고 (2) 그 일을 올바르게하는 방법 이었습니까? void test(Mat flowxy, Ma

    6

    3답변

    내 OS X 프로그램 중 하나에 대해 SSE4.1 지침을 사용하는 몇 가지 최적화 된 사례가 있습니다. // SupportsSSE4_1 returns true on CPUs that support SSE4.1, false otherwise if (SupportsSSE4_1()) { // Code that uses _mm_dp_ps, an SSE