implemented dot in gpus