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/11/30 22:00:19 UTC
[3/4] systemml git commit: [MINOR] Throw an exception if incorrect
long-to-int conversion occurs
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 11d1ed9..9352508 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,6 +48,7 @@ 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
@@ -120,8 +121,8 @@ public class RemoteDPParWorkerReducer extends ParWorker
_dpf = MRJobConfiguration.getPartitioningFormat( job );
MatrixCharacteristics mc = MRJobConfiguration.getPartitionedMatrixSize(job);
PartitionFormat pf = new PartitionFormat(_dpf, MRJobConfiguration.getPartitioningSizeN(job));
- _rlen = (int)pf.getNumRows(mc);
- _clen = (int)pf.getNumColumns(mc);
+ _rlen = IntUtils.toInt(pf.getNumRows(mc));
+ _clen = IntUtils.toInt(pf.getNumColumns(mc));
_brlen = mc.getRowsPerBlock();
_bclen = mc.getColsPerBlock();
_iterVar = MRJobConfiguration.getPartitioningItervar( job );
@@ -129,9 +130,9 @@ public class RemoteDPParWorkerReducer extends ParWorker
_info = MRJobConfiguration.getPartitioningOutputInfo( job );
_tSparseCol = MRJobConfiguration.getPartitioningTransposedCol( job );
if( _tSparseCol )
- _partition = new MatrixBlock((int)_clen, _rlen, true);
+ _partition = new MatrixBlock(IntUtils.toInt(_clen), _rlen, true);
else
- _partition = new MatrixBlock((int)_rlen, _clen, false);
+ _partition = new MatrixBlock(IntUtils.toInt(_rlen), _clen, false);
//Step 1: configure parworker
String taskID = job.get(MRConfigurationNames.MR_TASK_ID);
@@ -152,7 +153,7 @@ public class RemoteDPParWorkerReducer extends ParWorker
//create local runtime program
String in = MRJobConfiguration.getProgramBlocks(job);
- ParForBody body = ProgramConverter.parseParForBody(in, (int)_workerID);
+ ParForBody body = ProgramConverter.parseParForBody(in, IntUtils.toInt(_workerID));
_childBlocks = body.getChildBlocks();
_ec = body.getEc();
_resultVars = body.getResultVariables();
@@ -242,8 +243,8 @@ public class RemoteDPParWorkerReducer extends ParWorker
while( valueList.hasNext() )
{
PairWritableBlock pairValue = (PairWritableBlock)valueList.next();
- int row_offset = (int)(pairValue.indexes.getRowIndex()-1)*_brlen;
- int col_offset = (int)(pairValue.indexes.getColumnIndex()-1)*_bclen;
+ int row_offset = IntUtils.toInt(pairValue.indexes.getRowIndex()-1)*_brlen;
+ int col_offset = IntUtils.toInt(pairValue.indexes.getColumnIndex()-1)*_bclen;
MatrixBlock block = pairValue.block;
if( !_partition.isInSparseFormat() ) //DENSE
{
@@ -297,7 +298,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, (int)pairValue.indexes.getColumnIndex()-1, pairValue.cell.getValue());
+ _partition.quickSetValue(0, IntUtils.toInt(pairValue.indexes.getColumnIndex()-1), pairValue.cell.getValue());
}
break;
case COLUMN_WISE:
@@ -307,9 +308,9 @@ public class RemoteDPParWorkerReducer extends ParWorker
if( pairValue.indexes.getRowIndex()<0 )
continue; //cells used to ensure empty partitions
if( _tSparseCol )
- _partition.appendValue(0,(int)pairValue.indexes.getRowIndex()-1, pairValue.cell.getValue());
+ _partition.appendValue(0,IntUtils.toInt(pairValue.indexes.getRowIndex()-1), pairValue.cell.getValue());
else
- _partition.quickSetValue((int)pairValue.indexes.getRowIndex()-1, 0, pairValue.cell.getValue());
+ _partition.quickSetValue(IntUtils.toInt(pairValue.indexes.getRowIndex()-1), 0, pairValue.cell.getValue());
}
break;
default:
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 a2a231d..397f72c 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,6 +30,7 @@ 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
@@ -48,7 +49,7 @@ public class RemoteParForColocatedNLineInputFormat extends NLineInputFormat
MatrixCharacteristics mc = MRJobConfiguration.getPartitionedMatrixSize(job);
PDataPartitionFormat dpf = MRJobConfiguration.getPartitioningFormat(job);
PartitionFormat pf = new PartitionFormat(dpf, -1);
- int blen = (int) (pf.isRowwise() ? pf.getNumRows(mc) : pf.getNumColumns(mc));
+ int blen = IntUtils.toInt(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/95cbbd65/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 63e4b40..377fe9c 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,6 +54,7 @@ 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;
@@ -182,20 +183,20 @@ public class RemoteParForMR
// Process different counters
Statistics.incrementNoOfExecutedMRJobs();
Group pgroup = runjob.getCounters().getGroup(ParForProgramBlock.PARFOR_COUNTER_GROUP_NAME);
- int numTasks = (int)pgroup.getCounter( Stat.PARFOR_NUMTASKS.toString() );
- int numIters = (int)pgroup.getCounter( Stat.PARFOR_NUMITERS.toString() );
+ int numTasks = IntUtils.toInt(pgroup.getCounter( Stat.PARFOR_NUMTASKS.toString() ));
+ int numIters = IntUtils.toInt(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((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.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.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/95cbbd65/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 fd0b9eb..c6c8bfb 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,6 +39,7 @@ 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;
@@ -90,7 +91,7 @@ public class RemoteParForSparkWorker extends ParWorker implements PairFlatMapFun
//maintain accumulators
_aTasks.add( 1 );
- _aIters.add( (int)(getExecutedIterations()-numIter) );
+ _aIters.add( IntUtils.toInt(getExecutedIterations()-numIter) );
//cleanup remaining intermediate variables from buffer pool
_ec.getVariables().keySet().stream().filter(v -> !inVars.contains(v))
@@ -114,7 +115,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, (int)_workerID, true);
+ ParForBody body = ProgramConverter.parseParForBody(_prog, IntUtils.toInt(_workerID), true);
_childBlocks = body.getChildBlocks();
_ec = body.getEc();
_resultVars = body.getResultVariables();
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 7db5bcd..5c1d978 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,6 +42,7 @@ 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;
/**
@@ -162,7 +163,7 @@ public class RemoteParWorkerMapper extends ParWorker //MapReduceBase not requir
//create local runtime program
String in = MRJobConfiguration.getProgramBlocks(job);
- ParForBody body = ProgramConverter.parseParForBody(in, (int)_workerID);
+ ParForBody body = ProgramConverter.parseParForBody(in, IntUtils.toInt(_workerID));
_childBlocks = body.getChildBlocks();
_ec = body.getEc();
_resultVars = body.getResultVariables();
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 4f7fac5..1e081d0 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,6 +60,7 @@ 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;
/**
*
@@ -706,8 +707,8 @@ public class ResultMergeLocalFile extends ResultMerge
}
else {
//NOTE: whenever runtime does not need all blocks anymore, this can be removed
- 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);
+ 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);
mb = new MatrixBlock(maxRow, maxCol, true);
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 c76b3f9..a95b736 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,6 +32,7 @@ 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
@@ -165,8 +166,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((int)rows, (int)cols, false);
- outMBNew.allocateDenseBlockUnsafe((int)rows, (int)cols);
+ MatrixBlock outMBNew = new MatrixBlock(IntUtils.toInt(rows), IntUtils.toInt(cols), false);
+ outMBNew.allocateDenseBlockUnsafe(IntUtils.toInt(rows), IntUtils.toInt(cols));
//create compare matrix if required (existing data in result)
_compare = getCompareMatrix(outMB);
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 2884c32..40d7233 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,6 +50,7 @@ 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;
/**
@@ -256,7 +257,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( (int)Math.min( _numReducers, reducerGroups) );
+ job.setNumReduceTasks( IntUtils.toInt(Math.min( _numReducers, reducerGroups) ));
//disable automatic tasks timeouts and speculative task exec
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 93c39b0..71fcabc 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,6 +25,7 @@ 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>
{
@@ -45,7 +46,7 @@ public class ResultMergeRemotePartitioning implements Partitioner<ResultMergeTag
//the assumption that there is no sparsity skew between blocks.
MatrixIndexes ix = key.getIndexes();
- int blockid = (int) (ix.getRowIndex() * _numColBlocks + ix.getColumnIndex());
+ int blockid = IntUtils.toInt(ix.getRowIndex() * _numColBlocks + ix.getColumnIndex());
int partition = blockid % numPartitions;
//int hash = key.getIndexes().hashCode();
@@ -59,7 +60,7 @@ public class ResultMergeRemotePartitioning implements Partitioner<ResultMergeTag
{
long[] tmp = MRJobConfiguration.getResultMergeMatrixCharacteristics( job );
long clen = tmp[1];
- int bclen = (int) tmp[3];
+ int bclen = IntUtils.toInt(tmp[3]);
_numColBlocks = clen/bclen + ((clen%bclen!=0)? 1 : 0);
}
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 8055c2b..85a0957 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,6 +41,7 @@ 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
@@ -120,7 +121,7 @@ public class ResultMergeRemoteSpark extends ResultMerge
RDDObject ret = null;
//determine degree of parallelism
- int numRed = (int)determineNumReducers(rlen, clen, brlen, bclen, _numReducers);
+ int numRed = IntUtils.toInt(determineNumReducers(rlen, clen, brlen, bclen, _numReducers));
//sanity check for empty src files
if( inputs == null || inputs.length==0 )
@@ -197,7 +198,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 (int)Math.min( numRed, reducerGroups );
+ return IntUtils.toInt(Math.min( numRed, reducerGroups ));
}
@SuppressWarnings("unchecked")
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 9f68768..d2ca1cc 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,6 +20,7 @@
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),
@@ -35,6 +36,6 @@ public class TaskPartitionerStatic extends TaskPartitionerFixedsize
super(taskSize, iterVarName, fromVal, toVal, incrVal);
_taskSize = _numIter / numThreads;
- _firstnPlus1 = (int)_numIter % numThreads;
+ _firstnPlus1 = IntUtils.toInt(_numIter % numThreads);
}
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 4f13f1f..468e147 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,6 +28,7 @@ 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 {
@@ -104,7 +105,7 @@ public class CentralMomentCPInstruction extends AggregateUnaryCPInstruction {
CMOperator cm_op = ((CMOperator)_optr);
if ( cm_op.getAggOpType() == AggregateOperationTypes.INVALID )
- cm_op = cm_op.setCMAggOp((int)order.getLongValue());
+ cm_op = cm_op.setCMAggOp(IntUtils.toInt(order.getLongValue()));
CM_COV_Object cmobj = null;
if (input3 == null ) {
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 7b907b3..475f1a9 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,6 +31,7 @@ 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;
@@ -110,7 +111,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((int)outputDim1, (int)outputDim2, false);
+ resultBlock = new MatrixBlock(IntUtils.toInt(outputDim1), IntUtils.toInt(outputDim2), false);
}
if( _isExpand ){
resultBlock = new MatrixBlock( matBlock1.getNumRows(), Integer.MAX_VALUE, true );
@@ -164,7 +165,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, (int)outputDim1, (int)outputDim2 );
+ resultBlock = DataConverter.convertToMatrixBlock( resultMap, IntUtils.toInt(outputDim1), IntUtils.toInt(outputDim2) );
else
resultBlock = DataConverter.convertToMatrixBlock( resultMap );
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 7e0d5c1..49b060d 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,6 +34,7 @@ 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 {
@@ -217,7 +218,7 @@ public class DataGenCPInstruction extends UnaryCPInstruction {
LOG.trace("Process DataGenCPInstruction rand with seed = "+lSeed+".");
RandomMatrixGenerator rgen = LibMatrixDatagen.createRandomMatrixGenerator(
- pdf, (int) lrows, (int) lcols, rowsInBlock, colsInBlock, sparsity, minValue, maxValue, pdfParams);
+ pdf, IntUtils.toInt( lrows ), IntUtils.toInt( lcols ), rowsInBlock, colsInBlock, sparsity, minValue, maxValue, pdfParams);
soresBlock = MatrixBlock.randOperations(rgen, seed, numThreads);
}
else if ( method == DataGenMethod.SEQ )
@@ -246,7 +247,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, (int)lrows, replace, seed);
+ soresBlock = MatrixBlock.sampleOperations(range, IntUtils.toInt(lrows), replace, seed);
}
//guarded sparse block representation change
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 e7caa68..b8b8005 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,6 +35,7 @@ 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 {
@@ -74,10 +75,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(),
- (int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), _pformat);
+ IntUtils.toInt(moIn.getNumRowsPerBlock()), IntUtils.toInt(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(), (int)moIn.getNumRowsPerBlock(), (int)moIn.getNumColumnsPerBlock(), moIn.getNnz());
+ MatrixCharacteristics mc = new MatrixCharacteristics(moIn.getNumRows(), moIn.getNumColumns(), IntUtils.toInt(moIn.getNumRowsPerBlock()), IntUtils.toInt(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/95cbbd65/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 7bed33f..12e39cd 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,6 +33,7 @@ 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 {
@@ -267,8 +268,8 @@ public class DnnCPInstruction extends UnaryCPInstruction {
}
private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) {
- return (int) ec.getScalarInput(aL.get(index).getName(),
- aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue();
+ return IntUtils.toInt( ec.getScalarInput(aL.get(index).getName(),
+ aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue());
}
public void processReluBackwardInstruction(ExecutionContext ec) {
@@ -454,8 +455,8 @@ public class DnnCPInstruction extends UnaryCPInstruction {
int R = getScalarInput(ec, _filter_shape, 2);
int S = getScalarInput(ec, _filter_shape, 3);
- int P = (int) DnnUtils.getP(H, R, stride_h, pad_h);
- int Q = (int) DnnUtils.getQ(W, S, stride_w, pad_w);
+ int P = IntUtils.toInt( DnnUtils.getP(H, R, stride_h, pad_h) );
+ int Q = IntUtils.toInt( 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();
@@ -591,7 +592,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 = (int) Math.floor(_intermediateMemoryBudget / memBudget1Thread);
+ int limitedDegreeOfParallelism = IntUtils.toInt( Math.floor(_intermediateMemoryBudget / memBudget1Thread) );
if(params.numThreads > limitedDegreeOfParallelism) {
params.numThreads = limitedDegreeOfParallelism;
if(!warnedUnderUtilitization)
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 52e05b6..011b34b 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,6 +26,7 @@ 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 {
@@ -71,7 +72,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((int)ixrange.rowStart, (int)ixrange.colStart, scalar.getStringValue());
+ out.set(IntUtils.toInt(ixrange.rowStart), IntUtils.toInt(ixrange.colStart), scalar.getStringValue());
}
//unpin lhs input
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 5150847..31faa38 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,6 +26,7 @@ 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;
@@ -50,10 +51,10 @@ public abstract class IndexingCPInstruction extends UnaryCPInstruction {
protected IndexRange getIndexRange(ExecutionContext ec) {
return new IndexRange( //rl, ru, cl, ru
- (int)(ec.getScalarInput(rowLower).getLongValue()-1),
- (int)(ec.getScalarInput(rowUpper).getLongValue()-1),
- (int)(ec.getScalarInput(colLower).getLongValue()-1),
- (int)(ec.getScalarInput(colUpper).getLongValue()-1));
+ 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));
}
public static IndexingCPInstruction parseInstruction ( String str ) {
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 9e53700..5c4b104 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,6 +25,7 @@ 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 {
@@ -55,7 +56,7 @@ public final class ListIndexingCPInstruction extends IndexingCPInstruction {
}
else {
ec.setVariable(output.getName(),
- list.slice((int)rl.getLongValue()-1, (int)ru.getLongValue()-1));
+ list.slice(IntUtils.toInt(rl.getLongValue()-1), IntUtils.toInt(ru.getLongValue()-1)));
}
}
//left indexing
@@ -68,14 +69,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((int)rl.getLongValue()-1, (int)ru.getLongValue()-1, rin));
+ ec.setVariable(output.getName(), lin.copy().set(IntUtils.toInt(rl.getLongValue()-1), IntUtils.toInt(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((int)rl.getLongValue()-1, scalar));
+ ec.setVariable(output.getName(), lin.copy().set(IntUtils.toInt(rl.getLongValue()-1), scalar));
}
else if( input2.getDataType().isMatrix() ) { //LIST <- MATRIX/FRAME
CacheableData<?> dat = ec.getCacheableData(input2);
@@ -83,7 +84,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((int)rl.getLongValue()-1, dat));
+ ec.setVariable(output.getName(), lin.copy().set(IntUtils.toInt(rl.getLongValue()-1), dat));
}
else {
throw new DMLRuntimeException("Unsupported list "
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 576e57c..c49c0d8 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,6 +27,7 @@ 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;
@@ -52,8 +53,8 @@ public class ListObject extends Data {
super(DataType.LIST, vt);
_data = data;
_names = names;
- _nCacheable = (int) data.stream().filter(
- d -> d instanceof CacheableData).count();
+ _nCacheable = IntUtils.toInt( data.stream().filter(
+ d -> d instanceof CacheableData).count() );
}
public ListObject(ListObject that) {
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 34a7476..48d6221 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,6 +30,7 @@ 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 {
@@ -64,8 +65,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((int)ixrange.rowStart, (int)ixrange.rowEnd,
- (int)ixrange.colStart, (int)ixrange.colEnd, false, new MatrixBlock());
+ resultBlock = matBlock.slice(IntUtils.toInt(ixrange.rowStart), IntUtils.toInt(ixrange.rowEnd),
+ IntUtils.toInt(ixrange.colStart), IntUtils.toInt(ixrange.colEnd), false, new MatrixBlock());
//unpin rhs input
ec.releaseMatrixInput(input1.getName(), getExtendedOpcode());
@@ -101,7 +102,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,
- (int)ixrange.rowStart, (int)ixrange.colStart, new MatrixBlock(), updateType);
+ IntUtils.toInt(ixrange.rowStart), IntUtils.toInt(ixrange.colStart), new MatrixBlock(), updateType);
}
//unpin lhs input
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 1f7b053..4553ca0 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,6 +26,7 @@ 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 {
@@ -60,8 +61,8 @@ public class MatrixReshapeCPInstruction extends UnaryCPInstruction {
public void processInstruction(ExecutionContext ec) {
//get inputs
MatrixBlock in = ec.getMatrixInput(input1.getName(), getExtendedOpcode());
- int rows = (int)ec.getScalarInput(_opRows).getLongValue(); //save cast
- int cols = (int)ec.getScalarInput(_opCols).getLongValue(); //save cast
+ int rows = IntUtils.toInt(ec.getScalarInput(_opRows).getLongValue()); //save cast
+ int cols = IntUtils.toInt(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/95cbbd65/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 93742dd..46f8d42 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,6 +24,7 @@ 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 {
@@ -55,7 +56,7 @@ public class PMMJCPInstruction extends ComputationCPInstruction {
//get inputs
MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode());
MatrixBlock matBlock2 = ec.getMatrixInput(input2.getName(), getExtendedOpcode());
- int rlen = (int)ec.getScalarInput(input3.getName(), input3.getValueType(), input3.isLiteral()).getLongValue();
+ int rlen = IntUtils.toInt(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/95cbbd65/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 8b76ad7..841f742 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,6 +50,7 @@ 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;
@@ -175,7 +176,7 @@ public class ParameterizedBuiltinCPInstruction extends ComputationCPInstruction
int ngroups = -1;
if ( params.get(Statement.GAGG_NUM_GROUPS) != null) {
- ngroups = (int) Double.parseDouble(params.get(Statement.GAGG_NUM_GROUPS));
+ ngroups = IntUtils.toInt( Double.parseDouble(params.get(Statement.GAGG_NUM_GROUPS)));
}
// compute the result
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 bc3ca24..a534882 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,6 +76,7 @@ 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 {
@@ -286,7 +287,7 @@ public class ParamservBuiltinCPInstruction extends ParameterizedBuiltinCPInstruc
}
private int getParLevel(int workerNum) {
- return Math.max((int)Math.ceil((double)getRemainingCores()/workerNum), 1);
+ return Math.max(IntUtils.toInt(Math.ceil((double)getRemainingCores()/workerNum)), 1);
}
private PSUpdateType getUpdateType() {
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 5eeda8a..102dcb8 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,6 +32,7 @@ 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)
@@ -130,7 +131,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[]{(int)ec.getScalarInput(_col).getLongValue()};
+ new int[]{IntUtils.toInt(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/95cbbd65/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 2e82ab2..7fcd555 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,6 +28,7 @@ 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 = " ";
@@ -72,7 +73,7 @@ public class StringInitCPInstruction extends UnaryCPInstruction {
public void processInstruction( ExecutionContext ec ) {
//setup output matrix
String outName = output.getName();
- MatrixBlock outBlk = new MatrixBlock((int)_rlen, (int)_clen, false);
+ MatrixBlock outBlk = new MatrixBlock(IntUtils.toInt(_rlen), IntUtils.toInt(_clen), false);
//init tokenizer
StringTokenizer st = new StringTokenizer(_data, DELIM);
@@ -86,8 +87,8 @@ public class StringInitCPInstruction extends UnaryCPInstruction {
for( int i=0; i<len; i++ ){
String sval = st.nextToken();
Double dval = Double.parseDouble(sval);
- int rix = (int) (i / _clen);
- int cix = (int) (i % _clen);
+ int rix = IntUtils.toInt(i / _clen);
+ int cix = IntUtils.toInt(i % _clen);
outBlk.quickSetValue(rix, cix, dval);
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 1d8f7fe..1d2ac10 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,6 +34,7 @@ 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;
@@ -78,8 +79,8 @@ public class AggregateBinaryGPUInstruction extends GPUInstruction {
MatrixObject m1 = getMatrixInputForGPUInstruction(ec, _input1.getName());
MatrixObject m2 = getMatrixInputForGPUInstruction(ec, _input2.getName());
//compute matrix multiplication
- int rlen = (int) (_isLeftTransposed ? m1.getNumColumns() : m1.getNumRows());
- int clen = (int) (_isRightTransposed ? m2.getNumRows() : m2.getNumColumns());
+ int rlen = IntUtils.toInt(_isLeftTransposed ? m1.getNumColumns() : m1.getNumRows());
+ int clen = IntUtils.toInt(_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/95cbbd65/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 1d5802b..2ee6fed 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,6 +31,7 @@ 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
@@ -77,8 +78,8 @@ public class AggregateUnaryGPUInstruction extends GPUInstruction {
//get inputs
MatrixObject in1 = getMatrixInputForGPUInstruction(ec, _input1.getName());
- int rlen = (int)in1.getNumRows();
- int clen = (int)in1.getNumColumns();
+ int rlen = IntUtils.toInt(in1.getNumRows());
+ int clen = IntUtils.toInt(in1.getNumColumns());
IndexFunction indexFunction = ((AggregateUnaryOperator) _optr).indexFn;
if (indexFunction instanceof ReduceRow){ // COL{SUM, MAX...}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 35c9591..226cc52 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,6 +36,7 @@ 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 {
@@ -443,8 +444,8 @@ public class DnnGPUInstruction extends GPUInstruction {
try(GPUDenseInputPointerFetcher fetcher = new GPUDenseInputPointerFetcher(ec, gCtx, instName, _output)) {
fetcher.add("X", _input1).addScalar("eps", _input2);
- int rows = LibMatrixCUDA.toInt(fetcher.getInputNumRows("X"));
- int cols = LibMatrixCUDA.toInt(fetcher.getInputNumColumns("X"));
+ int rows = IntUtils.toInt(fetcher.getInputNumRows("X"));
+ int cols = IntUtils.toInt(fetcher.getInputNumColumns("X"));
// invVar(X, C, eps, size);
LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("invVar",
@@ -516,8 +517,8 @@ public class DnnGPUInstruction extends GPUInstruction {
fetcher.add("ema_mean", _input1).add("mean", _input2).addScalar("mu", _input3);
double mu = fetcher.getDouble("mu");
- int rows = LibMatrixCUDA.toInt(fetcher.getInputNumRows("ema_mean"));
- int cols = LibMatrixCUDA.toInt(fetcher.getInputNumColumns("ema_mean"));
+ int rows = IntUtils.toInt(fetcher.getInputNumRows("ema_mean"));
+ int cols = IntUtils.toInt(fetcher.getInputNumColumns("ema_mean"));
fetcher.validateDimensions("mean", rows, cols);
@@ -536,8 +537,8 @@ public class DnnGPUInstruction extends GPUInstruction {
int C = fetcher.getInteger("C");
int HW = fetcher.getInteger("HW");
fetcher.validateDimensions("X", -1, C*HW);
- int rows = LibMatrixCUDA.toInt(fetcher.getInputNumRows("X"));
- int cols = LibMatrixCUDA.toInt(fetcher.getInputNumColumns("X"));
+ int rows = IntUtils.toInt(fetcher.getInputNumRows("X"));
+ int cols = IntUtils.toInt(fetcher.getInputNumColumns("X"));
// output = matrix(colMeans(X), rows=C, cols=Hin*Win)
LibMatrixCUDA.colMeans(gCtx, instName,
fetcher.getInputPointer("X"),
@@ -565,7 +566,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,
- LibMatrixCUDA.toInt(fetcher.getInputNumRows("X")), C*HW);
+ IntUtils.toInt(fetcher.getInputNumRows("X")), C*HW);
// tmp1 <- rowMeans(subgrp_vars)
Pointer tmp1 = gCtx.allocate(instName, C*LibMatrixCUDA.sizeOfDataType);
@@ -592,11 +593,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 = LibMatrixCUDA.toInt(input.getNumRows());
- int cols = LibMatrixCUDA.toInt(input.getNumColumns());
+ int rows = IntUtils.toInt(input.getNumRows());
+ int cols = IntUtils.toInt(input.getNumColumns());
LibMatrixCUDA.getCudaKernels(gCtx).launchKernel("update_nesterov_x",
- ExecutionConfig.getConfigForSimpleVectorOperations(LibMatrixCUDA.toInt(rows*cols)),
+ ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(rows*cols)),
fetcher.getInputPointer("input"),
fetcher.getInputPointer("v"),
fetcher.getInputPointer("v_prev"),
@@ -627,14 +628,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(LibMatrixCUDA.toInt(N*CHW)),
+ ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(N*CHW)),
fetcher.getInputPointer("ema_mean"),
fetcher.getInputPointer("dout"),
fetcher.getInputPointer("X"),
fetcher.getInputPointer("ema_var"),
tmp,
// N, C, HW, CHW, NCHW
- toInt(N), toInt(C), toInt(HW), toInt(CHW), N*CHW);
+ IntUtils.toInt(N), IntUtils.toInt(C), IntUtils.toInt(HW), IntUtils.toInt(CHW), N*CHW);
LibMatrixCUDA.channelSums(gCtx, instName,
tmp, fetcher.getOutputPointer(C, 1), N, C, HW);
@@ -642,13 +643,6 @@ 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
@@ -672,9 +666,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 = toInt(X.getNumRows()); // batchSize .. since X:(N, T*D)
+ int N = IntUtils.toInt(X.getNumRows()); // batchSize .. since X:(N, T*D)
long numColsX = X.getNumColumns();
- int T = toInt(numColsX/ D); // since X:(N, T*D) ... seqLength
+ int T = IntUtils.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);
@@ -703,14 +697,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(toInt((D+M+2)*(4*M))),
+ ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.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(toInt(N*T*D)),
+ ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.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);
@@ -815,20 +809,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(toInt((D+M+2)*(4*M))),
- sysmlWPointer, sysmlBiasPointer, cudnnWPointer, toInt(D), toInt(M));
+ ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt((D+M+2)*(4*M))),
+ sysmlWPointer, sysmlBiasPointer, cudnnWPointer, IntUtils.toInt(D), IntUtils.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(toInt(N*T*D)),
- xPointer, cudnnInput, toInt(N), toInt(D), toInt(T*D), toInt(N*T*D));
+ ExecutionConfig.getConfigForSimpleVectorOperations(IntUtils.toInt(N*T*D)),
+ xPointer, cudnnInput, IntUtils.toInt(N), IntUtils.toInt(D), IntUtils.toInt(T*D), IntUtils.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(),
- toInt(N), toInt(M), toInt(D), toInt(T));
+ IntUtils.toInt(N), IntUtils.toInt(M), IntUtils.toInt(D), IntUtils.toInt(T));
gCtx.cudaFreeHelper(instName, cudnnWPointer, gCtx.EAGER_CUDA_FREE);
gCtx.cudaFreeHelper(instName, cudnnInput, gCtx.EAGER_CUDA_FREE);
}
@@ -1016,8 +1010,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(toInt(N), toInt(CHW)),
- tmpX, x, N, toInt(CHW));
+ ExecutionConfig.getConfigForSimpleMatrixOperations(IntUtils.toInt(N), IntUtils.toInt(CHW)),
+ tmpX, x, N, IntUtils.toInt(CHW));
ec.releaseMatrixInputForGPUInstruction(_input1.getName());
}
@@ -1046,8 +1040,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(toInt(N), toInt(CHW)),
- tmpX, x, N, toInt(CHW));
+ ExecutionConfig.getConfigForSimpleMatrixOperations(IntUtils.toInt(N), IntUtils.toInt(CHW)),
+ tmpX, x, N, IntUtils.toInt(CHW));
ec.releaseMatrixInputForGPUInstruction(_input1.getName());
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 310e358..642b36a 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,6 +28,7 @@ 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;
@@ -79,7 +80,7 @@ public class MMTSJGPUInstruction extends GPUInstruction {
GPUStatistics.incrementNoOfExecutedGPUInst();
MatrixObject mat = getMatrixInputForGPUInstruction(ec, _input.getName());
boolean isLeftTransposed = ( _type == MMTSJType.LEFT);
- int rlen = (int) (isLeftTransposed? mat.getNumColumns() : mat.getNumRows());
+ int rlen = IntUtils.toInt(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/95cbbd65/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 6e1ac2c..719f38e 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,6 +31,7 @@ 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;
@@ -135,9 +136,9 @@ public class MatrixIndexingGPUInstruction extends GPUInstruction {
IndexRange getIndexRange(ExecutionContext ec) {
return new IndexRange( //rl, ru, cl, ru
- (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));
+ 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));
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 9f4f2c5..2ce39f9 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,6 +26,7 @@ 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 {
@@ -60,7 +61,7 @@ public class MatrixMatrixArithmeticGPUInstruction extends ArithmeticBinaryGPUIns
clen = clen1 > clen2 ? clen1 : clen2;
}
- ec.setMetaData(_output.getName(), (int)rlen, (int)clen);
+ ec.setMetaData(_output.getName(), IntUtils.toInt(rlen), IntUtils.toInt(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/95cbbd65/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 a4eea05..2da1778 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,6 +29,7 @@ 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;
@@ -89,7 +90,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(), (int)rlen1, (int)clen1);
+ ec.setMetaData(_output.getName(), IntUtils.toInt(rlen1), IntUtils.toInt(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/95cbbd65/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 df64f78..28471c4 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,6 +26,7 @@ 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 {
@@ -56,7 +57,7 @@ public class MatrixMatrixRelationalBinaryGPUInstruction extends RelationalBinary
clen = clen1 > clen2 ? clen1 : clen2;
}
- ec.setMetaData(_output.getName(), (int)rlen, (int)clen);
+ ec.setMetaData(_output.getName(), IntUtils.toInt(rlen), IntUtils.toInt(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/95cbbd65/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 ee2166e..dd0a244 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,6 +32,7 @@ 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;
@@ -70,8 +71,8 @@ public class MatrixReshapeGPUInstruction extends GPUInstruction {
@Override
public void processInstruction(ExecutionContext ec) {
- 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
+ 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
BooleanObject byRow = (BooleanObject) ec.getScalarInput(_opByRow.getName(), ValueType.BOOLEAN, _opByRow.isLiteral());
GPUStatistics.incrementNoOfExecutedGPUInst();
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 f191d2a..8075913 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,6 +29,7 @@ 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;
@@ -71,8 +72,8 @@ public class ReorgGPUInstruction extends GPUInstruction {
public void processInstruction(ExecutionContext ec) {
GPUStatistics.incrementNoOfExecutedGPUInst();
MatrixObject mat = getMatrixInputForGPUInstruction(ec, _input.getName());
- int rlen = (int) mat.getNumColumns();
- int clen = (int) mat.getNumRows();
+ int rlen = IntUtils.toInt(mat.getNumColumns());
+ int clen = IntUtils.toInt(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/95cbbd65/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 2593837..d0758ff 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,6 +28,7 @@ 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 {
@@ -46,8 +47,8 @@ public class ScalarMatrixArithmeticGPUInstruction extends ArithmeticBinaryGPUIns
ScalarObject constant = (ScalarObject) ec.getScalarInput(scalar.getName(), scalar.getValueType(), scalar.isLiteral());
boolean isTransposed = false;
- int rlen = isTransposed ? (int) in1.getNumColumns() : (int) in1.getNumRows();
- int clen = isTransposed ? (int) in1.getNumRows() : (int) in1.getNumColumns();
+ int rlen = IntUtils.toInt(isTransposed ? in1.getNumColumns() : in1.getNumRows());
+ int clen = IntUtils.toInt(isTransposed ? in1.getNumRows() : in1.getNumColumns());
ec.setMetaData(_output.getName(), rlen, clen);
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 bf5b017..931c651 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,6 +28,7 @@ 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 {
@@ -45,8 +46,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 = (int) in1.getNumRows();
- int clen = (int) in1.getNumColumns();
+ int rlen = IntUtils.toInt(in1.getNumRows());
+ int clen = IntUtils.toInt(in1.getNumColumns());
ec.setMetaData(_output.getName(), rlen, clen);
ScalarOperator sc_op = (ScalarOperator) _optr;
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/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 3c4a10c..894c977 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,6 +39,7 @@ 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;
@@ -191,7 +192,7 @@ public class AggregateBinaryInstruction extends BinaryMRInstructionBase implemen
// Matrix multiply A[i,k] %*% B[k,bid]
// Setup input2 block
- IndexedMatrixValue in2Block = dcInput.getDataBlock((int)in1.getIndexes().getColumnIndex(), bidx);
+ IndexedMatrixValue in2Block = dcInput.getDataBlock(IntUtils.toInt(in1.getIndexes().getColumnIndex()), bidx);
MatrixValue in2BlockValue = in2Block.getValue();
MatrixIndexes in2BlockIndex = in2Block.getIndexes();
@@ -218,7 +219,7 @@ public class AggregateBinaryInstruction extends BinaryMRInstructionBase implemen
// Matrix multiply A[i,k] %*% B[k,bid]
// Setup input2 block
- IndexedMatrixValue in1Block = dcInput.getDataBlock(bidx, (int)in2.getIndexes().getRowIndex());
+ IndexedMatrixValue in1Block = dcInput.getDataBlock(bidx, IntUtils.toInt(in2.getIndexes().getRowIndex()));
MatrixValue in1BlockValue = in1Block.getValue();
MatrixIndexes in1BlockIndex = in1Block.getIndexes();
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
index 3ecb91f..4b9c2e0 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/AppendGSPInstruction.java
@@ -41,6 +41,7 @@ import org.apache.sysml.runtime.matrix.data.MatrixIndexes;
import org.apache.sysml.runtime.matrix.operators.Operator;
import org.apache.sysml.runtime.matrix.operators.ReorgOperator;
import org.apache.sysml.runtime.util.UtilFunctions;
+import org.apache.sysml.utils.IntUtils;
public class AppendGSPInstruction extends BinarySPInstruction {
private boolean _cbind = true;
@@ -164,8 +165,8 @@ public class AppendGSPInstruction extends BinarySPInstruction {
_cbind = cbind;
_startIx = cbind ? UtilFunctions.computeBlockIndex(mc1.getCols(), mc1.getColsPerBlock()) :
UtilFunctions.computeBlockIndex(mc1.getRows(), mc1.getRowsPerBlock());
- _blen = (int) (cbind ? mc1.getColsPerBlock() : mc1.getRowsPerBlock());
- _shiftBy = (int) (cbind ? mc1.getCols()%_blen : mc1.getRows()%_blen);
+ _blen = IntUtils.toInt(cbind ? mc1.getColsPerBlock() : mc1.getRowsPerBlock());
+ _shiftBy = IntUtils.toInt(cbind ? mc1.getCols()%_blen : mc1.getRows()%_blen);
_outlen = cbind ? mc1.getCols()+mc2.getCols() : mc1.getRows()+mc2.getRows();
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/95cbbd65/src/main/java/org/apache/sysml/runtime/instructions/spark/CastSPInstruction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/instructions/spark/CastSPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/spark/CastSPInstruction.java
index 3ff878a..6917a7c 100644
--- a/src/main/java/org/apache/sysml/runtime/instructions/spark/CastSPInstruction.java
+++ b/src/main/java/org/apache/sysml/runtime/instructions/spark/CastSPInstruction.java
@@ -36,6 +36,7 @@ import org.apache.sysml.runtime.matrix.data.MatrixBlock;
import org.apache.sysml.runtime.matrix.data.MatrixIndexes;
import org.apache.sysml.runtime.matrix.operators.Operator;
import org.apache.sysml.runtime.util.UtilFunctions;
+import org.apache.sysml.utils.IntUtils;
public class CastSPInstruction extends UnarySPInstruction {
@@ -86,7 +87,7 @@ public class CastSPInstruction extends UnarySPInstruction {
//update schema information for output frame
if( opcode.equals(UnaryCP.CAST_AS_FRAME_OPCODE) ) {
sec.getFrameObject(output.getName()).setSchema(
- UtilFunctions.nCopies((int)mcIn.getCols(), ValueType.DOUBLE));
+ UtilFunctions.nCopies(IntUtils.toInt(mcIn.getCols()), ValueType.DOUBLE));
}
}
}