changed DeviceScatter to use OutputIt type