컴파일러 최적화와 로드 스토어 충돌: 성능 벼랑 끝

2025-05-04

이 글에서는 예상치 못한 성능 문제에 대해 설명합니다. 간단한 기하학 데이터 디코더가 서로 다른 컴파일러 버전에서 성능 차이가 크게 나타납니다. 근본 원인은 잘 알려지지 않은 마이크로 아키텍처 세부 사항인 로드 스토어 충돌입니다. GCC-14는 정교한 벡터화를 통해 성능을 향상시켰습니다. 그러나 GCC-15는 최적화 전략 변경으로 로드 스토어 충돌이 빈번하게 발생하여 성능이 크게 저하되었습니다. 반면 Clang은 ARM 아키텍처에서 놀라운 성능을 보이며 로드 스토어 특성을 잘 활용했습니다. 이는 컴파일러 최적화가 만능 해결책이 아님을 보여줍니다. 생성된 코드와 기반 하드웨어의 마이크로 아키텍처에 세심한 주의를 기울이는 것이 중요합니다.

더 보기

놀라운 차이점: GPU 간 가속 구조 메모리 사용량 비교

2025-04-02

이 글에서는 다양한 공급업체의 GPU에서 광선 추적을 위한 가속 구조(BVH)의 메모리 사용량을 벤치마킹합니다. 결과는 상당한 차이를 보여주는데, 최신 NVIDIA GPU는 AMD GPU 대비 3분의 1, 심지어 20분의 1의 메모리만 사용합니다. 이 글에서는 BVH의 내부 구조, 서로 다른 드라이버 구현, 하드웨어 아키텍처의 영향을 자세히 설명하고, AMD의 RDNA2/3 및 RDNA4 아키텍처의 BVH 구현 세부 정보를 분석하여 메모리 사용량 차이의 이유를 밝힙니다. 마지막으로, 저자는 BVH의 메모리 사용량이 하드웨어, 드라이버, 알고리즘 등 여러 요인에 크게 영향을 받는다는 점과 향후 개선 가능성을 제시합니다.

더 보기
하드웨어 가속 구조