How_to_optimize_in_GPU icon indicating copy to clipboard operation
How_to_optimize_in_GPU copied to clipboard

sgemm 与cublas求的结果不同

Open 952480831 opened this issue 2 years ago • 6 comments

当K=64,128等的时候,结果不同。 例如: size_t M = 8000; size_t K = 64; size_t N = 8000; image

952480831 avatar May 27 '23 12:05 952480831

您好, size_t M = 256; size_t K =64; size_t N = 512; 的结果也是不同的

952480831 avatar May 28 '23 17:05 952480831

您好, size_t M = 256; size_t K =64; size_t N = 512; 的结果也是不同的

请问是哪个版本的sgemm呢?

Liu-xiandong avatar Jun 05 '23 02:06 Liu-xiandong

您好, size_t M = 256; size_t K =64; size_t N = 512; 的结果也是不同的

请问是哪个版本的sgemm呢?

您好,是master分支下面的sgemm/sgemm_v3.cu和sgemm_v1.cu。

952480831 avatar Jun 05 '23 15:06 952480831

您好, size_t M = 256; size_t K =64; size_t N = 512; 的结果也是不同的

请问是哪个版本的sgemm呢?

您好,是master分支下面的sgemm/sgemm_v3.cu和sgemm_v1.cu。

非常感谢,我后续验证一下

Liu-xiandong avatar Jun 06 '23 03:06 Liu-xiandong

您好, size_t M = 256; size_t K =64; size_t N = 512; 的结果也是不同的

请问是哪个版本的sgemm呢?

您好,是master分支下面的sgemm/sgemm_v3.cu和sgemm_v1.cu。

非常感谢,我后续验证一下

问题出在这,最后一个参数应该是M而不是N。 cublasSgemm (blas_handle, CUBLAS_OP_T, CUBLAS_OP_T, M, N, K, &alpha, d_A, K, d_B, N, &beta, d_C, N );

WSean2020 avatar Jul 20 '24 01:07 WSean2020

当K=64,128等的时候,结果不同。 例如: size_t M = 8000; size_t K = 64; size_t N = 8000; image

因为M=N=8000除以bm=bn=128不整除,改成bm=bn=64试试,是对的。

WSean2020 avatar Jul 20 '24 15:07 WSean2020