GPUのマトリクス乗算は、なぜ「予測しやすいデータ」で速くなるのか
GPUの matrix multiplication(matmul)は、普通は「入力の値に関係なく同じ速さ」で動くと思いがち ところが実際には、ゼロや同じ値のような“予測しやすいデータ”のほうが速くなることがある 理由は、GPU内部の dynamic/switching power(トランジスタが切り替わるたびに消費される電力) 電力制限に当たると GPU は throttling(性能を落として消費電力を抑える)するので、速さが変わる これは「GPUは計算性能だけでなく、電力との綱引きで速さが決まる」ことをよく示していて、かなり面白い Nvidiaのカタログ上の FLOPS と、実際の持続性能に差が出る理由もここにある この記事の出発点は、かなりシンプルです。 著者の Horace He さんは、GPU向けの高速matmul実装である CUTLASS を試していました。 8192×8192×8192 の大きな行列積をベンチマークすると、最初は CUTLASS が CuBLAS より速いように見えたそうです。これは「お、すごい」と思いますよね。私もここで
papoo.work