systemml-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Boehm <>
Subject Re: Parfor loop interdependencies
Date Thu, 15 Jun 2017 04:08:34 GMT
Generally, the parfor dependency analysis applies a series of tests
including traditional techniques from high-performance compilers combined
with additional rules for common cases. This dependency analysis tries to
proof that there are no loop-carried dependencies - so yes, false positives
can happen, in which case a user needs to take responsibility by disabling
the dependency analysis.

Regarding your concrete problem - any null pointer exception is of course
bug and needs fixing. Could you please create a minimal scenario that
reproduces this issues and create a JIRA for it. I'm happy to help
resolving this.


On Wed, Jun 14, 2017 at 4:24 PM, <> wrote:

> While working on depthwise convolution, I wanted to make use of a parfor
> loop to run multiple convolutions at once (there is a vectorized approach
> as well, but that is out of scope for this question), but I'm running into
> issues with false flags for loop interdependencies.  Within the parfor
> body, I am performing left-indexing over unique ranges to store results in
> a variable `out`, and the engine currently expresses concerns regarding
> this variable.  The range bounds are short expressions, and I have printed
> out the ranges to be absolutely sure that they are unique.  If I use
> `check=0`, then the engine dies with a null pointer exception.
> What is the current strategy used for determining inter-loop dependencies
> for parfor statements?  How can we improve this?
> -Mike
> --
> Mike Dusenberry
> GitHub:
> LinkedIn:
> Sent from my iPhone.

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