구라안치고 내 논문에서 구현한 소프트웨어(메모리 읽기 및 복사(block 읽기 -> block 쓰기)를 많이 함)로 테스트 했을 때 나왔던 실성능임
5900X 128GB (32GBx4) DDR4-3200MHz JEDEC
12900K 32GB (16GBx2) DDR5-4800MHz JEDEC 을 5600 으로 오버클럭함 (램타는 기억안남)
12900K 는 아마 CPU도 오버클럭이였던 상태였을거임 내 집 컴이였던거라
(커널이랑 glibc (memcpy 구현 담음) 버전은 동등히 맞춤)
램 용량은 어차피 1GB 도 안쓰는 테스트라 상관없음
논문 프로그램을 돌렸을 때 전송 성능 수치는 5900X 에서 50GB/s
오버 안푼 12900K는 25GB/s 정도였음 (심지어 인텔은 저 "반복 루프 내 첫 메모리 읽기 비용"을 절감시켜주는 신형 명령어 (UMONITOR/UMWAIT) 을 쓴 결과임 ㅇㅇ)
이때 메모리실성능이라고 하는건 사실 어그로고,
실제로 "메모리 읽기 (branch 결정) -> CPU 계산 -> 메모리 block copy" 를 반복하는 과정에서
적어도 저 환경에서 "메모리 읽기 (branch 결정) -> CPU 계산" 또는 "block copy" 를 반복하는 과정에서 순수 CPU 내부 파이프라인 비용 x 클럭 x 페치 로직, 캐시나 분기예측기 등 성능 등이 모두 반영됐을 때 실성능이 5900X 이 압도적이라는 소리임
물론 매우 지엽적인 결과니깐 별 의미 없는건데, 범용 벤치마크가 반드시 모든 워크로드에 동일하게 먹히거나 그 반대의 경우가 성립한다는 증거가 아님을 보여주는 예시도 될 수 있음 ㅇㅇ
밑은 CPU 내부 파이프라인 코스트 보는 용도의 PDF
https://www.agner.org/optimize/instruction_tables.pdf
(참고로 여기 왠만한 최신 CPU들 내부 파이프라인 명령어 별 스루풋/레이턴시 (단위: 클럭) 정보 다 나옴)
댓글 0