a=np.random.randn(10000,3,1)b=a.transpose(2,1,0)
def fn(a,b): return a-b
@vectorize(['float64(float64,float64)'],target='gpu')def fngpu(a,b): return a-b
@vectorize(['float64(float64,float64)'])def fncpu(a,b): return a-b
print(fn(a,b).shape)print(fngpu(a,b).shape)print(fncpu(a,b).shape)
(10000, 3, 10000) (10000, 3, 1) (10000, 3, 10000)