You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by ni...@apache.org on 2018/12/07 18:54:09 UTC

[3/4] systemml git commit: [BUGFIX] Revert all the files of commit 95cbbd6

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParWorkerReducer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParWorkerReducer.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParWorkerReducer.java
index 9352508..11d1ed9 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParWorkerReducer.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteDPParWorkerReducer.java
@@ -48,7 +48,6 @@ import org.apache.sysml.runtime.matrix.mapred.MRConfigurationNames;
 import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration;
 import org.apache.sysml.runtime.util.LocalFileUtils;
 import org.apache.sysml.runtime.util.ProgramConverter;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 
 public class RemoteDPParWorkerReducer extends ParWorker
@@ -121,8 +120,8 @@ public class RemoteDPParWorkerReducer extends ParWorker
 		_dpf = MRJobConfiguration.getPartitioningFormat( job );
 		MatrixCharacteristics mc = MRJobConfiguration.getPartitionedMatrixSize(job);
 		PartitionFormat pf = new PartitionFormat(_dpf, MRJobConfiguration.getPartitioningSizeN(job));
-		_rlen = IntUtils.toInt(pf.getNumRows(mc));
-		_clen = IntUtils.toInt(pf.getNumColumns(mc));
+		_rlen = (int)pf.getNumRows(mc);
+		_clen = (int)pf.getNumColumns(mc);
 		_brlen = mc.getRowsPerBlock();
 		_bclen = mc.getColsPerBlock();
 		_iterVar = MRJobConfiguration.getPartitioningItervar( job );
@@ -130,9 +129,9 @@ public class RemoteDPParWorkerReducer extends ParWorker
 		_info = MRJobConfiguration.getPartitioningOutputInfo( job );
 		_tSparseCol = MRJobConfiguration.getPartitioningTransposedCol( job ); 
 		if( _tSparseCol )
-			_partition = new MatrixBlock(IntUtils.toInt(_clen), _rlen, true);
+			_partition = new MatrixBlock((int)_clen, _rlen, true);
 		else
-			_partition = new MatrixBlock(IntUtils.toInt(_rlen), _clen, false);
+			_partition = new MatrixBlock((int)_rlen, _clen, false);
 
 		//Step 1: configure parworker
 		String taskID = job.get(MRConfigurationNames.MR_TASK_ID);
@@ -153,7 +152,7 @@ public class RemoteDPParWorkerReducer extends ParWorker
 			
 			//create local runtime program
 			String in = MRJobConfiguration.getProgramBlocks(job);
-			ParForBody body = ProgramConverter.parseParForBody(in, IntUtils.toInt(_workerID));
+			ParForBody body = ProgramConverter.parseParForBody(in, (int)_workerID);
 			_childBlocks = body.getChildBlocks();
 			_ec          = body.getEc();
 			_resultVars  = body.getResultVariables();
@@ -243,8 +242,8 @@ public class RemoteDPParWorkerReducer extends ParWorker
 			while( valueList.hasNext() )
 			{
 				PairWritableBlock pairValue = (PairWritableBlock)valueList.next();
-				int row_offset = IntUtils.toInt(pairValue.indexes.getRowIndex()-1)*_brlen;
-				int col_offset = IntUtils.toInt(pairValue.indexes.getColumnIndex()-1)*_bclen;
+				int row_offset = (int)(pairValue.indexes.getRowIndex()-1)*_brlen;
+				int col_offset = (int)(pairValue.indexes.getColumnIndex()-1)*_bclen;
 				MatrixBlock block = pairValue.block;
 				if( !_partition.isInSparseFormat() ) //DENSE
 				{
@@ -298,7 +297,7 @@ public class RemoteDPParWorkerReducer extends ParWorker
 					PairWritableCell pairValue = (PairWritableCell)valueList.next();
 					if( pairValue.indexes.getColumnIndex()<0 )
 						continue; //cells used to ensure empty partitions
-					_partition.quickSetValue(0, IntUtils.toInt(pairValue.indexes.getColumnIndex()-1), pairValue.cell.getValue());
+					_partition.quickSetValue(0, (int)pairValue.indexes.getColumnIndex()-1, pairValue.cell.getValue());
 				}
 				break;
 			case COLUMN_WISE:
@@ -308,9 +307,9 @@ public class RemoteDPParWorkerReducer extends ParWorker
 					if( pairValue.indexes.getRowIndex()<0 )
 						continue; //cells used to ensure empty partitions
 					if( _tSparseCol )
-						_partition.appendValue(0,IntUtils.toInt(pairValue.indexes.getRowIndex()-1), pairValue.cell.getValue());
+						_partition.appendValue(0,(int)pairValue.indexes.getRowIndex()-1, pairValue.cell.getValue());
 					else
-						_partition.quickSetValue(IntUtils.toInt(pairValue.indexes.getRowIndex()-1), 0, pairValue.cell.getValue());
+						_partition.quickSetValue((int)pairValue.indexes.getRowIndex()-1, 0, pairValue.cell.getValue());
 				}
 				break;
 			default: 

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedNLineInputFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedNLineInputFormat.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedNLineInputFormat.java
index 397f72c..a2a231d 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedNLineInputFormat.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForColocatedNLineInputFormat.java
@@ -30,7 +30,6 @@ import org.apache.sysml.runtime.controlprogram.ParForProgramBlock.PDataPartition
 import org.apache.sysml.runtime.controlprogram.ParForProgramBlock.PartitionFormat;
 import org.apache.sysml.runtime.matrix.MatrixCharacteristics;
 import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration;
