You can choose between reshaping your tensor to NxCx(H*W), applying a 1d convolution and reshaping the result or use the (1,3) kernel in 2d convolution. Mathematically these approaches should be equivalent, but I would recommend the way using the 2d conv since you don’t have to pay attention on the memory order while reshaping.
Edit: just noticed they are not completely equal. If you reshape the image you have informations of the previous and the next row on your current rows border.
This is not the case for the 2d convolutional approach.