[ https://issues.apache.org/jira/browse/SYSTEMML-1216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142895#comment-16142895 ]
Nakul Jindal commented on SYSTEMML-1216: ---------------------------------------- Absolutely! Good work with the local svd implementation. Please also consider opening a PR for documenting the {{svd}} function at http://apache.github.io/systemml/dml-language-reference#linear-algebra-built-in-functions To do so, please update https://github.com/apache/systemml/blob/master/docs/dml-language-reference.md Here are some resource to get you started: SVD documentation from cusolver: http://docs.nvidia.com/cuda/cusolver/index.html#svd_examples Example of adding the solve function for GPU: https://github.com/apache/systemml/pull/476 (Some stuff has been updated since that PR in the GPU infrastructure). The basic steps to adding a GPU implementation are as follows: 1. Enable GPU implementation from the HOPS level Pick the appropriate class for your function ({{svd}}) and enable it from the {{isGPUEnabled}} function. https://github.com/apache/systemml/blob/master/src/main/java/org/apache/sysml/hops/UnaryOp.java#L109 2. Adjust the appropriate cost if applicable in CostEstimator. https://github.com/apache/systemml/blob/master/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java#L997 3. Change GPUInstructionParser to have svd {{src/main/java/org/apache/sysml/runtime/instructions/GPUInstructionParser.java}} 4. Make a new class class or use one of the existing classes in the {{src/main/java/org/apache/sysml/runtime/instructions/gpu}} package which most appropriately fits {{svd}} 5. Add a GPU implementation for {{svd}} in {{src/main/java/org/apache/sysml/runtime/matrix/data/LibMatrixCUDA.java}} 6. Add tests in the {{src/test/java/org/apache/sysml/test/gpu}} package. Either by adding a new class or adding the test to an existing class. 7. Thoroughly document any and all functions you add. > implement local svd function > ---------------------------- > > Key: SYSTEMML-1216 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1216 > Project: SystemML > Issue Type: New Feature > Reporter: Imran Younus > Assignee: Janardhan > Attachments: svd.txt > > > SystemML currently provides several local matrix decompositions (qr(), lu(), > cholesky()). But local version of svd is missing. This is also needed to > scalable SVD implementation. > Also, implement local {{svd()}} function with {{cusolver}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)