   THCudaTensor *weight_, THCudaTensor *runningMean_, THCudaTensor *runningVar_,
   THCudaTensor *saveMean_, THCudaTensor *saveStd_, bool train, float scale, double eps) {
 
+  THCUNN_assertSameGPU(state, 10, input_, gradOutput_, gradInput_, gradWeight_,
+    gradBias_, weight_, runningMean_, runningVar_, saveMean_, saveStd_);
   DeviceTensor3 input = devicetensor<3>(state, input_);
   DeviceTensor3 gradOutput = devicetensor<3>(state, gradOutput_);
   DeviceTensor3 gradInput = devicetensor<3>(state, gradInput_);

  THCudaTensor *runningVar_, THCudaTensor *saveMean_, THCudaTensor *saveStd_,
  bool train, double momentum, double eps) {

  DeviceTensor3 input = devicetensor<3>(state, input_);
  DeviceTensor3 output = devicetensor<3>(state, output_);
  DeviceTensor1 weight = devicetensor<1>(state, weight_);

#include "THCUNN.h"
#include "common.h"

#include "THCDeviceTensor.cuh"
#include "THCDeviceTensorUtils.cuh"
