systemml-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Boehm <mboe...@gmail.com>
Subject Fwd: Extending Codegen algorithm tests for heuristics
Date Mon, 26 Feb 2018 20:24:03 GMT
---------- Forwarded message ----------
From: Matthias Boehm <mboehm7@gmail.com>
Date: Mon, Feb 26, 2018 at 11:59 AM
Subject: Re: Extending Codegen algorithm tests for heuristics
To: Chamath Abeysinghe <abeysinghechamath@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 <
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
>   <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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message