public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/36281] New: vectorized code not parallelized
@ 2008-05-20 19:26 spop at gcc dot gnu dot org
2008-05-20 19:42 ` [Bug tree-optimization/36281] " pinskia at gcc dot gnu dot org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: spop at gcc dot gnu dot org @ 2008-05-20 19:26 UTC (permalink / raw)
To: gcc-bugs
The testcase of PR36181 should be parallelized after being vectorized.
/* { dg-do compile } */
/* { dg-options "-O3 -ftree-parallelize-loops=2" } */
int foo ()
{
int i, sum = 0, data[1024];
for(i = 0; i<1024; i++)
sum += data[i];
return sum;
}
The fix for PR36181 was to disable the parallelization of a loop when
one of the phi nodes had a vector type. This testcase should also be
parallelized. See also the comments from the fix for PR36181:
http://gcc.gnu.org/ml/gcc-patches/2008-05/msg01217.html
--
Summary: vectorized code not parallelized
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: spop at gcc dot gnu dot org
ReportedBy: spop at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36281
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/36281] vectorized code not parallelized
2008-05-20 19:26 [Bug tree-optimization/36281] New: vectorized code not parallelized spop at gcc dot gnu dot org
@ 2008-05-20 19:42 ` pinskia at gcc dot gnu dot org
2008-12-28 3:26 ` [Bug tree-optimization/36281] vector code is " pinskia at gcc dot gnu dot org
2010-07-19 8:25 ` rob1weld at aol dot com
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-05-20 19:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2008-05-20 19:42 -------
Even worse:
#define vector __attribute__((vector_size(16) ))
vector int foo ()
{
vector int i, sum = 0, data[1024];
for(i = 0; i<1024; i++)
sum += data[i];
return sum;
}
With -O2 -ftree-parallelize-loops=2, this does not get parallelized at all even
though we did not run the vectorizer.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36281
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/36281] vector code is not parallelized
2008-05-20 19:26 [Bug tree-optimization/36281] New: vectorized code not parallelized spop at gcc dot gnu dot org
2008-05-20 19:42 ` [Bug tree-optimization/36281] " pinskia at gcc dot gnu dot org
@ 2008-12-28 3:26 ` pinskia at gcc dot gnu dot org
2010-07-19 8:25 ` rob1weld at aol dot com
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-28 3:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2008-12-28 03:23 -------
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Severity|normal |enhancement
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |missed-optimization
Last reconfirmed|0000-00-00 00:00:00 |2008-12-28 03:23:49
date| |
Summary|vectorized code not |vector code is not
|parallelized |parallelized
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36281
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/36281] vector code is not parallelized
2008-05-20 19:26 [Bug tree-optimization/36281] New: vectorized code not parallelized spop at gcc dot gnu dot org
2008-05-20 19:42 ` [Bug tree-optimization/36281] " pinskia at gcc dot gnu dot org
2008-12-28 3:26 ` [Bug tree-optimization/36281] vector code is " pinskia at gcc dot gnu dot org
@ 2010-07-19 8:25 ` rob1weld at aol dot com
2 siblings, 0 replies; 4+ messages in thread
From: rob1weld at aol dot com @ 2010-07-19 8:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rob1weld at aol dot com 2010-07-19 08:25 -------
> ... this does not get parallelized at all ...
Also see 34501
Perhaps we could make some use of Pluto. It is a fully automatic (C to OpenMP
C) parallelizer that makes code amenable to auto-vectorization.
http://pluto-compiler.sourceforge.net/
Also see these Parallelizers:
http://cri.ensmp.fr/pips/ or http://pips4u.org/
There was something I found a few days ago from here that I can no longer
locate
http://en.wikipedia.org/wiki/Automatic_parallelization
It would be great to take that inner loop (if it were much larger) and
'Kernelize' it for co-processing on our Graphics Card. We could expand GCCs
'x-parallelize-x' and threading options to automatically find the sweeter spots
to offload for co=processing (on a GPU, using OpenCL).
Barra - NVIDIA G80 GPU Functional Simulator
http://gpgpu.univ-perp.fr/index.php/Barra
If we were 'allowed' to call a post-processor (like LTO used to do) we could
call ATI's GPU SDK which supports OpenCL and outputs code BOTH to x86 and it's
own GPUs.
Commercial Projects:
Auto-parallelizer and SIMDinator by Dalsoft
http://www.dalsoft.com/documentation_simdinator.html
NVidia's PTX
http://en.wikipedia.org/wiki/Parallel_Thread_Execution
Cray's work with LLVM
http://llvm.org/devmtg/2009-10/Greene_180k_Cores.pdf
Larrabee
http://www.drdobbs.com/architecture-and-design/216402188?pgno=5
Rob
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36281
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-07-19 8:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-20 19:26 [Bug tree-optimization/36281] New: vectorized code not parallelized spop at gcc dot gnu dot org
2008-05-20 19:42 ` [Bug tree-optimization/36281] " pinskia at gcc dot gnu dot org
2008-12-28 3:26 ` [Bug tree-optimization/36281] vector code is " pinskia at gcc dot gnu dot org
2010-07-19 8:25 ` rob1weld at aol dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).