That is the purpose to move this functions like upload and create to .cu file. They do nit need any functionality that require new device layer?