GPU가 메모리를 쓰면 벌어지는 일

“RTX 4090에서 STG.E 명령어가 전역 메모리에 데이터를 쓰는 과정을 추적한 글이다. 워프는 레지스터 파일에서 주소 2개와 데이터 1개를 읽어 LSU로 보내고, 코얼레서가 32개의 4바이트 접근을 4개의 32바이트 섹터로 묶는다. SM은 약 6.1사이클(2.6GHz에서 2.3ns)마다 STG.E를 발행할 수 있고, SM 출구는 사이클당 32바이트를 처리한다.”

AI 요약

Doubleword AI의 기술 블로그가 NVIDIA RTX 4090 GPU에서 메모리 쓰기 명령(STG.E)이 처리되는 전체 과정을 하드웨어 수준에서 추적한 분석을 공개했다. GPU는 STG.E 명령 실행 시 레지스터 파일에서 주소 2개와 데이터 1개를 읽어 LSU로 보내고, 코얼레서가 32개의 4바이트 접근을 최소 개수의 32바이트 섹터로 변환한 뒤 L1 캐시를 거쳐 DRAM에 기록한다. 워프는 약 6.1 사이클(2.6GHz 기준 2.3ns)마다 새 STG.E 명령을 발행할 수 있으며, SM 종료단은 사이클당 32바이트 저장/로드를 유지할 수 있다.

핵심 포인트

  • RTX 4090의 STG.E 명령은 레지스터 3개(주소 2개+데이터 1개)를 읽어 LSU로 발행됨
  • 코얼레서가 32개 4바이트 접근을 4개 섹터(128바이트, 1라인)로 통합하며 각 섹터에 바이트 마스크를 부착
  • 워프당 STG.E 발행 간격은 약 6.1 사이클(2.6GHz에서 2.3ns)
  • SM 종료단 처리량은 사이클당 32바이트로, 모든 워프가 발행 시 병목 발생
  • L1 캐시는 SM별 4-way 세트 연관, 가상 인덱싱·가상 태깅 구조

향후 전망

  • GPU 메모리 서브시스템의 병목 지점을 이해함으로써 커널 최적화 및 메모리 대역폭 활용 전략 수립에 기여할 전망
  • 향후 L2 슬라이스·DRAM 기록 및 축출(eviction) 과정에 대한 후속 분석이 이어질 것으로 예상
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...