[jira] [Created] (SYSTEMML-824) Improve the performance of binary cell-wise operations
Niketan Pansare created SYSTEMML-824: Summary: Improve the performance of binary cell-wise operations Key: SYSTEMML-824 URL: https://issues.apache.org/jira/browse/SYSTEMML-824 Project: SystemML Issue Type: Task Reporter: Niketan Pansare The cellwise (matrix-matrix as well as matrix-scalar) operations take significant amount of time while training Lenet. Here are few ways to improve the performance of cell-wise operations: 1. Inject in-place updates [1] (saving on zero-ing out the matrix). 2. Fused cell-wise operations (as an example, recently added axpy operations). 3. Parallelize cellwise operations (initial investigation need to be conducted before proceeding in this direction especially in sparse case: https://github.com/apache/incubator-systemml/blob/master/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java#L274). [~nakul02] [~mwdus...@us.ibm.com] [~prithvi_r_s] [~mboehm7] [~reinwald] Reference: [1] http://www.diku.dk/hjemmesider/ansatte/torbenm/ICD/Register.pdf -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (SYSTEMML-824) Improve the performance of binary cell-wise operations
[ https://issues.apache.org/jira/browse/SYSTEMML-824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Niketan Pansare updated SYSTEMML-824: - Description: The cellwise (matrix-matrix as well as matrix-scalar) operations take significant amount of time while training Lenet. Here are few ways to improve the performance of cell-wise operations: 1. Inject in-place updates [1] (saving on zero-ing out the matrix). 2. Fused cell-wise operations (as an example, recently added axpy operations: https://github.com/apache/incubator-systemml/commit/b584aecf6b3a1eb96ff83b78cc3ad7c7c6d15baa). 3. Parallelize cellwise operations (initial investigation need to be conducted before proceeding in this direction especially in sparse case: https://github.com/apache/incubator-systemml/blob/master/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java#L274). [~nakul02] [~mwdus...@us.ibm.com] [~prithvi_r_s] [~mboehm7] [~reinwald] Reference: [1] http://www.diku.dk/hjemmesider/ansatte/torbenm/ICD/Register.pdf was: The cellwise (matrix-matrix as well as matrix-scalar) operations take significant amount of time while training Lenet. Here are few ways to improve the performance of cell-wise operations: 1. Inject in-place updates [1] (saving on zero-ing out the matrix). 2. Fused cell-wise operations (as an example, recently added axpy operations). 3. Parallelize cellwise operations (initial investigation need to be conducted before proceeding in this direction especially in sparse case: https://github.com/apache/incubator-systemml/blob/master/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java#L274). [~nakul02] [~mwdus...@us.ibm.com] [~prithvi_r_s] [~mboehm7] [~reinwald] Reference: [1] http://www.diku.dk/hjemmesider/ansatte/torbenm/ICD/Register.pdf > Improve the performance of binary cell-wise operations > -- > > Key: SYSTEMML-824 > URL: https://issues.apache.org/jira/browse/SYSTEMML-824 > Project: SystemML > Issue Type: Task >Reporter: Niketan Pansare > > The cellwise (matrix-matrix as well as matrix-scalar) operations take > significant amount of time while training Lenet. Here are few ways to improve > the performance of cell-wise operations: > 1. Inject in-place updates [1] (saving on zero-ing out the matrix). > 2. Fused cell-wise operations (as an example, recently added axpy operations: > https://github.com/apache/incubator-systemml/commit/b584aecf6b3a1eb96ff83b78cc3ad7c7c6d15baa). > > 3. Parallelize cellwise operations (initial investigation need to be > conducted before proceeding in this direction especially in sparse case: > https://github.com/apache/incubator-systemml/blob/master/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java#L274). > [~nakul02] [~mwdus...@us.ibm.com] [~prithvi_r_s] [~mboehm7] [~reinwald] > Reference: > [1] http://www.diku.dk/hjemmesider/ansatte/torbenm/ICD/Register.pdf -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (SYSTEMML-824) Improve the performance of binary cell-wise operations
[ https://issues.apache.org/jira/browse/SYSTEMML-824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15386580#comment-15386580 ] Matthias Boehm commented on SYSTEMML-824: - just as a reminder: (1) and (3) have limited potential due to unchanged memory bandwidth requirements and output allocation. So a first step would be to re-evaluate the potential via experiments. > Improve the performance of binary cell-wise operations > -- > > Key: SYSTEMML-824 > URL: https://issues.apache.org/jira/browse/SYSTEMML-824 > Project: SystemML > Issue Type: Task >Reporter: Niketan Pansare > > The cellwise (matrix-matrix as well as matrix-scalar) operations take > significant amount of time while training Lenet. Here are few ways to improve > the performance of cell-wise operations: > 1. Inject in-place updates [1] (saving on zero-ing out the matrix). > 2. Fused cell-wise operations (as an example, recently added axpy operations: > https://github.com/apache/incubator-systemml/commit/b584aecf6b3a1eb96ff83b78cc3ad7c7c6d15baa). > > 3. Parallelize cellwise operations (initial investigation need to be > conducted before proceeding in this direction especially in sparse case: > https://github.com/apache/incubator-systemml/blob/master/src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixBincell.java#L274). > [~nakul02] [~mwdus...@us.ibm.com] [~prithvi_r_s] [~mboehm7] [~reinwald] > Reference: > [1] http://www.diku.dk/hjemmesider/ansatte/torbenm/ICD/Register.pdf -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (SYSTEMML-774) No check from LibMatrixDataGen for thread safe SparseBlock
[ https://issues.apache.org/jira/browse/SYSTEMML-774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nakul Jindal resolved SYSTEMML-774. --- Resolution: Fixed Assignee: Nakul Jindal Fix Version/s: SystemML 0.11 Fixed by [PR 186|https://github.com/apache/incubator-systemml/pull/186] > No check from LibMatrixDataGen for thread safe SparseBlock > -- > > Key: SYSTEMML-774 > URL: https://issues.apache.org/jira/browse/SYSTEMML-774 > Project: SystemML > Issue Type: Bug > Components: Runtime >Reporter: Nakul Jindal >Assignee: Nakul Jindal > Fix For: SystemML 0.11 > > > The SparseBlock implementations {{SparseBlockCSR}} and {{SparseBlockCOO}} are > not thread safe. > When {{MatrixBlock.DEFAULT_SPARSEBLOCK}} is set to {{SparseBlock.Type.CSR}}, > and a {{rand()}} method from DML is used to create a sparse matrix, like so: > {{X = rand(rows=200, cols=1, min=0, max=4, pdf="uniform", sparsity=0.3)}} > It crashes because {{LibMatrixDatagen.generateRandomMatrix(MatrixBlock, > RandomMatrixGenerator, long[], Well1024a, long, int )}} does not check if the > underlying SparseBlock implementation {{isThreadSafe}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (SYSTEMML-825) Fragile code in LibMatrixMult.matrixMultPermute
Nakul Jindal created SYSTEMML-825: - Summary: Fragile code in LibMatrixMult.matrixMultPermute Key: SYSTEMML-825 URL: https://issues.apache.org/jira/browse/SYSTEMML-825 Project: SystemML Issue Type: Bug Components: Runtime Affects Versions: SystemML 0.10 Reporter: Nakul Jindal The code in LibMatrixMult.matrixMultPermute (parallel version) is fragile. The output MatrixBlock type is set to being dense, yet in some code path it is assumed to be set to be sparse. [Comment on PR 186|https://github.com/apache/incubator-systemml/pull/186#issuecomment-231011669] descibe the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (SYSTEMML-825) Fragile code in LibMatrixMult.matrixMultPermute
[ https://issues.apache.org/jira/browse/SYSTEMML-825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nakul Jindal updated SYSTEMML-825: -- Description: The code in LibMatrixMult.matrixMultPermute (parallel version) is fragile. The output MatrixBlock type is set to being dense, yet in some code path it is assumed to be set to be sparse. [Comment on PR 186|https://github.com/apache/incubator-systemml/pull/186#issuecomment-231011669] descibes the issue. was: The code in LibMatrixMult.matrixMultPermute (parallel version) is fragile. The output MatrixBlock type is set to being dense, yet in some code path it is assumed to be set to be sparse. [Comment on PR 186|https://github.com/apache/incubator-systemml/pull/186#issuecomment-231011669] descibe the issue. > Fragile code in LibMatrixMult.matrixMultPermute > --- > > Key: SYSTEMML-825 > URL: https://issues.apache.org/jira/browse/SYSTEMML-825 > Project: SystemML > Issue Type: Bug > Components: Runtime >Affects Versions: SystemML 0.10 >Reporter: Nakul Jindal > > The code in LibMatrixMult.matrixMultPermute (parallel version) is fragile. > The output MatrixBlock type is set to being dense, yet in some code path it > is assumed to be set to be sparse. > [Comment on PR > 186|https://github.com/apache/incubator-systemml/pull/186#issuecomment-231011669] > descibes the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)