As we can read in "Stream Computing User Guide" for calMemCopy:
"Results: (...) Error if the source and destination memory have different sizes or formats"
However, It works for me when I copy first row of memory from local resource (CAL_FORMAT_UINT_1, width: 320, height: 960) to pinned remote resource (CAL_FORMAT_UINT_1, width: 320, height: 1).
The copied data is a result from some sort of reduction kernel (320x960 to 320x1). According to the user guide, destination memory for calMemCopy would have to be same size as output memory of my kernel, but then copying would be too slow.