ncnn 有关Gemm耗时过长的问题

gcmastyq  于 4个月前  发布在  其他
关注(0)|答案(3)|浏览(100)

电脑配置:
MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)
2.4 GHz Intel Core i5

问题是这样的,需要计算:

a = torch.rand(1, 1, 1024, 1024)
b = torch.rand(1, 1, 1024, 12288)
c = torch.matmul(a, b)

但matmul在ncnn中的计算时间很长(PyTorch只需要0.2左右,ncnn需要3s左右),以下分别是开启的CPU和Vulkan的结果,虽然对于卷积,reshape等操作确实提速明显,但Gemm算子几乎无任何提速:
CPU:

Reshape Reshape_465    25.25ms    |    [3, 4096, 1024 *1] -> [12288, 1024, 1 *1]
Gemm    MatMul_466    3143.96ms

Vulkan:

Gemm    MatMul_466    3126.93ms
flseospp

flseospp1#

因为Gemm算子并没有实现 vulkan,于是也跑在了cpu上

d4so4syb

d4so4syb2#

因为Gemm算子并没有实现 vulkan,于是也跑在了cpu上

后续会考虑优化吗?

ltqd579y

ltqd579y3#

@Xelawk@nihui 也有matmul计算大数相乘的需求,请问有解决吗?

相关问题