-import org.apache.sysml.utils.IntUtils;
 
 /**
  * Specific extension of NLineInputFormat in order to ensure data colocation
@@ -49,7 +48,7 @@ public class RemoteParForColocatedNLineInputFormat extends NLineInputFormat
 		MatrixCharacteristics mc = MRJobConfiguration.getPartitionedMatrixSize(job);
 		PDataPartitionFormat dpf = MRJobConfiguration.getPartitioningFormat(job);
 		PartitionFormat pf = new PartitionFormat(dpf, -1);
-		int blen = IntUtils.toInt(pf.isRowwise() ? pf.getNumRows(mc) : pf.getNumColumns(mc));
+		int blen = (int) (pf.isRowwise() ? pf.getNumRows(mc) : pf.getNumColumns(mc));
 		String fname = MRJobConfiguration.getPartitioningFilename(job);
 
 		//create wrapper splits 

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
index 377fe9c..63e4b40 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForMR.java
@@ -54,7 +54,6 @@ import org.apache.sysml.runtime.matrix.mapred.MRConfigurationNames;
 import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration;
 import org.apache.sysml.runtime.util.MapReduceTool;
 import org.apache.sysml.runtime.util.ProgramConverter;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 import org.apache.sysml.yarn.DMLAppMasterUtils;
 
@@ -183,20 +182,20 @@ public class RemoteParForMR
 			// Process different counters 
 			Statistics.incrementNoOfExecutedMRJobs();
 			Group pgroup = runjob.getCounters().getGroup(ParForProgramBlock.PARFOR_COUNTER_GROUP_NAME);
-			int numTasks = IntUtils.toInt(pgroup.getCounter( Stat.PARFOR_NUMTASKS.toString() ));
-			int numIters = IntUtils.toInt(pgroup.getCounter( Stat.PARFOR_NUMITERS.toString() ));
+			int numTasks = (int)pgroup.getCounter( Stat.PARFOR_NUMTASKS.toString() );
+			int numIters = (int)pgroup.getCounter( Stat.PARFOR_NUMITERS.toString() );
 			if( ConfigurationManager.isStatistics() && !InfrastructureAnalyzer.isLocalMode() ) {
 				Statistics.incrementJITCompileTime( pgroup.getCounter( Stat.PARFOR_JITCOMPILE.toString() ) );
 				Statistics.incrementJVMgcCount( pgroup.getCounter( Stat.PARFOR_JVMGC_COUNT.toString() ) );
 				Statistics.incrementJVMgcTime( pgroup.getCounter( Stat.PARFOR_JVMGC_TIME.toString() ) );
 				Group cgroup = runjob.getCounters().getGroup(CacheableData.CACHING_COUNTER_GROUP_NAME.toString());
-				CacheStatistics.incrementMemHits(cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_MEM.toString() ));
-				CacheStatistics.incrementFSBuffHits(cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_FSBUFF.toString() ));
-				CacheStatistics.incrementFSHits(cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_FS.toString() ));
-				CacheStatistics.incrementHDFSHits(cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_HDFS.toString() ));
-				CacheStatistics.incrementFSBuffWrites(cgroup.getCounter( CacheStatistics.Stat.CACHE_WRITES_FSBUFF.toString() ));
-				CacheStatistics.incrementFSWrites(cgroup.getCounter( CacheStatistics.Stat.CACHE_WRITES_FS.toString() ));
-				CacheStatistics.incrementHDFSWrites(cgroup.getCounter( CacheStatistics.Stat.CACHE_WRITES_HDFS.toString() ));
+				CacheStatistics.incrementMemHits((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_MEM.toString() ));
+				CacheStatistics.incrementFSBuffHits((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_FSBUFF.toString() ));
+				CacheStatistics.incrementFSHits((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_FS.toString() ));
+				CacheStatistics.incrementHDFSHits((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_HITS_HDFS.toString() ));
+				CacheStatistics.incrementFSBuffWrites((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_WRITES_FSBUFF.toString() ));
+				CacheStatistics.incrementFSWrites((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_WRITES_FS.toString() ));
+				CacheStatistics.incrementHDFSWrites((int)cgroup.getCounter( CacheStatistics.Stat.CACHE_WRITES_HDFS.toString() ));
 				CacheStatistics.incrementAcquireRTime(cgroup.getCounter( CacheStatistics.Stat.CACHE_TIME_ACQR.toString() ));
 				CacheStatistics.incrementAcquireMTime(cgroup.getCounter( CacheStatistics.Stat.CACHE_TIME_ACQM.toString() ));
 				CacheStatistics.incrementReleaseTime(cgroup.getCounter( CacheStatistics.Stat.CACHE_TIME_RLS.toString() ));

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
index c6c8bfb..fd0b9eb 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParForSparkWorker.java
@@ -39,7 +39,6 @@ import org.apache.sysml.runtime.controlprogram.caching.CacheableData;
 import org.apache.sysml.runtime.controlprogram.parfor.stat.InfrastructureAnalyzer;
 import org.apache.sysml.runtime.util.ProgramConverter;
 import org.apache.sysml.runtime.util.UtilFunctions;
-import org.apache.sysml.utils.IntUtils;
 
 import scala.Tuple2;
 
@@ -91,7 +90,7 @@ public class RemoteParForSparkWorker extends ParWorker implements PairFlatMapFun
 		
 		//maintain accumulators
 		_aTasks.add( 1 );
-		_aIters.add( IntUtils.toInt(getExecutedIterations()-numIter) );
+		_aIters.add( (int)(getExecutedIterations()-numIter) );
 		
 		//cleanup remaining intermediate variables from buffer pool
 		_ec.getVariables().keySet().stream().filter(v -> !inVars.contains(v))
@@ -115,7 +114,7 @@ public class RemoteParForSparkWorker extends ParWorker implements PairFlatMapFun
 			CodegenUtils.getClassSync(e.getKey(), e.getValue());
 	
 		//parse and setup parfor body program
-		ParForBody body = ProgramConverter.parseParForBody(_prog, IntUtils.toInt(_workerID), true);
+		ParForBody body = ProgramConverter.parseParForBody(_prog, (int)_workerID, true);
 		_childBlocks = body.getChildBlocks();
 		_ec          = body.getEc();
 		_resultVars  = body.getResultVariables();

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
index 5c1d978..7db5bcd 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/RemoteParWorkerMapper.java
@@ -42,7 +42,6 @@ import org.apache.sysml.runtime.matrix.mapred.MRConfigurationNames;
 import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration;
 import org.apache.sysml.runtime.util.LocalFileUtils;
 import org.apache.sysml.runtime.util.ProgramConverter;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 
 /**
@@ -163,7 +162,7 @@ public class RemoteParWorkerMapper extends ParWorker  //MapReduceBase not requir
 				
 				//create local runtime program
 				String in = MRJobConfiguration.getProgramBlocks(job);
-				ParForBody body = ProgramConverter.parseParForBody(in, IntUtils.toInt(_workerID));
+				ParForBody body = ProgramConverter.parseParForBody(in, (int)_workerID);
 				_childBlocks = body.getChildBlocks();
 				_ec          = body.getEc();
 				_resultVars  = body.getResultVariables();

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
index 1e081d0..4f7fac5 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalFile.java
@@ -60,7 +60,6 @@ import org.apache.sysml.runtime.util.DataConverter;
 import org.apache.sysml.runtime.util.FastStringTokenizer;
 import org.apache.sysml.runtime.util.LocalFileUtils;
 import org.apache.sysml.runtime.util.MapReduceTool;
-import org.apache.sysml.utils.IntUtils;
 
 /**
  * 
@@ -707,8 +706,8 @@ public class ResultMergeLocalFile extends ResultMerge
 					}
 					else {
 						//NOTE: whenever runtime does not need all blocks anymore, this can be removed
-						int maxRow = IntUtils.toInt(((brow-1)*brlen + brlen < rlen) ? brlen : rlen - (brow-1)*brlen);
-						int maxCol = IntUtils.toInt(((bcol-1)*bclen + bclen < clen) ? bclen : clen - (bcol-1)*bclen);
+						int maxRow = (int)(((brow-1)*brlen + brlen < rlen) ? brlen : rlen - (brow-1)*brlen);
+						int maxCol = (int)(((bcol-1)*bclen + bclen < clen) ? bclen : clen - (bcol-1)*bclen);
 						mb = new MatrixBlock(maxRow, maxCol, true);
 					}
 					

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
index a95b736..c76b3f9 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeLocalMemory.java
@@ -32,7 +32,6 @@ import org.apache.sysml.runtime.matrix.data.InputInfo;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.data.OutputInfo;
 import org.apache.sysml.runtime.util.DataConverter;
-import org.apache.sysml.utils.IntUtils;
 
 /**
  * Local in-memory realization of result merge. If the resulting matrix is
@@ -166,8 +165,8 @@ public class ResultMergeLocalMemory extends ResultMerge
 				//NOTE: always in dense representation in order to allow for parallel unsynchronized access 
 				long rows = outMB.getNumRows();
 				long cols = outMB.getNumColumns();
-				MatrixBlock outMBNew = new MatrixBlock(IntUtils.toInt(rows), IntUtils.toInt(cols), false);
-				outMBNew.allocateDenseBlockUnsafe(IntUtils.toInt(rows), IntUtils.toInt(cols));
+				MatrixBlock outMBNew = new MatrixBlock((int)rows, (int)cols, false);
+				outMBNew.allocateDenseBlockUnsafe((int)rows, (int)cols);
 				
 				//create compare matrix if required (existing data in result)
 				_compare = getCompareMatrix(outMB);

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
index 40d7233..2884c32 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteMR.java
@@ -50,7 +50,6 @@ import org.apache.sysml.runtime.matrix.mapred.MRConfigurationNames;
 import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration;
 import org.apache.sysml.runtime.util.LocalFileUtils;
 import org.apache.sysml.runtime.util.MapReduceTool;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 
 /**
@@ -257,7 +256,7 @@ public class ResultMergeRemoteMR extends ResultMerge
 		    	reducerGroups = Math.max(rlen/brlen,1) * Math.max(clen/bclen, 1); 
 		    else //textcell/binarycell
 		    	reducerGroups = Math.max((rlen*clen)/StagingFileUtils.CELL_BUFFER_SIZE, 1);
-			job.setNumReduceTasks( IntUtils.toInt(Math.min( _numReducers, reducerGroups) )); 	
+			job.setNumReduceTasks( (int)Math.min( _numReducers, reducerGroups) ); 	
 
 			
 			//disable automatic tasks timeouts and speculative task exec

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemotePartitioning.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemotePartitioning.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemotePartitioning.java
index 71fcabc..93c39b0 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemotePartitioning.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemotePartitioning.java
@@ -25,7 +25,6 @@ import org.apache.hadoop.mapred.Partitioner;
 import org.apache.sysml.runtime.matrix.data.MatrixIndexes;
 import org.apache.sysml.runtime.matrix.data.TaggedMatrixBlock;
 import org.apache.sysml.runtime.matrix.mapred.MRJobConfiguration;
-import org.apache.sysml.utils.IntUtils;
 
 public class ResultMergeRemotePartitioning implements Partitioner<ResultMergeTaggedMatrixIndexes, TaggedMatrixBlock> 
 {
@@ -46,7 +45,7 @@ public class ResultMergeRemotePartitioning implements Partitioner<ResultMergeTag
     	//the assumption that there is no sparsity skew between blocks.
     	
     	MatrixIndexes ix = key.getIndexes();
-    	int blockid = IntUtils.toInt(ix.getRowIndex() * _numColBlocks + ix.getColumnIndex());
+    	int blockid = (int) (ix.getRowIndex() * _numColBlocks + ix.getColumnIndex());
     	int partition = blockid % numPartitions;
     	
         //int hash = key.getIndexes().hashCode();
@@ -60,7 +59,7 @@ public class ResultMergeRemotePartitioning implements Partitioner<ResultMergeTag
 	{
 		long[] tmp = MRJobConfiguration.getResultMergeMatrixCharacteristics( job );
 		long clen = tmp[1]; 
-		int bclen = IntUtils.toInt(tmp[3]);
+		int bclen = (int) tmp[3];
 		_numColBlocks = clen/bclen + ((clen%bclen!=0)? 1 : 0);
 	}
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
index 85a0957..8055c2b 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/ResultMergeRemoteSpark.java
@@ -41,7 +41,6 @@ import org.apache.sysml.runtime.matrix.data.InputInfo;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.data.MatrixIndexes;
 import org.apache.sysml.runtime.matrix.data.OutputInfo;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 
 public class ResultMergeRemoteSpark extends ResultMerge
@@ -121,7 +120,7 @@ public class ResultMergeRemoteSpark extends ResultMerge
 		RDDObject ret = null;
 		
 		//determine degree of parallelism
-		int numRed = IntUtils.toInt(determineNumReducers(rlen, clen, brlen, bclen, _numReducers));
+		int numRed = (int)determineNumReducers(rlen, clen, brlen, bclen, _numReducers);
 		
 		//sanity check for empty src files
 		if( inputs == null || inputs.length==0  )
@@ -198,7 +197,7 @@ public class ResultMergeRemoteSpark extends ResultMerge
 	private static int determineNumReducers(long rlen, long clen, int brlen, int bclen, long numRed) {
 		//set the number of mappers and reducers 
 		long reducerGroups = Math.max(rlen/brlen,1) * Math.max(clen/bclen, 1);
-		return IntUtils.toInt(Math.min( numRed, reducerGroups ));
+		return (int)Math.min( numRed, reducerGroups );
 	}
 	
 	@SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerStatic.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerStatic.java b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerStatic.java
index d2ca1cc..9f68768 100644
--- a/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerStatic.java
+++ b/src/main/java/org/apache/sysml/runtime/controlprogram/parfor/TaskPartitionerStatic.java
@@ -20,7 +20,6 @@
 package org.apache.sysml.runtime.controlprogram.parfor;
 
 import org.apache.sysml.runtime.instructions.cp.IntObject;
-import org.apache.sysml.utils.IntUtils;
 
 /**
  * This static task partitioner virtually iterates over the given FOR loop (from, to, incr),
@@ -36,6 +35,6 @@ public class TaskPartitionerStatic extends TaskPartitionerFixedsize
 		super(taskSize, iterVarName, fromVal, toVal, incrVal);
 	
 		_taskSize = _numIter / numThreads;
-		_firstnPlus1 = IntUtils.toInt(_numIter % numThreads);
+		_firstnPlus1 = (int)_numIter % numThreads;
 	}	
 }

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java b/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
index 9acb56e..ea01dc2 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/CPInstructionParser.java
@@ -393,13 +393,15 @@ public class CPInstructionParser extends InstructionParser
 			case Builtin: 
 				String []parts = InstructionUtils.getInstructionPartsWithValueType(str);
 				if ( parts[0].equals("log") || parts[0].equals("log_nz") ) {
-					if ( parts.length == 3 || (parts.length == 4 &&
+					if ( parts.length == 3 || (parts.length == 5 &&
 						UtilFunctions.isIntegerNumber(parts[3])) ) {
 						// B=log(A), y=log(x)
 						return UnaryCPInstruction.parseInstruction(str);
 					} else if ( parts.length == 4 ) {
 						// B=log(A,10), y=log(x,10)
 						return BinaryCPInstruction.parseInstruction(str);
+					} else {
+						throw new DMLRuntimeException("Error parsing the instruction: " + str);
 					}
 				}
 				else {

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java b/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
index dd32ce0..036320c 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/SPInstructionParser.java
@@ -73,6 +73,7 @@ import org.apache.sysml.runtime.instructions.spark.ReorgSPInstruction;
 import org.apache.sysml.runtime.instructions.spark.RmmSPInstruction;
 import org.apache.sysml.runtime.instructions.spark.SPInstruction;
 import org.apache.sysml.runtime.instructions.spark.SPInstruction.SPType;
+import org.apache.sysml.runtime.util.UtilFunctions;
 import org.apache.sysml.runtime.instructions.spark.SpoofSPInstruction;
 import org.apache.sysml.runtime.instructions.spark.CtableSPInstruction;
 import org.apache.sysml.runtime.instructions.spark.Tsmm2SPInstruction;
@@ -405,12 +406,15 @@ public class SPInstructionParser extends InstructionParser
 			case Builtin: 
 				parts = InstructionUtils.getInstructionPartsWithValueType(str);
 				if ( parts[0].equals("log") || parts[0].equals("log_nz") ) {
-					if ( parts.length == 3 ) {
+					if ( parts.length == 3 || (parts.length == 5 &&
+							UtilFunctions.isIntegerNumber(parts[3])) ) {
 						// B=log(A), y=log(x)
 						return UnaryMatrixSPInstruction.parseInstruction(str);
 					} else if ( parts.length == 4 ) {
 						// B=log(A,10), y=log(x,10)
 						return BinarySPInstruction.parseInstruction(str);
+					} else {
+						throw new DMLRuntimeException("Error parsing the instruction: " + str);
 					}
 				}
 				else {

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java
index 468e147..4f13f1f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java
@@ -28,7 +28,6 @@ import org.apache.sysml.runtime.instructions.InstructionUtils;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.operators.CMOperator;
 import org.apache.sysml.runtime.matrix.operators.CMOperator.AggregateOperationTypes;
-import org.apache.sysml.utils.IntUtils;
 
 public class CentralMomentCPInstruction extends AggregateUnaryCPInstruction {
 
@@ -105,7 +104,7 @@ public class CentralMomentCPInstruction extends AggregateUnaryCPInstruction {
 		
 		CMOperator cm_op = ((CMOperator)_optr); 
 		if ( cm_op.getAggOpType() == AggregateOperationTypes.INVALID )
-			cm_op = cm_op.setCMAggOp(IntUtils.toInt(order.getLongValue()));
+			cm_op = cm_op.setCMAggOp((int)order.getLongValue());
 		
 		CM_COV_Object cmobj = null; 
 		if (input3 == null ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java
index 475f1a9..7b907b3 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java
@@ -31,7 +31,6 @@ import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.operators.SimpleOperator;
 import org.apache.sysml.runtime.util.DataConverter;
 import org.apache.sysml.runtime.util.LongLongDoubleHashMap.EntryType;
-import org.apache.sysml.utils.IntUtils;
 
 public class CtableCPInstruction extends ComputationCPInstruction {
 	private final String _outDim1;
@@ -111,7 +110,7 @@ public class CtableCPInstruction extends ComputationCPInstruction {
 			//only create result block if dense; it is important not to aggregate on sparse result
 			//blocks because it would implicitly turn the O(N) algorithm into O(N log N). 
 			if( !sparse )
-				resultBlock = new MatrixBlock(IntUtils.toInt(outputDim1), IntUtils.toInt(outputDim2), false); 
+				resultBlock = new MatrixBlock((int)outputDim1, (int)outputDim2, false); 
 		}
 		if( _isExpand ){
 			resultBlock = new MatrixBlock( matBlock1.getNumRows(), Integer.MAX_VALUE, true );
@@ -165,7 +164,7 @@ public class CtableCPInstruction extends ComputationCPInstruction {
 			//we need to respect potentially specified output dimensions here, because we might have 
 			//decided for hash-aggregation just to prevent inefficiency in case of sparse outputs.  
 			if( outputDimsKnown )
-				resultBlock = DataConverter.convertToMatrixBlock( resultMap, IntUtils.toInt(outputDim1), IntUtils.toInt(outputDim2) );
+				resultBlock = DataConverter.convertToMatrixBlock( resultMap, (int)outputDim1, (int)outputDim2 );
 			else
 				resultBlock = DataConverter.convertToMatrixBlock( resultMap );
 		}

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java
index 49b060d..7e0d5c1 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java
@@ -34,7 +34,6 @@ import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.data.RandomMatrixGenerator;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.util.UtilFunctions;
-import org.apache.sysml.utils.IntUtils;
 
 public class DataGenCPInstruction extends UnaryCPInstruction {
 
@@ -218,7 +217,7 @@ public class DataGenCPInstruction extends UnaryCPInstruction {
 				LOG.trace("Process DataGenCPInstruction rand with seed = "+lSeed+".");
 			
 			RandomMatrixGenerator rgen = LibMatrixDatagen.createRandomMatrixGenerator(
-				pdf, IntUtils.toInt( lrows ), IntUtils.toInt( lcols ), rowsInBlock, colsInBlock, sparsity, minValue, maxValue, pdfParams);
+				pdf, (int) lrows, (int) lcols, rowsInBlock, colsInBlock, sparsity, minValue, maxValue, pdfParams);
 			soresBlock = MatrixBlock.randOperations(rgen, seed, numThreads);
 		}
 		else if ( method == DataGenMethod.SEQ ) 
@@ -247,7 +246,7 @@ public class DataGenCPInstruction extends UnaryCPInstruction {
 			if ( range < lrows && !replace )
 				throw new DMLRuntimeException("Sample (size=" + lrows + ") larger than population (size=" + range + ") can only be generated with replacement.");
 			
-			soresBlock = MatrixBlock.sampleOperations(range, IntUtils.toInt(lrows), replace, seed);
+			soresBlock = MatrixBlock.sampleOperations(range, (int)lrows, replace, seed);
 		}
 		
 		//guarded sparse block representation change

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
index b8b8005..e7caa68 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java
@@ -35,7 +35,6 @@ import org.apache.sysml.runtime.matrix.data.InputInfo;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.data.OutputInfo;
 import org.apache.sysml.runtime.matrix.operators.Operator;
-import org.apache.sysml.utils.IntUtils;
 
 public class DataPartitionCPInstruction extends UnaryCPInstruction {
 
@@ -75,10 +74,10 @@ public class DataPartitionCPInstruction extends UnaryCPInstruction {
 			//write matrix partitions to hdfs
 			WriterBinaryBlock.writePartitionedBinaryBlockMatrixToHDFS(new Path(fname), 
 				new JobConf(ConfigurationManager.getCachedJobConf()), mb, moIn.getNumRows(), moIn.getNumColumns(),
-				IntUtils.toInt(moIn.getNumRowsPerBlock()), IntUtils.toInt(moIn.getNumColumnsPerBlock()), _pformat);
+				(int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), _pformat);
 			
 			//ensure correctness of output characteristics (required if input unknown during compile and no recompile)
-			MatrixCharacteristics mc = new MatrixCharacteristics(moIn.getNumRows(), moIn.getNumColumns(), IntUtils.toInt(moIn.getNumRowsPerBlock()), IntUtils.toInt(moIn.getNumColumnsPerBlock()), moIn.getNnz()); 
+			MatrixCharacteristics mc = new MatrixCharacteristics(moIn.getNumRows(), moIn.getNumColumns(), (int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), moIn.getNnz()); 
 			MetaDataFormat meta = new MetaDataFormat(mc, OutputInfo.BinaryBlockOutputInfo, InputInfo.BinaryBlockInputInfo);
 			moOut.setMetaData(meta);
 		}

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/DnnCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/DnnCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/DnnCPInstruction.java
index 12e39cd..7bed33f 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/DnnCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/DnnCPInstruction.java
@@ -33,7 +33,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixDNN.PoolingType;
 import org.apache.sysml.runtime.matrix.data.LibMatrixNative;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.util.DnnUtils;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.NativeHelper;
 
 public class DnnCPInstruction extends UnaryCPInstruction {
@@ -268,8 +267,8 @@ public class DnnCPInstruction extends UnaryCPInstruction {
 	}
 
 	private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) {
-		return IntUtils.toInt( ec.getScalarInput(aL.get(index).getName(),
-			aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue());
+		return (int) ec.getScalarInput(aL.get(index).getName(),
+			aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue();
 	}
 	
 	public void processReluBackwardInstruction(ExecutionContext ec) {
@@ -455,8 +454,8 @@ public class DnnCPInstruction extends UnaryCPInstruction {
 		
 		int R = getScalarInput(ec, _filter_shape, 2);
 		int S = getScalarInput(ec, _filter_shape, 3);
-		int P = IntUtils.toInt( DnnUtils.getP(H, R, stride_h, pad_h) );
-		int Q = IntUtils.toInt( DnnUtils.getQ(W, S, stride_w, pad_w) );
+		int P = (int) DnnUtils.getP(H, R, stride_h, pad_h);
+		int Q = (int) DnnUtils.getQ(W, S, stride_w, pad_w);
 		
 		DnnParameters params = new DnnParameters(N, C, H, W, K, R, S, stride_h, stride_w, pad_h, pad_w, _numThreads);
 		params.enableNative = NativeHelper.isNativeLibraryLoaded();
@@ -592,7 +591,7 @@ public class DnnCPInstruction extends UnaryCPInstruction {
 	private void resetNumThreads(DnnParameters params, int numRows, int numCols, double sparsity) {
 		if(ConfigurationManager.isGPU()) {
 			double memBudget1Thread = OptimizerUtils.estimateSizeExactSparsity(numRows, numCols, sparsity);
-			int limitedDegreeOfParallelism = IntUtils.toInt( Math.floor(_intermediateMemoryBudget / memBudget1Thread) );
+			int limitedDegreeOfParallelism = (int) Math.floor(_intermediateMemoryBudget / memBudget1Thread);
 			if(params.numThreads > limitedDegreeOfParallelism) {
 				params.numThreads = limitedDegreeOfParallelism;
 				if(!warnedUnderUtilitization)

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
index 011b34b..52e05b6 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.matrix.data.FrameBlock;
 import org.apache.sysml.runtime.util.IndexRange;
-import org.apache.sysml.utils.IntUtils;
 
 public final class FrameIndexingCPInstruction extends IndexingCPInstruction {
 
@@ -72,7 +71,7 @@ public final class FrameIndexingCPInstruction extends IndexingCPInstruction {
 					throw new DMLRuntimeException("Invalid index range of scalar leftindexing: "+ixrange.toString()+"." );
 				ScalarObject scalar = ec.getScalarInput(input2);
 				out = new FrameBlock(lin);
-				out.set(IntUtils.toInt(ixrange.rowStart), IntUtils.toInt(ixrange.colStart), scalar.getStringValue());
+				out.set((int)ixrange.rowStart, (int)ixrange.colStart, scalar.getStringValue());
 			}
 
 			//unpin lhs input

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java
index 31faa38..5150847 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.instructions.InstructionUtils;
 import org.apache.sysml.runtime.util.IndexRange;
-import org.apache.sysml.utils.IntUtils;
 
 public abstract class IndexingCPInstruction extends UnaryCPInstruction {
 	protected final CPOperand rowLower, rowUpper, colLower, colUpper;
@@ -51,10 +50,10 @@ public abstract class IndexingCPInstruction extends UnaryCPInstruction {
 
 	protected IndexRange getIndexRange(ExecutionContext ec) {
 		return new IndexRange( //rl, ru, cl, ru
-			IntUtils.toInt(ec.getScalarInput(rowLower).getLongValue()-1),
-			IntUtils.toInt(ec.getScalarInput(rowUpper).getLongValue()-1),
-			IntUtils.toInt(ec.getScalarInput(colLower).getLongValue()-1),
-			IntUtils.toInt(ec.getScalarInput(colUpper).getLongValue()-1));
+			(int)(ec.getScalarInput(rowLower).getLongValue()-1),
+			(int)(ec.getScalarInput(rowUpper).getLongValue()-1),
+			(int)(ec.getScalarInput(colLower).getLongValue()-1),
+			(int)(ec.getScalarInput(colUpper).getLongValue()-1));
 	}
 
 	public static IndexingCPInstruction parseInstruction ( String str ) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/ListIndexingCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ListIndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListIndexingCPInstruction.java
index 5c4b104..9e53700 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ListIndexingCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListIndexingCPInstruction.java
@@ -25,7 +25,6 @@ import org.apache.sysml.parser.Expression.ValueType;
 import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.controlprogram.caching.CacheableData;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
-import org.apache.sysml.utils.IntUtils;
 
 public final class ListIndexingCPInstruction extends IndexingCPInstruction {
 
@@ -56,7 +55,7 @@ public final class ListIndexingCPInstruction extends IndexingCPInstruction {
 			}
 			else {
 				ec.setVariable(output.getName(),
-					list.slice(IntUtils.toInt(rl.getLongValue()-1), IntUtils.toInt(ru.getLongValue()-1)));
+					list.slice((int)rl.getLongValue()-1, (int)ru.getLongValue()-1));
 			}
 		}
 		//left indexing
@@ -69,14 +68,14 @@ public final class ListIndexingCPInstruction extends IndexingCPInstruction {
 				if( rl.getValueType()==ValueType.STRING || ru.getValueType()==ValueType.STRING  )
 					ec.setVariable(output.getName(), lin.copy().set(rl.getStringValue(), ru.getStringValue(), rin));
 				else
-					ec.setVariable(output.getName(), lin.copy().set(IntUtils.toInt(rl.getLongValue()-1), IntUtils.toInt(ru.getLongValue()-1), rin));
+					ec.setVariable(output.getName(), lin.copy().set((int)rl.getLongValue()-1, (int)ru.getLongValue()-1, rin));
 			}
 			else if( input2.getDataType().isScalar() ) { //LIST <- SCALAR
 				ScalarObject scalar = ec.getScalarInput(input2);
 				if( rl.getValueType()==ValueType.STRING )
 					ec.setVariable(output.getName(), lin.copy().set(rl.getStringValue(), scalar));
 				else
-					ec.setVariable(output.getName(), lin.copy().set(IntUtils.toInt(rl.getLongValue()-1), scalar));
+					ec.setVariable(output.getName(), lin.copy().set((int)rl.getLongValue()-1, scalar));
 			}
 			else if( input2.getDataType().isMatrix() ) { //LIST <- MATRIX/FRAME
 				CacheableData<?> dat = ec.getCacheableData(input2);
@@ -84,7 +83,7 @@ public final class ListIndexingCPInstruction extends IndexingCPInstruction {
 				if( rl.getValueType()==ValueType.STRING )
 					ec.setVariable(output.getName(), lin.copy().set(rl.getStringValue(), dat));
 				else
-					ec.setVariable(output.getName(), lin.copy().set(IntUtils.toInt(rl.getLongValue()-1), dat));
+					ec.setVariable(output.getName(), lin.copy().set((int)rl.getLongValue()-1, dat));
 			}
 			else {
 				throw new DMLRuntimeException("Unsupported list "

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java
index c49c0d8..576e57c 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ListObject.java
@@ -27,7 +27,6 @@ import org.apache.sysml.parser.Expression.DataType;
 import org.apache.sysml.parser.Expression.ValueType;
 import org.apache.sysml.runtime.DMLRuntimeException;
 import org.apache.sysml.runtime.controlprogram.caching.CacheableData;
-import org.apache.sysml.utils.IntUtils;
 
 public class ListObject extends Data {
 	private static final long serialVersionUID = 3652422061598967358L;
@@ -53,8 +52,8 @@ public class ListObject extends Data {
 		super(DataType.LIST, vt);
 		_data = data;
 		_names = names;
-		_nCacheable = IntUtils.toInt( data.stream().filter(
-			d -> d instanceof CacheableData).count() );
+		_nCacheable = (int) data.stream().filter(
+			d -> d instanceof CacheableData).count();
 	}
 	
 	public ListObject(ListObject that) {

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java
index 48d6221..34a7476 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java
@@ -30,7 +30,6 @@ import org.apache.sysml.runtime.controlprogram.caching.MatrixObject.UpdateType;
 import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.util.IndexRange;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 
 public final class MatrixIndexingCPInstruction extends IndexingCPInstruction {
@@ -65,8 +64,8 @@ public final class MatrixIndexingCPInstruction extends IndexingCPInstruction {
 				//execute right indexing operation (with shallow row copies for range
 				//of entire sparse rows, which is safe due to copy on update)
 				MatrixBlock matBlock = ec.getMatrixInput(input1.getName(), getExtendedOpcode());
-				resultBlock = matBlock.slice(IntUtils.toInt(ixrange.rowStart), IntUtils.toInt(ixrange.rowEnd), 
-						IntUtils.toInt(ixrange.colStart), IntUtils.toInt(ixrange.colEnd), false, new MatrixBlock());
+				resultBlock = matBlock.slice((int)ixrange.rowStart, (int)ixrange.rowEnd, 
+					(int)ixrange.colStart, (int)ixrange.colEnd, false, new MatrixBlock());
 				
 				//unpin rhs input
 				ec.releaseMatrixInput(input1.getName(), getExtendedOpcode());
@@ -102,7 +101,7 @@ public final class MatrixIndexingCPInstruction extends IndexingCPInstruction {
 					throw new DMLRuntimeException("Invalid index range of scalar leftindexing: "+ixrange.toString()+"." );
 				ScalarObject scalar = ec.getScalarInput(input2.getName(), ValueType.DOUBLE, input2.isLiteral());
 				resultBlock = (MatrixBlock) matBlock.leftIndexingOperations(scalar, 
-						IntUtils.toInt(ixrange.rowStart), IntUtils.toInt(ixrange.colStart), new MatrixBlock(), updateType);
+					(int)ixrange.rowStart, (int)ixrange.colStart, new MatrixBlock(), updateType);
 			}
 
 			//unpin lhs input

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java
index 4553ca0..1f7b053 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.instructions.InstructionUtils;
 import org.apache.sysml.runtime.matrix.data.LibMatrixReorg;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.operators.Operator;
-import org.apache.sysml.utils.IntUtils;
 
 public class MatrixReshapeCPInstruction extends UnaryCPInstruction {
 
@@ -61,8 +60,8 @@ public class MatrixReshapeCPInstruction extends UnaryCPInstruction {
 	public void processInstruction(ExecutionContext ec) {
 		//get inputs
 		MatrixBlock in = ec.getMatrixInput(input1.getName(), getExtendedOpcode());
-		int rows = IntUtils.toInt(ec.getScalarInput(_opRows).getLongValue()); //save cast
-		int cols = IntUtils.toInt(ec.getScalarInput(_opCols).getLongValue()); //save cast
+		int rows = (int)ec.getScalarInput(_opRows).getLongValue(); //save cast
+		int cols = (int)ec.getScalarInput(_opCols).getLongValue(); //save cast
 		BooleanObject byRow = (BooleanObject) ec.getScalarInput(_opByRow.getName(), ValueType.BOOLEAN, _opByRow.isLiteral());
 
 		//execute operations 

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java
index 46f8d42..93742dd 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java
@@ -24,7 +24,6 @@ import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.instructions.InstructionUtils;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.operators.Operator;
-import org.apache.sysml.utils.IntUtils;
 
 public class PMMJCPInstruction extends ComputationCPInstruction {
 
@@ -56,7 +55,7 @@ public class PMMJCPInstruction extends ComputationCPInstruction {
 		//get inputs
 		MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode());
 		MatrixBlock matBlock2 = ec.getMatrixInput(input2.getName(), getExtendedOpcode());
-		int rlen = IntUtils.toInt(ec.getScalarInput(input3.getName(), input3.getValueType(), input3.isLiteral()).getLongValue());
+		int rlen = (int)ec.getScalarInput(input3.getName(), input3.getValueType(), input3.isLiteral()).getLongValue();
 		//execute operations
 		MatrixBlock ret = new MatrixBlock(rlen, matBlock2.getNumColumns(), matBlock2.isInSparseFormat());
 		matBlock1.permutationMatrixMultOperations(matBlock2, ret, null, _numThreads);

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
index 841f742..8b76ad7 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java
@@ -50,7 +50,6 @@ import org.apache.sysml.runtime.transform.encode.Encoder;
 import org.apache.sysml.runtime.transform.encode.EncoderFactory;
 import org.apache.sysml.runtime.transform.meta.TfMetaUtils;
 import org.apache.sysml.runtime.util.DataConverter;
-import org.apache.sysml.utils.IntUtils;
 
 public class ParameterizedBuiltinCPInstruction extends ComputationCPInstruction {
 	private static final int TOSTRING_MAXROWS = 100;
@@ -176,7 +175,7 @@ public class ParameterizedBuiltinCPInstruction extends ComputationCPInstruction
 			
 			int ngroups = -1;
 			if ( params.get(Statement.GAGG_NUM_GROUPS) != null) {
-				ngroups = IntUtils.toInt( Double.parseDouble(params.get(Statement.GAGG_NUM_GROUPS)));
+				ngroups = (int) Double.parseDouble(params.get(Statement.GAGG_NUM_GROUPS));
 			}
 			
 			// compute the result

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/ParamservBuiltinCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParamservBuiltinCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParamservBuiltinCPInstruction.java
index a534882..bc3ca24 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParamservBuiltinCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParamservBuiltinCPInstruction.java
@@ -76,7 +76,6 @@ import org.apache.sysml.runtime.controlprogram.parfor.stat.InfrastructureAnalyze
 import org.apache.sysml.runtime.controlprogram.parfor.stat.Timing;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.util.ProgramConverter;
-import org.apache.sysml.utils.IntUtils;
 import org.apache.sysml.utils.Statistics;
 
 public class ParamservBuiltinCPInstruction extends ParameterizedBuiltinCPInstruction {
@@ -287,7 +286,7 @@ public class ParamservBuiltinCPInstruction extends ParameterizedBuiltinCPInstruc
 	}
 
 	private int getParLevel(int workerNum) {
-		return Math.max(IntUtils.toInt(Math.ceil((double)getRemainingCores()/workerNum)), 1);
+		return Math.max((int)Math.ceil((double)getRemainingCores()/workerNum), 1);
 	}
 
 	private PSUpdateType getUpdateType() {

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java
index 102dcb8..5eeda8a 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java
@@ -32,7 +32,6 @@ import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
 import org.apache.sysml.runtime.util.DataConverter;
-import org.apache.sysml.utils.IntUtils;
 
 public class ReorgCPInstruction extends UnaryCPInstruction {
 	// sort-specific attributes (to enable variable attributes)
@@ -131,7 +130,7 @@ public class ReorgCPInstruction extends UnaryCPInstruction {
 		if( r_op.fn instanceof SortIndex ) {
 			//additional attributes for sort
 			int[] cols = _col.getDataType().isMatrix() ? DataConverter.convertToIntVector(ec.getMatrixInput(_col.getName())) :
-				new int[]{IntUtils.toInt(ec.getScalarInput(_col).getLongValue())};
+				new int[]{(int)ec.getScalarInput(_col).getLongValue()};
 			boolean desc = ec.getScalarInput(_desc).getBooleanValue();
 			boolean ixret = ec.getScalarInput(_ixret).getBooleanValue();
 			r_op = r_op.setFn(new SortIndex(cols, desc, ixret));

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java
index 7fcd555..2e82ab2 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java
@@ -28,7 +28,6 @@ import org.apache.sysml.runtime.controlprogram.context.ExecutionContext;
 import org.apache.sysml.runtime.instructions.InstructionUtils;
 import org.apache.sysml.runtime.matrix.data.MatrixBlock;
 import org.apache.sysml.runtime.matrix.operators.Operator;
-import org.apache.sysml.utils.IntUtils;
 
 public class StringInitCPInstruction extends UnaryCPInstruction {
 	public static final String DELIM = " ";
@@ -73,7 +72,7 @@ public class StringInitCPInstruction extends UnaryCPInstruction {
 	public void processInstruction( ExecutionContext ec ) {
 		//setup output matrix
 		String outName = output.getName();
-		MatrixBlock outBlk = new MatrixBlock(IntUtils.toInt(_rlen), IntUtils.toInt(_clen), false);
+		MatrixBlock outBlk = new MatrixBlock((int)_rlen, (int)_clen, false);
 		
 		//init tokenizer 
 		StringTokenizer st = new StringTokenizer(_data, DELIM);
@@ -87,8 +86,8 @@ public class StringInitCPInstruction extends UnaryCPInstruction {
 		for( int i=0; i<len; i++ ){
 			String sval = st.nextToken();
 			Double dval = Double.parseDouble(sval);
-			int rix = IntUtils.toInt(i / _clen);
-			int cix = IntUtils.toInt(i % _clen);
+			int rix = (int) (i / _clen);
+			int cix = (int) (i % _clen);
 			outBlk.quickSetValue(rix, cix, dval);
 		}
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
index 1d2ac10..1d8f7fe 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateBinaryGPUInstruction.java
@@ -34,7 +34,6 @@ import org.apache.sysml.runtime.matrix.operators.AggregateOperator;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class AggregateBinaryGPUInstruction extends GPUInstruction {
 	private CPOperand _input1 = null;
@@ -79,8 +78,8 @@ public class AggregateBinaryGPUInstruction extends GPUInstruction {
 		MatrixObject m1 = getMatrixInputForGPUInstruction(ec, _input1.getName());
 		MatrixObject m2 = getMatrixInputForGPUInstruction(ec, _input2.getName());
 		//compute matrix multiplication
-		int rlen = IntUtils.toInt(_isLeftTransposed ? m1.getNumColumns() : m1.getNumRows());
-		int clen = IntUtils.toInt(_isRightTransposed ? m2.getNumRows() : m2.getNumColumns());
+		int rlen = (int) (_isLeftTransposed ? m1.getNumColumns() : m1.getNumRows());
+		int clen = (int) (_isRightTransposed ? m2.getNumRows() : m2.getNumColumns());
 		ec.setMetaData(_output.getName(), rlen, clen);
 		LibMatrixCuMatMult.matmult(ec, ec.getGPUContext(0), getExtendedOpcode(), m1, m2, _output.getName(), _isLeftTransposed, _isRightTransposed);
 		//release inputs/outputs

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateUnaryGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateUnaryGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateUnaryGPUInstruction.java
index 2ee6fed..1d5802b 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateUnaryGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/AggregateUnaryGPUInstruction.java
@@ -31,7 +31,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.AggregateUnaryOperator;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 /**
  * Implements aggregate unary instructions for CUDA
@@ -78,8 +77,8 @@ public class AggregateUnaryGPUInstruction extends GPUInstruction {
     //get inputs
     MatrixObject in1 = getMatrixInputForGPUInstruction(ec, _input1.getName());
 
-    int rlen = IntUtils.toInt(in1.getNumRows());
-    int clen = IntUtils.toInt(in1.getNumColumns());
+    int rlen = (int)in1.getNumRows();
+    int clen = (int)in1.getNumColumns();
 
     IndexFunction indexFunction = ((AggregateUnaryOperator) _optr).indexFn;
     if (indexFunction instanceof ReduceRow){  // COL{SUM, MAX...}

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/DnnGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/DnnGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/DnnGPUInstruction.java
index 226cc52..35c9591 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/DnnGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/DnnGPUInstruction.java
@@ -36,7 +36,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixDNN.PoolingType;
 import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
 import org.apache.sysml.runtime.util.DnnUtils;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class DnnGPUInstruction extends GPUInstruction {
 	
@@ -444,8 +443,8 @@ public class DnnGPUInstruction extends GPUInstruction {
 		try(GPUDenseInputPointerFetcher fetcher = new GPUDenseInputPointerFetcher(ec, gCtx, instName, _output)) {
 			fetcher.add("X", _input1).addScalar("eps", _input2);
 			
-			int rows = IntUtils.toInt(fetcher.getInputNumRows("X"));
-			int cols = IntUtils.toInt(fetcher.getInputNumColumns("X"));
+			int rows = LibMatrixCUDA.toInt(fetcher.getInputNumRows("X"));
+			int cols = LibMatrixCUDA.toInt(fetcher.getInputNumColumns("X"));
 			
 			// invVar(X, C, eps, size);
 			LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("invVar", 
@@ -517,8 +516,8 @@ public class DnnGPUInstruction extends GPUInstruction {
 			fetcher.add("ema_mean", _input1).add("mean", _input2).addScalar("mu", _input3);
 			double mu = fetcher.getDouble("mu");
 			
-			int rows = IntUtils.toInt(fetcher.getInputNumRows("ema_mean"));
-			int cols = IntUtils.toInt(fetcher.getInputNumColumns("ema_mean"));
+			int rows = LibMatrixCUDA.toInt(fetcher.getInputNumRows("ema_mean"));
+			int cols = LibMatrixCUDA.toInt(fetcher.getInputNumColumns("ema_mean"));
 			
 			fetcher.validateDimensions("mean", rows, cols);
 			
@@ -537,8 +536,8 @@ public class DnnGPUInstruction extends GPUInstruction {
 			int C = fetcher.getInteger("C");
 			int HW = fetcher.getInteger("HW");
 			fetcher.validateDimensions("X", -1, C*HW);
-			int rows = IntUtils.toInt(fetcher.getInputNumRows("X"));
-			int cols = IntUtils.toInt(fetcher.getInputNumColumns("X"));
+			int rows = LibMatrixCUDA.toInt(fetcher.getInputNumRows("X"));
+			int cols = LibMatrixCUDA.toInt(fetcher.getInputNumColumns("X"));
 			// output = matrix(colMeans(X), rows=C, cols=Hin*Win)
 			LibMatrixCUDA.colMeans(gCtx, instName,  
 					fetcher.getInputPointer("X"), 
@@ -566,7 +565,7 @@ public class DnnGPUInstruction extends GPUInstruction {
 			Pointer subgrp_vars = gCtx.allocate(instName, C*HW*LibMatrixCUDA.sizeOfDataType);
 			// subgrp_vars <- colVars(X)
 			LibMatrixCUDA.colVars(gCtx, instName, fetcher.getInputPointer("X"), subgrp_vars, 
-					IntUtils.toInt(fetcher.getInputNumRows("X")), C*HW);
+					LibMatrixCUDA.toInt(fetcher.getInputNumRows("X")), C*HW);
 			
 			// tmp1 <- rowMeans(subgrp_vars)
 			Pointer tmp1 = gCtx.allocate(instName, C*LibMatrixCUDA.sizeOfDataType);
@@ -593,11 +592,11 @@ public class DnnGPUInstruction extends GPUInstruction {
 			fetcher.add("input", _input1).add("v", _input2).add("v_prev", _input3)
 			.addScalar("mu", _input4);
 			MatrixObject input = fetcher.getInputMatrixObject("input");
-			int rows = IntUtils.toInt(input.getNumRows());
-			int cols = IntUtils.toInt(input.getNumColumns());
+			int rows = LibMatrixCUDA.toInt(input.getNumRows());
+			int cols = LibMatrixCUDA.toInt(input.getNumColumns());
 			
 			LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("update_nesterov_x", 
-					ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(rows*cols)),
+					ExecutionConfig.getConfigForSimpleVectorOperations(LibMatrixCUDA.toInt(rows*cols)),
 					fetcher.getInputPointer("input"), 
 					fetcher.getInputPointer("v"),
 					fetcher.getInputPointer("v_prev"),
@@ -628,14 +627,14 @@ public class DnnGPUInstruction extends GPUInstruction {
 				Pointer tmp = gCtx.allocate(instName, N*CHW*LibMatrixCUDA.sizeOfDataType);
 				// jcuda.runtime.JCuda.cudaDeviceSynchronize();
 				LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("backward_dgamma_tmp", 
-						ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(N*CHW)),
+						ExecutionConfig.getConfigForSimpleVectorOperations(LibMatrixCUDA.toInt(N*CHW)),
 						fetcher.getInputPointer("ema_mean"), 
 						fetcher.getInputPointer("dout"),
 						fetcher.getInputPointer("X"),
 						fetcher.getInputPointer("ema_var"),
 						tmp,
 						// N, C, HW, CHW, NCHW
-						IntUtils.toInt(N), IntUtils.toInt(C), IntUtils.toInt(HW), IntUtils.toInt(CHW), N*CHW);
+						toInt(N), toInt(C), toInt(HW), toInt(CHW), N*CHW);
 				
 				LibMatrixCUDA.channelSums(gCtx, instName, 
 						tmp, fetcher.getOutputPointer(C, 1), N, C, HW);
@@ -643,6 +642,13 @@ public class DnnGPUInstruction extends GPUInstruction {
 			}
 		}
 	
+	private static int toInt(long num) throws DMLRuntimeException {
+		if(num >= Integer.MAX_VALUE || num <= Integer.MIN_VALUE) {
+			throw new DMLRuntimeException("GPU : Exceeded supported size " + num);
+		}
+		return (int)num;
+	}
+	
 	public static long getMemRequiredForCuDNNLSTMBackward(long N, long T, long M, long D, boolean return_sequences) {
 		double memRequired = (D+M)*4*M // sysmlWPointer
 				+ 2*(D+M+2)*(4*M) // cudnnWPointer and cudnnDwPointer
@@ -666,9 +672,9 @@ public class DnnGPUInstruction extends GPUInstruction {
 		long numRowsW = W.getNumRows();
 		long D = numRowsW - M; // since W:(D+M, 4M) ... numFeatures
 		MatrixObject X = getMatrixInputForGPUInstruction(ec, _input1.getName());
-		int N = IntUtils.toInt(X.getNumRows()); // batchSize .. since X:(N, T*D)
+		int N = toInt(X.getNumRows()); // batchSize .. since X:(N, T*D)
 		long numColsX = X.getNumColumns();
-		int T = IntUtils.toInt(numColsX/ D); // since X:(N, T*D) ... seqLength
+		int T = toInt(numColsX/ D); // since X:(N, T*D) ... seqLength
 		boolean return_sequences = ec.getScalarInput(_input6.getName(), _input6.getValueType(), _input6.isLiteral()).getBooleanValue();
 		
 		// long memRequired = getMemRequiredForCuDNNLSTMBackward(N, T, M, D, return_sequences);
@@ -697,14 +703,14 @@ public class DnnGPUInstruction extends GPUInstruction {
 			Pointer sysmlBiasPointer = LibMatrixCuDNN.getDensePointerForCuDNN(gCtx, bias, instName, 1, 4*M);
 			Pointer cudnnWPointer = gCtx.allocate(instName, (D+M+2)*(4*M)*LibMatrixCUDA.sizeOfDataType);
 			LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("prepare_lstm_weight",
-					ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt((D+M+2)*(4*M))),
+					ExecutionConfig.getConfigForSimpleVectorOperations(toInt((D+M+2)*(4*M))),
 					sysmlWPointer, sysmlBiasPointer, cudnnWPointer, D, M);
 			ec.releaseMatrixInputForGPUInstruction(_input2.getName());
 			ec.releaseMatrixInputForGPUInstruction(_input3.getName());
 			Pointer xPointer = LibMatrixCUDA.getDensePointer(gCtx, X, instName); 
 			Pointer cudnnInput = gCtx.allocate(instName, (N*T*D)*LibMatrixCUDA.sizeOfDataType);
 			LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("prepare_lstm_input",
-					ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(N*T*D)),
+					ExecutionConfig.getConfigForSimpleVectorOperations(toInt(N*T*D)),
 					xPointer, cudnnInput, N, D, T*D, N*T*D);
 			ec.releaseMatrixInputForGPUInstruction(_input1.getName());
 			Pointer c0Pointer = LibMatrixCUDA.getDensePointer(gCtx, getMatrixInputForGPUInstruction(ec, _input5.getName()), instName);
@@ -809,20 +815,20 @@ public class DnnGPUInstruction extends GPUInstruction {
 			Pointer sysmlBiasPointer = LibMatrixCuDNN.getDensePointerForCuDNN(gCtx, bias, instName, 1, 4*M);
 			Pointer cudnnWPointer = gCtx.allocate(instName, (D+M+2)*(4*M)*LibMatrixCUDA.sizeOfDataType);
 			LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("prepare_lstm_weight",
-					ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt((D+M+2)*(4*M))),
-					sysmlWPointer, sysmlBiasPointer, cudnnWPointer, IntUtils.toInt(D), IntUtils.toInt(M));
+					ExecutionConfig.getConfigForSimpleVectorOperations(toInt((D+M+2)*(4*M))),
+					sysmlWPointer, sysmlBiasPointer, cudnnWPointer, toInt(D), toInt(M));
 			ec.releaseMatrixInputForGPUInstruction(_input2.getName()); // W
 			ec.releaseMatrixInputForGPUInstruction(_input3.getName()); // bias
 			// Beause the matrices are released immediately, the output for transpose need not be taken into account
 			Pointer xPointer = LibMatrixCUDA.getDensePointer(gCtx, X, instName); 
 			Pointer cudnnInput = gCtx.allocate(instName, (N*T*D)*LibMatrixCUDA.sizeOfDataType);
 			LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("prepare_lstm_input",
-					ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(N*T*D)),
-					xPointer, cudnnInput, IntUtils.toInt(N), IntUtils.toInt(D), IntUtils.toInt(T*D), IntUtils.toInt(N*T*D));
+					ExecutionConfig.getConfigForSimpleVectorOperations(toInt(N*T*D)),
+					xPointer, cudnnInput, toInt(N), toInt(D), toInt(T*D), toInt(N*T*D));
 			ec.releaseMatrixInputForGPUInstruction(_input1.getName());
 			Pointer c0Pointer = LibMatrixCUDA.getDensePointer(gCtx, getMatrixInputForGPUInstruction(ec, _input5.getName()), instName); 
 			LibMatrixCuDNN.cuDNNLstm(ec, gCtx, instName, cudnnInput, cudnnWPointer, out0Pointer, c0Pointer, return_sequences, _output.getName(), _output2.getName(), 
-					IntUtils.toInt(N), IntUtils.toInt(M), IntUtils.toInt(D), IntUtils.toInt(T));
+					toInt(N), toInt(M), toInt(D), toInt(T));
 			gCtx.cudaFreeHelper(instName, cudnnWPointer, gCtx.EAGER_CUDA_FREE);
 			gCtx.cudaFreeHelper(instName, cudnnInput, gCtx.EAGER_CUDA_FREE);
 		}
@@ -1010,8 +1016,8 @@ public class DnnGPUInstruction extends GPUInstruction {
 				long CHW = ((long)C)*((long)H)*((long)W);
 				x = gCtx.allocate(instName, ((long)N)*CHW*LibMatrixCUDA.sizeOfDataType);
 				LibMatrixCuDNN.getCudaKernels(gCtx).launchKernel("relu",
-						ExecutionConfig.getConfigForSimpleMatrixOperations(IntUtils.toInt(N), IntUtils.toInt(CHW)),
-						tmpX, x, N, IntUtils.toInt(CHW));
+						ExecutionConfig.getConfigForSimpleMatrixOperations(toInt(N), toInt(CHW)),
+						tmpX, x, N, toInt(CHW));
 				ec.releaseMatrixInputForGPUInstruction(_input1.getName());
 			}
 
@@ -1040,8 +1046,8 @@ public class DnnGPUInstruction extends GPUInstruction {
 				long CHW = ((long)C)*((long)H)*((long)W);
 				x = gCtx.allocate(instName, ((long)N)*CHW*LibMatrixCUDA.sizeOfDataType);
 				LibMatrixCuDNN.getCudaKernels(gCtx).launchKernel("relu",
-						ExecutionConfig.getConfigForSimpleMatrixOperations(IntUtils.toInt(N), IntUtils.toInt(CHW)),
-						tmpX, x, N, IntUtils.toInt(CHW));
+						ExecutionConfig.getConfigForSimpleMatrixOperations(toInt(N), toInt(CHW)),
+						tmpX, x, N, toInt(CHW));
 				ec.releaseMatrixInputForGPUInstruction(_input1.getName());
 			}
 			

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/MMTSJGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MMTSJGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MMTSJGPUInstruction.java
index 642b36a..310e358 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MMTSJGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MMTSJGPUInstruction.java
@@ -28,7 +28,6 @@ import org.apache.sysml.runtime.instructions.cp.CPOperand;
 import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class MMTSJGPUInstruction extends GPUInstruction {
 	private MMTSJType _type = null;
@@ -80,7 +79,7 @@ public class MMTSJGPUInstruction extends GPUInstruction {
                 GPUStatistics.incrementNoOfExecutedGPUInst();
                 MatrixObject mat = getMatrixInputForGPUInstruction(ec, _input.getName());
                 boolean isLeftTransposed = ( _type == MMTSJType.LEFT);
-                int rlen = IntUtils.toInt(isLeftTransposed? mat.getNumColumns() : mat.getNumRows());
+                int rlen = (int) (isLeftTransposed? mat.getNumColumns() : mat.getNumRows());
                 int clen = rlen;
                 //execute operations 
                 ec.setMetaData(_output.getName(), rlen, clen);

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixIndexingGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixIndexingGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixIndexingGPUInstruction.java
index 719f38e..6e1ac2c 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixIndexingGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixIndexingGPUInstruction.java
@@ -31,7 +31,6 @@ import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.SimpleOperator;
 import org.apache.sysml.runtime.util.IndexRange;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class MatrixIndexingGPUInstruction extends GPUInstruction {
 	CPOperand rowLower, rowUpper, colLower, colUpper;
@@ -136,9 +135,9 @@ public class MatrixIndexingGPUInstruction extends GPUInstruction {
 	
 	IndexRange getIndexRange(ExecutionContext ec) {
 		return new IndexRange( //rl, ru, cl, ru
-			IntUtils.toInt(ec.getScalarInput(rowLower.getName(), rowLower.getValueType(), rowLower.isLiteral()).getLongValue()-1),
-			IntUtils.toInt(ec.getScalarInput(rowUpper.getName(), rowUpper.getValueType(), rowUpper.isLiteral()).getLongValue()-1),
-			IntUtils.toInt(ec.getScalarInput(colLower.getName(), colLower.getValueType(), colLower.isLiteral()).getLongValue()-1),
-			IntUtils.toInt(ec.getScalarInput(colUpper.getName(), colUpper.getValueType(), colUpper.isLiteral()).getLongValue()-1));
+			(int)(ec.getScalarInput(rowLower.getName(), rowLower.getValueType(), rowLower.isLiteral()).getLongValue()-1),
+			(int)(ec.getScalarInput(rowUpper.getName(), rowUpper.getValueType(), rowUpper.isLiteral()).getLongValue()-1),
+			(int)(ec.getScalarInput(colLower.getName(), colLower.getValueType(), colLower.isLiteral()).getLongValue()-1),
+			(int)(ec.getScalarInput(colUpper.getName(), colUpper.getValueType(), colUpper.isLiteral()).getLongValue()-1));
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.java
index 2ce39f9..9f4f2c5 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.BinaryOperator;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class MatrixMatrixArithmeticGPUInstruction extends ArithmeticBinaryGPUInstruction {
 
@@ -61,7 +60,7 @@ public class MatrixMatrixArithmeticGPUInstruction extends ArithmeticBinaryGPUIns
 			clen = clen1 > clen2 ? clen1 : clen2;
 		}
 
-		ec.setMetaData(_output.getName(), IntUtils.toInt(rlen), IntUtils.toInt(clen));
+		ec.setMetaData(_output.getName(), (int)rlen, (int)clen);
 		
 		BinaryOperator bop = (BinaryOperator) _optr;
 		LibMatrixCUDA.matrixMatrixArithmetic(ec, ec.getGPUContext(0), getExtendedOpcode(), in1, in2, _output.getName(), isLeftTransposed, isRightTransposed, bop);

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
index 2da1778..a4eea05 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.java
@@ -29,7 +29,6 @@ import org.apache.sysml.runtime.instructions.cp.ScalarObject;
 import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class MatrixMatrixAxpyGPUInstruction extends ArithmeticBinaryGPUInstruction {
 	CPOperand constant = null;
@@ -90,7 +89,7 @@ public class MatrixMatrixAxpyGPUInstruction extends ArithmeticBinaryGPUInstructi
 		long rlen2 = in2.getNumRows();
 		long clen2 = in2.getNumColumns();
 		if(isValidMMOperation(rlen1, rlen2, clen1, clen2) || isValidMVOperation(rlen1, rlen2, clen1, clen2)) {
-			ec.setMetaData(_output.getName(), IntUtils.toInt(rlen1), IntUtils.toInt(clen1));
+			ec.setMetaData(_output.getName(), (int)rlen1, (int)clen1);
 		}
 		else { 
 			throw new DMLRuntimeException("Incorrect dimensions of inputs in GPU axpy operation. input1:" + rlen1 + " X " + clen1 +

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.java
index 28471c4..df64f78 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.java
@@ -26,7 +26,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.BinaryOperator;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class MatrixMatrixRelationalBinaryGPUInstruction extends RelationalBinaryGPUInstruction {
 
@@ -57,7 +56,7 @@ public class MatrixMatrixRelationalBinaryGPUInstruction extends RelationalBinary
 			clen = clen1 > clen2 ? clen1 : clen2;
 		}
 
-		ec.setMetaData(_output.getName(), IntUtils.toInt(rlen), IntUtils.toInt(clen));
+		ec.setMetaData(_output.getName(), (int)rlen, (int)clen);
 
 		BinaryOperator bop = (BinaryOperator) _optr;
 		LibMatrixCUDA.matrixMatrixRelational(ec, ec.getGPUContext(0), getExtendedOpcode(), in1, in2, _output.getName(), bop);

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixReshapeGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixReshapeGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixReshapeGPUInstruction.java
index dd0a244..ee2166e 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixReshapeGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/MatrixReshapeGPUInstruction.java
@@ -32,7 +32,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 import jcuda.Pointer;
 
@@ -71,8 +70,8 @@ public class MatrixReshapeGPUInstruction extends GPUInstruction {
 
 	@Override
 	public void processInstruction(ExecutionContext ec) {
-		int rows = IntUtils.toInt(ec.getScalarInput(_opRows.getName(), _opRows.getValueType(), _opRows.isLiteral()).getLongValue()); //save cast
-		int cols = IntUtils.toInt(ec.getScalarInput(_opCols.getName(), _opCols.getValueType(), _opCols.isLiteral()).getLongValue()); //save cast
+		int rows = (int)ec.getScalarInput(_opRows.getName(), _opRows.getValueType(), _opRows.isLiteral()).getLongValue(); //save cast
+		int cols = (int)ec.getScalarInput(_opCols.getName(), _opCols.getValueType(), _opCols.isLiteral()).getLongValue(); //save cast
 		BooleanObject byRow = (BooleanObject) ec.getScalarInput(_opByRow.getName(), ValueType.BOOLEAN, _opByRow.isLiteral());
 		
 		GPUStatistics.incrementNoOfExecutedGPUInst();

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/ReorgGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ReorgGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ReorgGPUInstruction.java
index 8075913..f191d2a 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ReorgGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ReorgGPUInstruction.java
@@ -29,7 +29,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class ReorgGPUInstruction extends GPUInstruction {
 	private CPOperand _input;
@@ -72,8 +71,8 @@ public class ReorgGPUInstruction extends GPUInstruction {
 	public void processInstruction(ExecutionContext ec) {
 		GPUStatistics.incrementNoOfExecutedGPUInst();
 		MatrixObject mat = getMatrixInputForGPUInstruction(ec, _input.getName());
-		int rlen = IntUtils.toInt(mat.getNumColumns());
-		int clen = IntUtils.toInt(mat.getNumRows());
+		int rlen = (int) mat.getNumColumns();
+		int clen = (int) mat.getNumRows();
 		//execute operation
 		ec.setMetaData(_output.getName(), rlen, clen);
 		LibMatrixCUDA.transpose(ec, ec.getGPUContext(0), getExtendedOpcode(), mat, _output.getName());

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.java
index d0758ff..2593837 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.java
@@ -28,7 +28,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.ScalarOperator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class ScalarMatrixArithmeticGPUInstruction extends ArithmeticBinaryGPUInstruction {
 
@@ -47,8 +46,8 @@ public class ScalarMatrixArithmeticGPUInstruction extends ArithmeticBinaryGPUIns
 		ScalarObject constant = (ScalarObject) ec.getScalarInput(scalar.getName(), scalar.getValueType(), scalar.isLiteral());
 		
 		boolean isTransposed = false;
-		int rlen = IntUtils.toInt(isTransposed ?  in1.getNumColumns() :  in1.getNumRows());
-		int clen = IntUtils.toInt(isTransposed ?  in1.getNumRows() :  in1.getNumColumns());
+		int rlen = isTransposed ? (int) in1.getNumColumns() : (int) in1.getNumRows();
+		int clen = isTransposed ? (int) in1.getNumRows() : (int) in1.getNumColumns();
 		
 		ec.setMetaData(_output.getName(), rlen, clen);
 		

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.java
index 931c651..bf5b017 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.java
@@ -28,7 +28,6 @@ import org.apache.sysml.runtime.matrix.data.LibMatrixCUDA;
 import org.apache.sysml.runtime.matrix.operators.Operator;
 import org.apache.sysml.runtime.matrix.operators.ScalarOperator;
 import org.apache.sysml.utils.GPUStatistics;
-import org.apache.sysml.utils.IntUtils;
 
 public class ScalarMatrixRelationalBinaryGPUInstruction extends RelationalBinaryGPUInstruction {
 
@@ -46,8 +45,8 @@ public class ScalarMatrixRelationalBinaryGPUInstruction extends RelationalBinary
 		MatrixObject in1 = getMatrixInputForGPUInstruction(ec, mat.getName());
 		ScalarObject constant = (ScalarObject) ec.getScalarInput(scalar.getName(), scalar.getValueType(), scalar.isLiteral());
 
-		int rlen = IntUtils.toInt(in1.getNumRows());
-		int clen = IntUtils.toInt(in1.getNumColumns());
+		int rlen = (int) in1.getNumRows();
+		int clen = (int) in1.getNumColumns();
 		ec.setMetaData(_output.getName(), rlen, clen);
 
 		ScalarOperator sc_op = (ScalarOperator) _optr;

http://git-wip-us.apache.org/repos/asf/systemml/blob/c3fdbb4d/src/main/java/org/apache/sysml/runtime/instructions/mr/AggregateBinaryInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/mr/AggregateBinaryInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/mr/AggregateBinaryInstruction.java
index 894c977..3c4a10c 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/mr/AggregateBinaryInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/mr/AggregateBinaryInstruction.java
@@ -39,7 +39,6 @@ import org.apache.sysml.runtime.matrix.mapred.MRBaseForCommonInstructions;
 import org.apache.sysml.runtime.matrix.operators.AggregateBinaryOperator;
 import org.apache.sysml.runtime.matrix.operators.AggregateOperator;
 import org.apache.sysml.runtime.matrix.operators.Operator;
-import org.apache.sysml.utils.IntUtils;
 
 public class AggregateBinaryInstruction extends BinaryMRInstructionBase implements IDistributedCacheConsumer {
 	private String _opcode = null;
@@ -192,7 +191,7 @@ public class AggregateBinaryInstruction extends BinaryMRInstructionBase implemen
 				// Matrix multiply A[i,k] %*% B[k,bid]
 				
 				// Setup input2 block
-				IndexedMatrixValue in2Block = dcInput.getDataBlock(IntUtils.toInt(in1.getIndexes().getColumnIndex()), bidx);
+				IndexedMatrixValue in2Block = dcInput.getDataBlock((int)in1.getIndexes().getColumnIndex(), bidx);
 				
 				MatrixValue in2BlockValue = in2Block.getValue(); 
 				MatrixIndexes in2BlockIndex = in2Block.getIndexes();
@@ -219,7 +218,7 @@ public class AggregateBinaryInstruction extends BinaryMRInstructionBase implemen
 				// Matrix multiply A[i,k] %*% B[k,bid]
 				
 				// Setup input2 block
-				IndexedMatrixValue in1Block = dcInput.getDataBlock(bidx, IntUtils.toInt(in2.getIndexes().getRowIndex()));
+				IndexedMatrixValue in1Block = dcInput.getDataBlock(bidx, (int)in2.getIndexes().getRowIndex());
 				
 				MatrixValue in1BlockValue = in1Block.getValue(); 
 				MatrixIndexes in1BlockIndex = in1Block.getIndexes();