simd

    1

    1답변

    SSE 명령어를 사용하여 정수 값을 곱하고 더하는 프로그램을 작성하고 있습니다. 나는 float로 같은 프로그램을했지만 내 정수 버전에 대한 설명이 빠져있다. 내 모든 작업을 완료 한 후 수레와 는, 내가하고 일반 float 배열로 다시 드 값을 반환 : _mm_store_ps(temp4,temp3); temp4는 플로트 *이며, __m128을 TEMP

    5

    1답변

    평균 250ms 내 듀얼 코어, 3GHz 인텔 프로세서에서 실행되는 알고리즘을 가지고 있으며이를 최적화하려고합니다. 현재 std::nth_element 호출은 std::vector s에서 150 ~ 300 개 요소로 약 6,000 회 호출되며 평균 50ms를 소요합니다. 내가 사용하는 비교기를 최적화하는데 시간을 보냈는데, 현재 벡터에서 두 개의 doubl

    4

    2답변

    현재 밴 Emde Boas (또는 모든 트리) 트리 순회를 가속화 할 수 있는지 여부를 연구 중입니다. 하나의 검색 질의가 입력되어 캐시 라인에 여러 개의 트리 노드가 이미 존재할 경우 트리 탐색은 명령 병목 현상이있는 것처럼 보입니다. SIMD/AVX/SSE 지침에 다소 익숙하기 때문에 한 번에 여러 노드를 비교하고 추가로 따라야 할 트리 경로를 찾을 수

    2

    2답변

    이전에 C#에서 포인터를 사용할 필요가 없었습니다. 그러나 사용하고있는 라이브러리에 메서드 매개 변수가 포인터로 전달되어야합니다. 라이브러리는 SIMD 명령어 세트의 사용을 허용합니다. 라이브러리 사용 방법을 테스트하기 위해 SIMD를 사용하여 한 번에 배열의 모든 요소에 대한 코사인 값을 계산하는 방법을 작성했습니다. 이 내가있어 무엇 : double[]

    2

    2답변

    _mm_load_ps를 호출 할 때 어떤 일이 발생하는지 정확히 모르겠다. 나는 4 개의 부동 소수점을 __m128에로드한다는 것을 알고 있는데, 이는 SIMD 가속화 산술 연산을 수행 한 다음 다시 저장하는 데 사용할 수 있지만 그렇지 않습니다. __m128 데이터 형식이 여전히 스택에 있습니까? 즉,로드 할 벡터의 임의 양에 대한 레지스터가 충분하지 않

    4

    1답변

    (C++) 메모리 정렬 인스턴스가 힙에 할당 된 다음 다른 스레드에서 삭제됩니다. 코드는 다음과 같이 : 스레드 2 ALIGNED class Obj { public: ALIGNED_NEW_DELETE ... }; Thread 1: Obj *o = new Obj; // overloaded new for aligned memory allocatio

    0

    1답변

    몇 년 전에 단일 CPU 코어의 N 개의 유사한 작업을 연속적으로 계산하는 프로젝트를 작성했습니다. 이러한 N 개의 작업은 완전히 독립적이므로 병렬로 계산할 수 있습니다. 그러나 이러한 작업의 문제점은 각 작업 내의 제어 흐름이 한 작업에서 다른 작업으로 많이 다르기 때문에 CUDA에서 구현 된 SIMT 방식이 도움보다 방해가 될 가능성이 높습니다. 스레드

    2

    1답변

    저는 SIMD 프로그래밍의 초보자입니다. 이제 __m128i a = {a1, a2, a3, a4} __m128i b = {b1, b2, b3, b4} __m128i c = {c1, c2, c3, c4} __m128i d = {d1, d2, d3, d4} 나는 다음과 같이 사이를 초기화하고 싶습니다 : __m128i x1 = {a1, b1, c1,

    2

    1답변

    내가 수동으로 _k_mask = _mm512_int2mask(0x7ff); // 0000 0111 1111 1111 _tempux2_512 = _mm512_mask_loadunpacklo_ps(_tempux2_512,_k_mask, &u_x[POSITION_INDEX_X(k,j,i-5)]); _tempux2_512 = _mm512_mask_loadunp

    3

    1답변

    SSE에서 AVX로 사용하는 Sandbridge 프로세서 용으로 설계된 응용 프로그램이 있습니다. 이제 동일한 응용 프로그램을 Atom 프로세서에서 실행하고 싶습니다. 최근에 Atom cloverview 프로세서의 내장 지원을 위해 인터넷을 탐색했습니다. 그것이 언급하는 곳마다 SSE3까지 지원합니다. 하지만 이것은 SSE3까지만 지원된다는 것을 의미합니다