sse

    6

    1답변

    제목은 넌센스로 보일 수 있지만 설명하겠습니다. 나는 다음과 같은 어셈블리 코드가 발생했을 때 다른 일 프로그램을 공부 : movaps xmm3, xmmword ptr [rbp-30h] lea rdx, [rdi+1320h] movaps xmm5, xmm3 movaps xmm6, xmm3 movaps xmm0, xmm3 movss dword ptr

    2

    1답변

    다음 루프는 정수 행렬을 다른 정수 행렬로 변환합니다. 흥미롭게 컴파일 할 때 출력 결과를 출력 행렬에 저장하는 명령어 인 movaps을 생성합니다. 왜 gcc이 이것을할까요? 데이터 : int __attribute__((aligned(16))) t[N][M] , __attribute__((aligned(16))) c_tra[N][M]; 루프

    2

    1답변

    나는 스칼라 행렬 덧셈 커널을 구현했다. gcc -O2 msse4.2 : 다음 이때 #include <stdio.h> #include <time.h> //#include <x86intrin.h> //loops and iterations: #define N 128 #define M N #define NUM_LOOP 1000000 float

    1

    2답변

    내가 16 비트 데이터와 SSE 배열이 고려 된 데이터를 8 비트 등록 같은 첫 번째 8 바이트의 16 개 비트 데이터 : {1,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0}. 이 작업을 수행 할 수있는 SSE 명령어가 있는가?

    0

    1답변

    정렬 된 메모리와 정렬되지 않은 메모리에서 데이터를 읽는 SSE 명령어 _mm_loadu_si128을 사용하여 정렬되지 않은 두 벡터 vec1 및 vec2의 정수를 읽습니다. 그런 다음 비트 단위 및 연산을 수행하고 정렬되지 않은 메모리에 데이터를 저장하는 _mm_storeu_si128을 사용하여 결과를 저장합니다. 저장소의 대상은 arr1이라는 배열입니다

    8

    4답변

    내 상상인가 아니면 PNOT 명령어가 SSE 및 AVX에서 누락 되었습니까? 즉, 벡터의 모든 비트를 뒤집는 명령입니다. 그렇다면 PXOR보다 1을 모두 에뮬레이트하는 더 좋은 방법이 있습니까? 그 접근 방식을 사용하려면 모든 1의 벡터를 설정해야하기 때문에 상당히 짜증납니다.

    0

    1답변

    설명서에 따르면 AVX-512 명령어 세트의 gcc 4.9에서 지원되지만 gcc 4.8이 있습니다. 우리가있는 경우 네, 말, 문서를 통해보고, 이제 __mm128i sum = _mm_add_epi16(sum, _mm_cvtepu8_epi16(*(__m128i *) &mem)); : 저는 현재 메모리 블록 (가, 256 바이트로 보장 그래서 오버 플로우

    0

    1답변

    코드 목적은 문자열 str의 각 문자를 키 배열의 값에서 뺍니다. 벡터화되지 않은 버전의 프로그램은 두 프로그램의 마지막주기에 해당합니다. 이 코드는 어떻게이에서 void decode(const char* key, int m, char* str) { int i; int n = strlen(str); __m128i k = _mm_loadu_

    2

    2답변

    일부 스케일링 기능을 사용하여 16 비트 unsigned short 데이터를 8 비트 unsigned char으로 변환하려고합니다. 현재 저는 float로 변환하고 크기를 줄인 다음 8 비트로 채 웁니다. 더 효율적인 방법이 있습니까? int _tmain(int argc, _TCHAR* argv[]) { float Scale=255.0/65535

    4

    2답변

    나는 이상한 일이있어 실제로 설명 할 수 없습니다. 일부 숫자 코드를 작성하려고하고 일부 구현을 벤치마킹합니다. 방금 SSE 및 AVX 및 gcc 자동 벡터화로 일부 벡터 추가를 벤치마킹하려고했습니다. 이를 테스트하기 위해 아래 코드를 사용하고 수정했습니다. 코드 : 타이밍에 대한 #include <iostream> #include <immintrin.h