Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DA55F200D2F for ; Wed, 18 Oct 2017 04:59:04 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id D8CCC1609EC; Wed, 18 Oct 2017 02:59:04 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 2A19F1609EB for ; Wed, 18 Oct 2017 04:59:04 +0200 (CEST) Received: (qmail 75213 invoked by uid 500); 18 Oct 2017 02:59:03 -0000 Mailing-List: contact issues-help@systemml.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@systemml.apache.org Delivered-To: mailing list issues@systemml.apache.org Received: (qmail 75204 invoked by uid 99); 18 Oct 2017 02:59:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Oct 2017 02:59:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 709B21A2B6E for ; Wed, 18 Oct 2017 02:59:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id OMnJjBPRoS1W for ; Wed, 18 Oct 2017 02:59:01 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 24D435FAC9 for ; Wed, 18 Oct 2017 02:59:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 618B8E09A6 for ; Wed, 18 Oct 2017 02:59:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 157A924360 for ; Wed, 18 Oct 2017 02:59:00 +0000 (UTC) Date: Wed, 18 Oct 2017 02:59:00 +0000 (UTC) From: "Matthias Boehm (JIRA)" To: issues@systemml.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (SYSTEMML-1965) Refactor nn layers to move the computation in forward/backward function known at compile time to init function MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 18 Oct 2017 02:59:05 -0000 [ https://issues.apache.org/jira/browse/SYSTEMML-1965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16208746#comment-16208746 ] Matthias Boehm commented on SYSTEMML-1965: ------------------------------------------ I agree with [~dusenberrymw] here, let's take this as a use case and see why the multiple rounds of IPA (incl constant propagation and folding) are not sufficient here. Furthermore, code motion (moving loop-invariant operators) automatically outside loops, is on our TODO list for a while now - from a mechanic perspective, it's trivial but on a first attempt, we encountered scenarios where it was counter-productive due to moving (and materializing) intermediates that otherwise would not have been computed at all. > Refactor nn layers to move the computation in forward/backward function known at compile time to init function > -------------------------------------------------------------------------------------------------------------- > > Key: SYSTEMML-1965 > URL: https://issues.apache.org/jira/browse/SYSTEMML-1965 > Project: SystemML > Issue Type: Bug > Reporter: Niketan Pansare > > Ideally, we should move the computation known at compile time to init layer, rather than keep in the forward function. This reduces recompilation time and also potentially unnecessary instructions. Here is an example snippet from our conv2d layer: > {code} > Hout = as.integer(floor((Hin + 2*padh - Hf)/strideh + 1)) > Wout = as.integer(floor((Win + 2*padw - Wf)/stridew + 1)) > {code} > [~prithvi_r_s] [~dusenberrymw] [~reinwald] do you have any comments or concerns ? > [~dusenberrymw] do you have free cycles to take this over ? -- This message was sent by Atlassian JIRA (v6.4.14#64029)