[GHC] #10491: Regression, simplifier explosion with Accelerate, cannot compile, increasing tick factor is not a workaround
GHC
ghc-devs at haskell.org
Mon Jun 22 09:16:51 UTC 2015
#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):
One thing in the post-explosion Core that I've noticed is some extremely
large bindings of type,
{{{#!hs
lvl_scb5
:: forall a_aaJ9.
(((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int
-> (((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int
-> Data.Array.Accelerate.Type.Boundary a_aaJ9
-> Either
a_aaJ9
((((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int)
}}}
with variously sized indices. The size of the binding (determined very
roughly by the number of lines in the textual Core representation) scales
very strongly with the size of the index,
* `((((Z :. Int) :. Int) :. A) :. A) :. Int`: 11777 lines
* `(((((Z :. Int) :. Int) :. A) :. A) :. A) :. Int`: 34246 lines
* `((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. Int`: 108745 lines
* `(((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int`: 351252
lines
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10491#comment:35>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list