Auto Parallelization

General discussion of computer architecture.

Re: Auto Parallelization

Postby Joachim Worringen » Fri Dec 23, 2005 9:15 am

Greg Lindahl schrieb:
In article <40psofF1bnqiqU2@individual.net>,
Jan Vorbrüggen <jvorbrueggen-not@mediasec.de> wrote:


and I haven't heard yet that
profile-based feedback is used to drive parallelization, although that
might have happened before to some degree.

It's a standard feature -- the main feedback is whether or not a loop
has enough work to make parallelization worthwhile.

It's a little bit different in this case as the compiler does not only
look at loops, but also on arbitrary branches. Supported by the
hardware, it executes multiple branches in parallel and stores the
respective data in private memory buffers. It's sort of extreme
speculative execution.

However, this development mostly targets mostly embedded, mobile
systems, and not HPC. The previous generation of this multi-core
hardware will appear in cell phones next year, IIRC.

Joachim
Joachim Worringen
 

Re: Auto Parallelization

Postby Joachim Worringen » Fri Dec 23, 2005 9:15 am

Paul Gotch schrieb:
I suspect it's not quite that. NEC have been researching coarse grain
speculative threading for years. The idea being that you speculatively
execute ahead of branches on both execution paths then cancel the incorrect
thread as soon as you know if the branch was actually taken or not.

NEC were looking at implementing an existing architecture using this
technique but they obviously came to the conclusion that they could get
better performance with some compiler support probably to add hinting
instructions. The same way as you can get better usage of caches with
carefully used prefetch instructions, which architecturally are just NOPs.

I suspect NEC have combined this with conventional feedback directed
optimisation such that you don't execute down both paths of all branches,
only ones you can't predict with high certainty, and also doing conventional
autovectorisation of some loops to vector units.

Fully correct, apart from the fact that this technique is (not yet)
applied to SX vector CPUs, but to multi-core CPUs for embedded
applications. Probably a bigger market...

Joachim
Joachim Worringen
 

Re: Auto Parallelization

Postby larryp7639 » Sat Jul 03, 2010 3:49 am

Seongbae Park wrote:Jan Vorbrüggen <jvorbrueggen-not@mediasec.de> wrote:
Sun already posts SPECfp2k numbers with and without autoparallelization,

Would have a pointer to those?

Without autopar:
http://www.spec.org/osg/cpu2000/results ... 02000.html

With autopar:
http://www.spec.org/osg/cpu2000/results ... 02001.html

As you can see, only a few benchmarks benefit
(in particular, swim, mgrid, applu, galgel
all of which show up in SPEC OMPM2001 benchmark as well).

Navigating the mass of SPEC results is
quite difficult, so any help would be appreciated.

Well, I use SPEC search:

http://www.spec.org/cgi-bin/osgresults?conf=cpu2000

Jan

PS: Purely selfish interest, of course...see 187.facerec.

I'm afraid facerec doesn't see any gain with autopar.
--
#pragma ident "Seongbae Park, compiler, http://blogs.sun.com/seongbae/"

Great post! It's very nice. Thank you so much for your post.
larryp7639
 
Posts: 1
Joined: Sat Jul 03, 2010 3:11 am

Previous

Return to Computer Architecture

Who is online

Users browsing this forum: No registered users and 0 guests

cron