2019-10-31 18:08:27 -04:00
|
|
|
import torch
|
|
|
|
import triton
|
|
|
|
|
2019-11-01 00:43:02 -04:00
|
|
|
N, C, K = 32, 8, 32
|
|
|
|
H, W = 4, 4
|
2019-10-31 18:08:27 -04:00
|
|
|
R, S = 3, 3
|
2019-11-01 00:43:02 -04:00
|
|
|
torch.manual_seed(0)
|
2019-10-31 18:08:27 -04:00
|
|
|
a = torch.randn(N, C, H, W).cuda()
|
2019-11-01 00:43:02 -04:00
|
|
|
b = torch.ones(C, R, S, K).cuda()
|
|
|
|
|
|
|
|
rc = torch.nn.functional.conv2d(a, b.permute(3, 0, 1, 2))
|
|
|
|
tc = triton.ops.conv(a, b)
|
|
|
|
print((rc - tc).abs().max())
|
|
|
|
print((tc[:,:,0,0] - rc[:,:,0,0]).abs())
|
|
|
|
#print((rc[:30,:30,:,:] - tc[:30, :30, :, :]).abs().max())
|
|
|
|
#print(tc[31, 31,:,:])
|