---------- Forwarded message ---------- From: Matthias Boehm <mboe...@gmail.com> Date: Mon, Feb 26, 2018 at 11:59 AM Subject: Re: Extending Codegen algorithm tests for heuristics To: Chamath Abeysinghe <abeysinghecham...@gmail.com>
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: <sysml.codegen.optimizer>fuse_all</sysml.codegen.optimizer> 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 < abeysinghecham...@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 > <https://www.facebook.com/chamath.abeysinghe.3> [image: > https://www.linkedin.com/in/kaushalya-gayan-batawala-bbb5927a?trk=hp-identity-name] > <https://lk.linkedin.com/in/chamathabeysinghe> > Mobile : +94752930548 >