단축키

Prev이전 문서

Next다음 문서

단축키

Prev이전 문서

Next다음 문서

예전에 SD888데브킷으로 징징거리던 글을 썼던 적이 있었습니다만...

 

그 때는 GPU위주였고, CPU쪽 작업을 할 일이 있어서 대충 성능이 어느정도 되나 뽑아봤습니다. 

 

뽑는김에....가지고 있는 기기들을 모아서... 대충 실제 프로그램에서 성능이 어떻게 변화하였나 경향성도 봤습니다. 

 

테스트 프로그램은 직접 작성한 행렬곱 (Matrix Mul)프로그램이며, 기본 A[MxK] * B[KxN] = C[MxN] 에서, M,N,K모두 1000으로 테스트 했습니다. (fp32기준)

 

NDK를 사용해서 C 네이티브 코드로 작성했기 때문에 JAVA&Kotlin에서는 더 느릴 듯 합니다. 

 

(모든 단위는 초(second) 기준, 5회 시행 평균값)

 

- 코드설명 - 

Basic : K열을 기준으로 반복문을 돌며 아무런 최적화가 이루어지지 않은 코드

OPT : 반복문의 순서를 바꾸어서 cache 최적화가 추가된 코드

NEON : ARM의 SIMD 명령어를 활용한 코드 (vec-4)

 

- 테스트기기 -

SD750G (Tab s7 lite) : Cortex-A77@2.21Ghz mp2 + Cortex-A55@1.8Ghz mp6

SD855 (V50) : Cortex-A76@2.84Ghz mp1 + Cortex-A76@2.42Ghz mp3 + Cortex-A55@1.79Ghz mp4

SD860 (Mipad 5) : Cortex-A76@2.96Ghz mp1 + Cortex-A76@2.42Ghz mp3 + Cortex-A55@1.79Ghz mp4

SD865 (S20) : Cortex-A77@2.84Ghz mp1 + Cortex-A77@2.42Ghz mp3 + Cortex-A55@1.80Ghz mp4

SD865+ (Fold2) : Cortex-A77@3.09Ghz mp1 + Cortex-A77@2.42Ghz mp3 + Cortex-A55@1.80Ghz mp4

SD888 (SD888 devkit) : Cortex-X1@2.84Ghz mp1 + Cortex-A78@2.42Ghz mp3 + Cortex-A55@1.80Ghz mp4

 

- 테스트 결과 - 

 

리틀코어 (3년간의 플래그쉽과 미들레인지 사이 공평한 성능)

image.png

 

미들코어

image.png

 

빅코어

image.png

 

LITTLE이 big대비 몇 배의 시간을 사용했는가?

image.png

 

MIDdle이 big대비 몇 배의 시간을 사용했는가?

image.png

 

미들레인지(750G)의 성능으로 normalize

image.png

 

 

값은 보시는 대로 이며...

 

소감은

 

  1. ARM의 리틀코어.... 너무하다. 빅 코어는 어느정도 성능이 올라가는데 리틀은 동결이니.... 생각없이 코드를 짜면 무려...13.5배 느리다. 
  2. 그나마 NEON같이 SIMD를 사용하는 특정 상황에서는 big코어의 3~4배로 격차가 좁혀진다. 
  3. 스냅드래곤의 MIDdle은 거의 같은 클럭을 유지하기 때문에 비교가 편한데, 꾸준히 향상은 하지만 근본적으로 cache나 ALU숫자는 비슷해서 NEON같은거 쓰면 비슷해지는거 같다. 

  4. 생각보다 연말에 나오는 +붙거나 +5된 모델이 공정안정화 클럭 업 치고는 성능이 오르기는 한다, 특히 최근 새 아키텍처의 싱글 IPC 향상이 적어서 두드러지는 것일지도...

  5. SD888결과 중....NEON에서 성능이 더 떨어지는 경우가 있다. devkit에는 공랭 FAN도 달아두었는데...;; 아마 AVX같이 클럭 유지가 안 되는 것 일지도... 

  6. 생각없이 짠 코드에서는 X1의 성능 향상이 두드러진다 (...)

  7. 생각보다 빅과 미들의 차는 20~30%정도, 디멘시티 9000이 X2@3.0Ghz+A710@2.8Ghz 조합인데 미들코어 클럭이 높아서 한동안 격차가 날 것 같음.

 

생각보다.... 테스트하기 힘들군요. 스크립트를 짜서 해도 adb 연결하는게 일입니다(...)

 

멀티코어 최적화를 해야하는데 리틀코어가 고심입니다. NEON까지 써야 겨우 1/3 성능이니.... 토이 케이스로 실험 좀 더 해보고 성능 안 나오면 리틀은 배제해도 되지 않을까 합니다..;

 

 

 

P.S 그렇다고 빅 코어 아키텍처를 옹호하기는 힘든것이... Fugaku같이 작정하고 매니코어 구성을 하지 않는 이상 ARM CPU로 ML을 ??!? ARM v9에 왕창 추가된 명령어셋도 그렇고. 정상적으로 IPC를 올리기 힘드니 눈 가리고 아웅거리는 꼴이네요(...)

 

 

 

 


0 0 0 0 0 0 0 1 2 0
List of Articles
번호 분류 제목 날짜 조회 수
공지 유머 🚨(뉴비필독) 전체공지 & 포인트안내 10 2024.11.04 26562
공지 이슈 URL만 붙여넣으면 끝! 임베드 기능 2025.01.21 20948
379961 일반 Synology의 4 베이 NAS 장비 "DiskStation DS416j" 2016.02.08 1463
379960 일반 태블릿 PC의 충전을하면서 주변 기기를 사용할 수있는 OTG 지원 USB 허브 2016.02.08 1445
379959 일반 카페베네 상장 난항에 투자자 눈물 2016.02.15 783
379958 일반 주식, 욕심은 화를 부르고. 그 화는 고스란히 가족들에게 짜증을 부릴겁니다 2016.02.22 797
379957 일반 원익IPS 추천합니다 2016.02.22 682
379956 일반 장이 너무 안좋네요 ㅜㅜ 2016.02.22 714
379955 일반 주식투자와 관련된 주식명언 2016.02.22 1006
379954 일반 i5-6600 i5-6500 비교 1 2016.02.22 1441
379953 일반 ssd좀봐주세요 2 2016.02.27 915
379952 일반 크라운제과 어떻게 보시나요? 2016.02.28 462
Board Pagination Prev 1 2 3 4 5 ... 37997 Next
/ 37997