diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/include/utils.h b/llvm/projects/hpvm-tensor-rt/dnn_sources/include/utils.h
index 3e0b28415b8e2efa9237c945a3454c2d8e997266..7eb2fa8de36930121b3cb2c1f080595abad7873b 100644
--- a/llvm/projects/hpvm-tensor-rt/dnn_sources/include/utils.h
+++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/include/utils.h
@@ -327,12 +327,12 @@ struct Tensor* readTrainedWeights(const char* file_name, int data_type,
 
 
 struct Tensor* readInputBatch(const char* file_name, int data_type,
-			      int start, int end,
-			      int dim2_size, int dim3_size, int dim4_size){
+			      long int start, long int end,
+			      long int dim2_size, long int dim3_size, long int dim4_size){
 
-  int dim1_size = end - start;
+  long int dim1_size = end - start;
   // FIXIT: Don't assume floating point types
-  int type_size = 4; // NOTE: Assuming floating point tensors
+  long int type_size = 4; // NOTE: Assuming floating point tensors
   long int num_elems = dim1_size * dim2_size * dim3_size * dim4_size;
   long int size_in_bytes = type_size * dim1_size * dim2_size * dim3_size * dim4_size;
   float* tensor_data = (float*) malloc(sizeof(float) * num_elems);
@@ -364,12 +364,12 @@ struct Tensor* readInputBatch(const char* file_name, int data_type,
 
 void* copyInputBatch(const char* file_name, 
 		    int start, int end,
-		    int dim2_size, int dim3_size, int dim4_size,
+		    long int dim2_size, long int dim3_size, long int dim4_size,
 		    void* inputTensor_ptr){
 
   struct Tensor* inputTensor = (struct Tensor*) inputTensor_ptr;
   
-  int dim1_size = end - start;
+  long int dim1_size = end - start;
   // FIXIT: Don't assume floating point types
   int type_size = 4; // NOTE: Assuming floating point tensors
   long int num_elems = dim1_size * dim2_size * dim3_size * dim4_size;