Copy a global pointer to multiple GPU's

If I want to assign a specific pointer to different GPU’s, will it work as shown below :

_device_ int *a_dev;

int main()
{
 for (int i_GPU = 0; i_GPU < GPUNumber; i_GPU++)
 {
   cudaSetDevice(i_GPU);
   int *a_dev_temp;
   cudaMalloc(&a_dev_temp, N * sizeof(int));
   cudaMemcpyAsync(a_dev_temp, a_host_temp, N * sizeof(int), cudaMemcpyHostToDevice);
   cudaMemcpyToSymbolAsync(a_dev, &a_dev_temp, sizeof(a_dev_temp));
 }
}

Thanks