电脑配置: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
3条答案
按热度按时间flseospp1#
因为Gemm算子并没有实现 vulkan,于是也跑在了cpu上
d4so4syb2#
因为Gemm算子并没有实现 vulkan,于是也跑在了cpu上
后续会考虑优化吗?
ltqd579y3#
@Xelawk@nihui 也有matmul计算大数相乘的需求,请问有解决吗?