CUDA共有メモリのスウィズリングで行列転置を高速化
CUDA Shared Memory Swizzling
CUDAの共有メモリにおけるバンクコンフリクトは、行列転置などのカーネルの性能を大きく低下させます。この記事では、パディングとスウィズリングという2つの回避手法を紹介し、それぞれの実装と性能を比較しています。実験では、スウィズリングがパディングと同等の性能向上を達成し、共有メモリの使用量を節約できることを示しています。
スウィズリングは、パディングと同じ性能向上を達成しながら、共有メモリの使用量を節約できるため、より効率的な手法です。