Thanks for the code.
Your z tensor is on the CPU, while the discriminator is on the GPU.
While I can reproduce this error in 1.6.0, it seems to have been fixed to a proper error message in the latest nightly binary (tested with 1.7.0.dev20200829):

RuntimeError: Tensor for argument #2 ‘mat1’ is on CPU, but expected it to be on GPU (while checking arguments for addmm)