CUDA 공유 메모리 스위즐링으로 뱅크 충돌 제거, 전치 성능 2배 향상

CUDA Shared Memory Swizzling

CUDA 공유 메모리 스위즐링으로 뱅크 충돌 제거, 전치 성능 2배 향상

CUDA 공유 메모리에서 뱅크 충돌(bank conflict)은 성능 저하의 주요 원인입니다. 이 글은 행렬 전치(transpose) 커널을 예로 들어, 패딩(padding)과 스위즐링(swizzling) 기법으로 뱅크 충돌을 피하는 방법을 설명합니다. 8192x8192 행렬 전치 성능을 비교한 결과, 스위즐링 기법이 뱅크 충돌이 있는 기본 커널보다 약 2배 빠른 것으로 나타났습니다. 코드 예제와 성능 측정 결과를 통해 각 기법의 동작 원리와 효과를 자세히 보여줍니다.

스위즐링은 공유 메모리 뱅크 충돌을 제거하는 효과적인 방법으로, 패딩 없이도 높은 성능을 달성할 수 있습니다.

이 날의 다른 글

2026-08-19