Why are pixels in left side shifted by certain amount in stereoBM cuda version and in cpu version for the image given in opencv example

This is the data folder opencv/samples/data at 3.4 · opencv/opencv · GitHub
I tried to use left image (aloeL.jpg) and right image (aloeR.jpg) from opencv example i used the same code which opencv provided but my results are like this
cuda:

but the ground truth should have been like this (aloeGT.png) in the data folder

I used to be able to explain it. anyway, it’s not a mistake. it’s a consequence of the geometry itself.

Is there a way to get disparity map for entire image using opencv because i have seen at some places where they have attained it example here GitHub - thiagortk/Stereo-Vision: C++ example codes for camera calibration, rectification and to build disparity maps