I can confirm that it speeds up some benchmarks!

But also that it has math.simd failures:

    https://github.com/slavapestov/factor/issues/671

How should we go about debugging this for merging?

Btw, awesome work!


On Mon, Sep 10, 2012 at 9:35 AM, Alexander J. Vondrak <
ajvond...@csupomona.edu> wrote:

> Latest working* code was at https://github.com/ajvondrak/factor/tree/gvn
>
> *I haven't pushed any of the stuff I was experimenting on when I started
> having
> problems with `load-all test-all`.  But before those issues, I gave up on
> figuring out why math.vectors.simd tests (specifically around the
> check-vector-ops tests) were causing memory protection faults with GVN
> enabled
> (they don't with it disabled), hoping that getting gvn-tests.factor up to
> date
> would resolve issues.  But, I got gvn-tests.factor working without needing
> any
> changes to the GVN pass itself, so I reckon the math.vectors.simd tests
> will
> still fail.  Hopefully one of you knows more about how to go around
> debugging
> those tests than I do?  (If you can reproduce, anyway.)
>
> As for the code itself, I started by copying over
> basis/compiler/cfg/value-numbering/ to extra/compiler/cfg/gvn/ and
> changing it
> there.  It was easier during development to not touch an existing compiler
> pass, lest the whole listener break.
>
> The diff between the gvn & value-numbering stuff is actually pretty small.
>  But
> since they're different files, it might be a bit of a pain to figure some
> stuff
> out (to make sure you like it or whatever).  I've found myself doing a lot
> of
> `git diff --no-index` and `git merge-file basis/stuff /dev/null/
> extra/stuff`
> to resolve discrepancies.  Pretty sure I took care of the few changes made
> to
> the value-numbering vocab while I was working on gvn:
>
> https://github.com/ajvondrak/factor/commit/beff2088132d992c983ddebe5860183f01bc8b5e
>
> Otherwise, it should be a drop-in replacement of value-numbering: just
> change
> references to compiler.cfg.value-numbering into compiler.cfg.gvn in
> math.simd.vectors.intrinsics and compiler.cfg.optimizer.
>
> Extra things I can think of:
>   - I needed to make a minor change to compiler.cfg.copy-prop due to the
> GVN
>     changes, so that'll be in there.
>   - The reason I wrote the graphviz vocab was to facilitate the fun stuff
> in
>
> https://github.com/ajvondrak/factor/blob/gvn/extra/compiler/cfg/graphviz
>     and
>
> https://github.com/ajvondrak/factor/tree/gvn/extra/compiler/cfg/gvn/testing
>     so I could include CFG diagrams in my thesis.
>   - Just last night, I tried out a fresh 0.95 download's `load-all
> test-all`
>     (in ./factor -run=listener) on my x86_64, up-to-date Arch install (same
>     hardware as before).  Still crashed, but instead of getting "out of
> memory"
>     I got a memory protection fault from the gc.  I hope to be improving
> the
>     GVN pass some once I can get these errors figured out.  :-/  I notice
>     there's been an issue opened about load-all test-all running out of
> memory
>     (https://github.com/slavapestov/factor/issues/633); don't know if
> that's in
>     response to what I brought up or not.
>
> So, I guess I kind of just went "text dump" mode there, but let me know if
> you
> have any questions or if there's anything I can do to help.
>
> Regards,
> --Alex Vondrak
>
> ________________________________________
> From: John Benediktsson [mrj...@gmail.com]
> Sent: Sunday, September 09, 2012 6:58 PM
> To: factor-talk@lists.sourceforge.net
> Subject: Re: [Factor-talk] Out of memory error
>
> I'd love to help you work on merging your GVN patches, where did we leave
> it?
>
> Best,
> John.
>
> On Sat, Aug 25, 2012 at 7:05 PM, Alexander J. Vondrak <
> ajvond...@csupomona.edu<mailto:ajvond...@csupomona.edu>> wrote:
> Good idea, but still no dice.
>
> --Alex Vondrak
> ________________________________________
> From: Doug Coleman [doug.cole...@gmail.com<mailto:doug.cole...@gmail.com>]
> Sent: Saturday, August 25, 2012 4:28 PM
> To: factor-talk@lists.sourceforge.net<mailto:
> factor-talk@lists.sourceforge.net>
> Subject: Re: [Factor-talk] Out of memory error
>
> Are you running it in the shell listener? It might save memory.
>
> ./factor -run=listener
>
> load-all test-all
>
> Doug
>
> On Sat, Aug 25, 2012 at 1:36 PM, Alexander J. Vondrak
> <ajvond...@csupomona.edu<mailto:ajvond...@csupomona.edu>> wrote:
> > Just did a load-all test-all with 0.94, and that crashes, too.  I know
> that
> > I've run those tests before without running out of memory, so I suspect
> it's
> > either an OS update issue (who knows?) or how my setup is interacting
> with my
> > new hardware (inherited some 64-bit hardware, still using my old 32-bit
> Debian
> > install because I've been lazy about ditching
> it/upgrading/what-have-you).
> > Don't know if that would make sense, per se, but hell, it's not the first
> > problem I've had with my current OS setup.  If no one can reproduce, it's
> > probably some combination of things on my end...
> >
> > I'll be trying the unit tests out again once I get Arch configured on
> another
> > hard drive on this machine.
> >
> > Thanks for the feedback everyone,
> > --Alex Vondrak
> >
> > ________________________________________
> > From: John Benediktsson [mrj...@gmail.com<mailto:mrj...@gmail.com>]
> > Sent: Saturday, August 25, 2012 11:11 AM
> > To: factor-talk@lists.sourceforge.net<mailto:
> factor-talk@lists.sourceforge.net>
> > Cc: factor-talk@lists.sourceforge.net<mailto:
> factor-talk@lists.sourceforge.net>
> > Subject: Re: [Factor-talk] Out of memory error
> >
> > If this is happening of 0.95 release than I wonder if we have a slow
> leak rather than corruption - all of our builders produce consistent clean
> builds (load-all test-all) and have for awhile.
> >
> > Perhaps we don't notice due to 16+ GB of RAM...?
> >
> >
> > On Aug 25, 2012, at 11:06 AM, Joe Groff <arc...@gmail.com<mailto:
> arc...@gmail.com>> wrote:
> >
> >> On Sat, Aug 25, 2012 at 1:36 PM, Jim Mack <j...@less2do.com<mailto:
> j...@less2do.com>> wrote:
> >>> In a way, too many possible culprits mask each other.
> >>>
> >>> I remember a problem like this that I solved by reducing the amount of
> >>> memory so the problem would show quickly, then testing small things in
> >>> isolation and volume.  Pick a subset of tests and run them multiple
> times at
> >>> low memory until it fails or becomes clear it won't.   Rinse and
> repeat.
> >>
> >> An out of memory error could also be caused by things other than a
> >> lack of memory. If the heap is getting corrupted or there is a
> >> compiler bug, the system could end up passing a garbage size to malloc
> >> or mmap that is too big to be fulfilled.
> >>
> >> -Joe
> >>
> >>
> ------------------------------------------------------------------------------
> >> Live Security Virtual Conference
> >> Exclusive live event will cover all the ways today's security and
> >> threat landscape has changed and how IT managers can respond.
> Discussions
> >> will include endpoint security, mobile security and the latest in
> malware
> >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >> _______________________________________________
> >> Factor-talk mailing list
> >> Factor-talk@lists.sourceforge.net<mailto:
> Factor-talk@lists.sourceforge.net>
> >> https://lists.sourceforge.net/lists/listinfo/factor-talk
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > Factor-talk mailing list
> > Factor-talk@lists.sourceforge.net<mailto:
> Factor-talk@lists.sourceforge.net>
> > https://lists.sourceforge.net/lists/listinfo/factor-talk
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > Factor-talk mailing list
> > Factor-talk@lists.sourceforge.net<mailto:
> Factor-talk@lists.sourceforge.net>
> > https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net<mailto:Factor-talk@lists.sourceforge.net
> >
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net<mailto:Factor-talk@lists.sourceforge.net
> >
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to