From dev-return-2346-archive-asf-public=cust-asf.ponee.io@systemml.apache.org Fri Mar 2 02:17:02 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id AD9A518064D for ; Fri, 2 Mar 2018 02:17:01 +0100 (CET) Received: (qmail 89126 invoked by uid 500); 2 Mar 2018 01:17:00 -0000 Mailing-List: contact dev-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 dev@systemml.apache.org Received: (qmail 89110 invoked by uid 99); 2 Mar 2018 01:16:59 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Mar 2018 01:16:59 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 59623C0130 for ; Fri, 2 Mar 2018 01:16:59 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.139 X-Spam-Level: ** X-Spam-Status: No, score=2.139 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 3ebdNSfzqon9 for ; Fri, 2 Mar 2018 01:16:56 +0000 (UTC) Received: from mail-vk0-f65.google.com (mail-vk0-f65.google.com [209.85.213.65]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id DCDEC5F126 for ; Fri, 2 Mar 2018 01:16:55 +0000 (UTC) Received: by mail-vk0-f65.google.com with SMTP id q7so4892029vkh.3 for ; Thu, 01 Mar 2018 17:16:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=M24cOsNxUr3MNUNSJOx2uTKDdN/5aezj/ClnYP0KDNM=; b=X0rP0UVoBdLDO4rw0Oa2ifEw/PyX8D3KtiqSTv1hUjZeAP2u3YQQHgDHJNHEW3644R NPdC+z+awrzV/sGMtRVTTaJKKJp6R5/tqXkYHK9Wuwv0O6WUr97YrOSdbOIvNVPkmTHb F0QUUItQRWE0AnTumQAG9B/DzfqaXODjyM48SGyBAjm/KH4Bc7/41y4ycPSI/+Ud+fXj w5Fosru2PjJjyBNOVpCp+dseLA22Fc3zb/207Bm/en7WZpz+NCQYYT4BLJkX6lBwzFGj NOtoZUjpsak8G9bs8jIGxkNhi5wNcz76sVpUBNgD2Rk3AuIOJPb4va7TrJyXCzt2WucQ AgNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=M24cOsNxUr3MNUNSJOx2uTKDdN/5aezj/ClnYP0KDNM=; b=npF5ZDiaCcRsm9e3/RcSxd75+HHyS3mv8Dsj+C2cJcL41JMhVFvCBMk10McTnySQfi pRwmKs3K3SAKRAsjBI80rThFdS3cEETOKkfU1Nv9KDmE6eNQC2MGRSMzwX4dM/hlHxR3 ovBGvlY20ayirCsn0zAX25eANcwdC5rTkXFkYfI9qKZ0axn4Dg7qRmHXbVeGYABEPcTD BlGBl9RQFy3rL04Mx96qWE1MW+OYuDy/mb7NymY4YT0r8tDwFOo4KMp25pvwWrl9c5qZ 1Ar03Yv4rkUGrU3tW7/m+aT6T6MOG6J2O30oZ0kL/A4Df+pV5uO2Kv0EIxwy8osvSZnK E2gA== X-Gm-Message-State: APf1xPD2XR/sDaD7d79crnX+DbqEZ+MaVTnreq2Pkb2WAUhumjNHUXk+ pI0alUyFsN5TAcFXe0e6XtfrepbIaIhz2DLuVw== X-Google-Smtp-Source: AG47ELvA0vfqGgC7Zodho51gKindWaQejpR194xhfjVugGOO8PVng/o9QytkNsHgKJEgirr59wCclvKW4aUGKVOQAU0= X-Received: by 10.31.174.1 with SMTP id x1mr2721153vke.25.1519953408877; Thu, 01 Mar 2018 17:16:48 -0800 (PST) MIME-Version: 1.0 Received: by 10.176.0.181 with HTTP; Thu, 1 Mar 2018 17:16:48 -0800 (PST) From: Matthias Boehm Date: Thu, 1 Mar 2018 17:16:48 -0800 Message-ID: Subject: Re: Extending Codegen algorithm tests for heuristics To: Chamath Abeysinghe Cc: dev@systemml.apache.org Content-Type: multipart/alternative; boundary="001a1144067602e8e1056663bb70" --001a1144067602e8e1056663bb70 Content-Type: text/plain; charset="UTF-8" Hi Chamath, in general, you're absolutely right - you can enable -stats and programmatically probe the heavy hitter statistics for certain opcodes. However, uamin and uamax stand for "unary aggregate minimum" and "unary aggregation maximum" which correspond to min(X) and max(X) on script level. Instead all generated fused operators are prefixed with spoof or sp_spoof (for distributed spark operations). The related junit assertion should already be in the existing tests, I just mentioned it for completeness. Regards, Matthias On Thu, Mar 1, 2018 at 4:30 AM, Chamath Abeysinghe < abeysinghechamath@gmail.com> wrote: > Thanks for your detailed reply. > I did some coding > > [1] for this issue SYSTEMML-2159 to extend test cases for FA & FNR . I got > a problem regarding success criteria's, "generating at least one fused > operator" condition, I think this means I have to look into stats of Heavy > hitter instructions and check if there are any fused operators. (my guess > is uamin and uamax are the operators what I have to look for, but I am not > sure about this because I don't know the meaning of these instructions). > > Please help me to clarify this. If my approach is correct I could send a > PR after fixing tests for other algorithms. Thanks. > > Regards, > Chamath > > [1] https://github.com/apache/systemml/compare/master... > chamathabeysinghe:SYSTEMML-2159?diff=split&name=SYSTEMML-2159 > > > On Tue, Feb 27, 2018 at 1:54 AM, Matthias Boehm wrote: > >> ---------- Forwarded message ---------- >> From: Matthias Boehm >> Date: Mon, Feb 26, 2018 at 11:59 AM >> Subject: Re: Extending Codegen algorithm tests for heuristics >> To: Chamath Abeysinghe >> >> >> great - thanks for taking this over Chamath. >> >> In general, I would recommend to use this task to explore SystemML a >> little. For example, take one of the codegen algorithm tests from >> org.apache.sysml.test.integration.functions.codegenalg (e.g., >> AlgorithmL2SVM) and pass different flags such as -stats, -explain, >> -explain >> recompile_hops, -explain recompile_runtime to programArgs and try to >> understand the output. If you come over specific questions, please just >> ask. >> >> To answer your detailed questions: >> >> 1) We recently added a code generation framework that automatically >> identifies opportunities for fused operators and subsequently generates >> code for these operators. A major part is the selection of fusion plans, >> for which we provide heuristics and a cost-based optimizer. By default >> (and >> thus also in our testsuite), we use the cost-based optimizer, but it would >> be good regularly test the heuristics as well. >> >> 2) You can configure the used optimizer in your SystemML-config.xml file >> as >> follows: >> fuse_all >> Valid alternatives are: fuse_all, fuse_no_redundancy, fuse_cost_based, and >> fuse_cost_based_v2 (default). You can provide alternative config xml files >> and switch them dynamically via getConfigTemplateFile. >> >> 3) Similar to the existing tests, it needs to (1) run without errors, (2) >> produce correct results as compared to R, and (3) generate at least one >> fused operator. >> >> Regards, >> Matthias >> >> On Mon, Feb 26, 2018 at 6:54 AM, Chamath Abeysinghe < >> abeysinghechamath@gmail.com> wrote: >> >> > Hi All, >> > As per the guidelines given to GSoC students, I would like to work on >> the >> > SYSTEMML-2159 [1] issue as a starting point. But I don't understand the >> > background of the issue. Can someone help me with understanding the >> context >> > of this issue? >> > >> > Few problems I got are, >> > >> > 1) What are fusion heuristics, fuse-all and fuse-no-redundancy? >> > 2) Can I pass those heuristic related configurations as args to execute >> > DMLScript? >> > 3) What is the success criteria for a test that use those heuristics? >> > >> > Thank you in advance >> > >> > Regards, >> > Chamath >> > >> > [1] https://issues.apache.org/jira/browse/SYSTEMML-2159 >> > >> > -- >> > Chamath Abeysinghe >> > Department of Computer Science and Engineering >> > University of Moratuwa >> > [image: >> > https://www.linkedin.com/in/kaushalya-gayan-batawala-bbb5927 >> a?trk=hp-identity-name] >> > >> > Mobile : +94752930548 >> > >> > > > > -- > Chamath Abeysinghe > Department of Computer Science and Engineering > University of Moratuwa > [image: > https://www.linkedin.com/in/kaushalya-gayan-batawala-bbb5927a?trk=hp-identity-name] > > Mobile : +94752930548 > --001a1144067602e8e1056663bb70--