neon

    4

    3답변

    sysctlbyname("hw.cpusubtype", ...)을 쿼리하여 iOS 장치가 어떤 종류의 CPU를 실행하는지 알아내는 것은 상당히 쉽지만 CPU가 실제로 가지고있는 기능을 파악할 수있는 확실한 방법이없는 것 같습니다 (VFP, NEON, Thumb 등) . 누군가 이렇게 할 수있는 방법을 생각할 수 있습니까? 기본적으로 필요한 것은 Linux/A

    2

    3답변

    나는 다음과 같은 조회 및 보간 코드를 최적화해야합니다. (128 사이즈 플로트 테이블) Windows에서는 인텔 컴파일러, OSX에서는 GCC, 네온 OSX에서는 GCC와 함께 사용됩니다. for(unsigned int i = 0 ; i < 4 ; i++) { const int iIdx = (int)m_fIndex[i]; const f

    4

    3답변

    또는 부동 소수점 연산과 정수 연산이 모두 같은 속도입니까? 정수 버전이 얼마나 빠릅니까?

    1

    1답변

    어셈블리를 사용하여 NEON 레지스터 (또는 VMOV보다 ARM 레지스터)에 즉치 값 0.5f (= HEX = 0.8)를로드해야합니다. 내가 읽은 ARM의 문서 :로 연결 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html : 그들은 당신이 부동 소수점을로드 할

    1

    1답변

    최적화를 위해 SSE에서 ARM Neon으로 코드를 변환하려고합니다. 코드의 SSE 명령어의 대부분은 네온과 비슷한 명확한 것을 발견했습니다. 그래도 이러한 문제가 발생했습니다. result1_shifted = _mm_srli_si128 (result1, 1); result=_mm_packus_epi16 (res1,res2); _mm_storeu_s

    2

    1답변

    코드의 다음과 같은 두 가지가 있다면, 첫 번째는 C 버전이다 void __attribute__((no_inline)) proj(uint8_t * line, uint16_t length) { uint16_t i; int16_t tmp; for(i=HPHD_MARGIN; i<length-HPHD_MARGIN; i++) {

    3

    1답변

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

    3

    3답변

    저는 이미지 조작 알고리즘을 연구 중이며 NEON을 사용하여 최적화하려고합니다. 알고리즘은 각 (RGBA, 8 비트) 픽셀에 약간의 가중치를 곱한 다음 몇 가지 추가를 수행하고 마지막으로 다시 uint8_t 값으로 변환하는 것으로 구성됩니다. 내가 가진 첫 번째 문제점은 단일 uint8_t 픽셀을 NEON의 float32x4_t로 효율적으로로드하고 변환하는

    1

    2답변

    이 이미지 축소 알고리즘의 행 단위 버전을 구현하려고합니다 : http://intel.ly/1avllXm, RGBA 8 비트 이미지에 적용했습니다. 단순화하기 위해 단일 행 w_src -> w_dst의 크기를 조정하는 것을 고려하십시오. 그런 다음 각 픽셀은 가중치 1.0의 단일 출력 누적기에 값을 제공하거나 가중치 알파 및 (1.0f - 알파)가있는 두

    0

    1답변

    많은 벡터 계산이 필요합니다. 따라서 NEON을 사용해야하는 것이 좋습니다. 문제는 함수가 double에 의존한다는 것입니다. 이것은 두 가지 옵션을 제공합니다. 즉, 전체 코드를 다시 작성하여 부동 소수점으로 작업하거나, double을 입력으로 사용하여 함수를 생성하여 출력으로 두 배로하고, float으로 계산을 수행하는 것입니다. 나는 다음과 같은 계산