[GHC] #10491: Regression, simplifier explosion with Accelerate, cannot compile, increasing tick factor is not a workaround

George Colpitts george.colpitts at gmail.com
Sat Jun 20 17:47:41 UTC 2015


7.10.1.20150612

It's very sensitive, I see today. Sometimes it fails with

Simplifier ticks exhausted

other times it works. Bizarre

I think the latter is the more common case and I think the former case has
something to do with existing .o file or order of args and -fforce-recomp
may mean it always works but that is very speculative.

The two casesor

$ time ghc -fno-specialise -O2 Slice.hs
[1 of 1] Compiling Data.Array.Accelerate.CUDA.Array.Slice ( Slice.hs,
Slice.o )
ghc: panic! (the 'impossible' happened)
  (GHC version 7.10.1.20150612 for x86_64-apple-darwin):
    Simplifier ticks exhausted
  When trying UnfoldingDone $j_s1FS5
  To increase the limit, use -fsimpl-tick-factor=N (default 100)
  If you need to do this, let GHC HQ know, and what factor you needed
  To see detailed counts use -ddump-simpl-stats
  Total ticks: 1668604

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug


real    0m19.714s
user    0m18.264s
sys    0m0.875s

$ time ghc -O2 -fno-specialise Slice.hs
[1 of 1] Compiling Data.Array.Accelerate.CUDA.Array.Slice ( Slice.hs,
Slice.o )

real    0m3.228s
user    0m3.040s
sys    0m0.155s

On Sat, Jun 20, 2015 at 2:03 PM, GHC <ghc-devs at haskell.org> wrote:

> #10491: Regression, simplifier explosion with Accelerate, cannot compile,
> increasing tick factor is not a workaround
> -------------------------------------+-------------------------------------
>         Reporter:  robertce          |                   Owner:
>             Type:  bug               |                  Status:  new
>         Priority:  highest           |               Milestone:  7.10.2
>        Component:  Compiler          |                 Version:  7.10.1
>       Resolution:                    |                Keywords:
> Operating System:  Unknown/Multiple  |            Architecture:
>  Type of failure:  Compile-time      |  Unknown/Multiple
>   performance bug                    |               Test Case:
>       Blocked By:                    |                Blocking:
>  Related Tickets:                    |  Differential Revisions:
> -------------------------------------+-------------------------------------
>
> Comment (by bgamari):
>
>  George, what GHC version did you test `-fno-specialise` on? While
>  yesterday I was able to confirm that `-fno-specialise` seemed to make no
>  difference on a test machine running what should have been 7.10.1 I am now
>  having trouble replicating this on my laptop. Unfortunately I no longer
>  have access to the test environment on which I tested this yesterday but
>  clearly something was inconsistent.
>
>  I am now seeing on multiple machines that `-fno-specialise` indeed allows
>  things to compile,
>  {{{
>  $ ghc -V
>  The Glorious Glasgow Haskell Compilation System, version 7.10.1
>  $$ time ghc Slice.hs -fforce-recomp -O2 -fno-specialise
>  [1 of 1] Compiling Slice            ( Slice.hs, Slice.o )
>
>  real    0m3.759s
>  user    0m1.688s
>  sys     0m0.044s
>  $ time ghc Slice.hs -fforce-recomp -O2
>  [1 of 1] Compiling Slice            ( Slice.hs, Slice.o )
>  ^C
>
>  real    0m51.103s
>  user    0m44.336s
>  sys     0m0.948s
>  }}}
>
>  I am now looking at whether disabling only cross-module specialisation is
>  enough to eliminate the blow-up.
>
> --
> Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10491#comment:27>
> GHC <http://www.haskell.org/ghc/>
> The Glasgow Haskell Compiler
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20150620/d0e63147/attachment.html>


More information about the ghc-devs mailing list