The shape_padleft if due to missing from CudaNdarray. Do 

a_gpuarray[...] = v

work when v don't have the same number of dim then a_gpuarray by automatically adding dimensions to the left like numpy? If so, you can remove this from the graph. This will also need change to the check in GpuAlloc.make_node