Matthias Boehm created SYSTEMML-1761: ----------------------------------------
Summary: Sparsity-exploiting weighted squared loss w/o weights Key: SYSTEMML-1761 URL: https://issues.apache.org/jira/browse/SYSTEMML-1761 Project: SystemML Issue Type: Task Reporter: Matthias Boehm There are existing rewrites and fused operators for weighted squared loss (wsloss). However, for the wsloss type {{NONE}}, i.e., without weights {{sum((X-(U%*%t(V)))^2)}}, the implementation is not sparsity-exploiting leading huge (unnecessary) computation overhead. As it turns out this expression can be rewritten into a sparsity-exploiting form as follows: {code} sum ((X - U %*% t(V)) ^ 2) -> sum(X^2) - sum(2 * (X * (U%*%t(V)))) + sum((U%*%t(V))^2) -> sum(X^2) - sum(2 * (X * (U%*%t(V)))) + sum ((t(U) %*% U) * (t(V) %*% V)) {code} This task aims to change the block-level wsloss NONE implementation to exploit this logical rewrite by computing {{sum(X^2) - sum(2 * (X * (U%*%t(V))))}} in a sparsity-exploiting pass over non-zeros in X and a subsequent correct for {{+ sum ((t(U) %*% U) * (t(V) %*% V))}} via two tsmm operations. -- This message was sent by Atlassian JIRA (v6.4.14#64029)