 }
 
 void PoolingWrapper::forward(Tensor x, Tensor y) {
-  cudaSetDevice(x->getDevice().no);
+  cudaSetDevice(x->getDeviceId().no);
 
   cudnnTensorDescriptor_t xDesc, yDesc;
   setCudnnTensor(xDesc, x);

                                  Tensor kernelGrad,
                                  Tensor biasGrad,
                                  Tensor yGrad) {
  cudaSetDevice(xGrad->getDevice().no);

  cudnnTensorDescriptor_t xDesc, yDesc;
  setCudnnTensor(xDesc, xGrad);

                                 Tensor kernels,
                                 Tensor bias,
                                 Tensor y) {
  cudaSetDevice(x->getDeviceId().no);

  cudnnTensorDescriptor_t xDesc, yDesc;
  setCudnnTensor(xDesc, x);
