public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* autovectorization in gcc
@ 2011-12-06 20:32 Xin Tong
  2011-12-06 23:57 ` Ian Lance Taylor
  2011-12-07  7:40 ` 陳韋任
  0 siblings, 2 replies; 5+ messages in thread
From: Xin Tong @ 2011-12-06 20:32 UTC (permalink / raw)
  To: gcc-help

One of the research projects I am working on at the University of
Toronto is the speculative vectorization. Nowadays, many processors
come with vector instructions.

In order to make use of its vectorization capability, one will need
autovectorization compilers (hand written assembly is not scabale).
One of the most difficult part about autovectorization is dependence
test. Very commonly, dependence test will need to rely on alias
analysis. However, alias analysis needs to be very conservative for
weakly typed languages, i.e. C, C++, etc. This could sometimes result
in the inability to fully take advantage of the vector capability of
the processor. Therefore,Say I have a processor that have a set of
speculative vector instructions,  these instructions behave just like
the regular vector instructions in case of no data dependencies, but
act as a NOP in case aliasing is detected when the instructions are
about to be issued to the functional units of the processor. If
aliasing happens, one needs to make the processor fall back to the
scalar approach of doing the computation.

In order to implement this project, I will need a state-of-art
autovectorizing compiler. Considering the open-source compilers in the
field, gcc looks like a good choice.  Unfortunately, while I do have
much experience working llvm, I have no experience with gcc.

Can any of you give me some suggestions on where to start, I think I
need to learn the gcc framework as a whole first, then I need to focus
on the autovectorization pass. Also, any comments on the project idea
are appreciated as well.


Thanks

Xin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: autovectorization in gcc
  2011-12-06 20:32 autovectorization in gcc Xin Tong
@ 2011-12-06 23:57 ` Ian Lance Taylor
  2011-12-07  7:46   ` Ira Rosen
  2011-12-07  7:40 ` 陳韋任
  1 sibling, 1 reply; 5+ messages in thread
From: Ian Lance Taylor @ 2011-12-06 23:57 UTC (permalink / raw)
  To: Xin Tong; +Cc: gcc-help

Xin Tong <xerox.time.tech@gmail.com> writes:

> In order to implement this project, I will need a state-of-art
> autovectorizing compiler. Considering the open-source compilers in the
> field, gcc looks like a good choice.  Unfortunately, while I do have
> much experience working llvm, I have no experience with gcc.
>
> Can any of you give me some suggestions on where to start, I think I
> need to learn the gcc framework as a whole first, then I need to focus
> on the autovectorization pass. Also, any comments on the project idea
> are appreciated as well.

I think you have pretty much summed up the situation.  Since you will
want to focus on the vectorization passes, I would start by reading
gcc/tree-vect*.[ch].  As you find areas that you don't understand, refer
to the gcc internal's manual (http://gcc.gnu.org/onlinedocs/gccint/) and
the wiki (http://gcc.gnu.org/wiki/).  Also feel free to ask questions
here.

Ian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: autovectorization in gcc
  2011-12-06 20:32 autovectorization in gcc Xin Tong
  2011-12-06 23:57 ` Ian Lance Taylor
@ 2011-12-07  7:40 ` 陳韋任
  1 sibling, 0 replies; 5+ messages in thread
From: 陳韋任 @ 2011-12-07  7:40 UTC (permalink / raw)
  To: Xin Tong; +Cc: gcc-help

> Can any of you give me some suggestions on where to start, I think I
> need to learn the gcc framework as a whole first, then I need to focus
> on the autovectorization pass. Also, any comments on the project idea
> are appreciated as well.

  http://www.cse.iitb.ac.in/grc/

  :)

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: autovectorization in gcc
  2011-12-06 23:57 ` Ian Lance Taylor
@ 2011-12-07  7:46   ` Ira Rosen
  0 siblings, 0 replies; 5+ messages in thread
From: Ira Rosen @ 2011-12-07  7:46 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: gcc-help, Xin Tong



gcc-help-owner@gcc.gnu.org wrote on 07/12/2011 01:56:54 AM:

> Xin Tong <xerox.time.tech@gmail.com> writes:
>
> > In order to implement this project, I will need a state-of-art
> > autovectorizing compiler. Considering the open-source compilers in the
> > field, gcc looks like a good choice.  Unfortunately, while I do have
> > much experience working llvm, I have no experience with gcc.
> >
> > Can any of you give me some suggestions on where to start, I think I
> > need to learn the gcc framework as a whole first, then I need to focus
> > on the autovectorization pass. Also, any comments on the project idea
> > are appreciated as well.
>
> I think you have pretty much summed up the situation.  Since you will
> want to focus on the vectorization passes, I would start by reading
> gcc/tree-vect*.[ch].  As you find areas that you don't understand, refer
> to the gcc internal's manual (http://gcc.gnu.org/onlinedocs/gccint/) and
> the wiki (http://gcc.gnu.org/wiki/).

Here is vectorizer's page
http://gcc.gnu.org/projects/tree-ssa/vectorization.html.

Ira

> Also feel free to ask questions
> here.
>
> Ian
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* autovectorization in gcc
@ 2007-04-22  1:46 ranjith kumar
  0 siblings, 0 replies; 5+ messages in thread
From: ranjith kumar @ 2007-04-22  1:46 UTC (permalink / raw)
  To: gcc-help

Can gcc 4.1.2 do "cycle shrinking" to vectorize more
loops?????



      ___________________________________________________________
Yahoo! Answers - Got a question? Someone out there knows the answer. Try it
now.
http://uk.answers.yahoo.com/ 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-12-07  7:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-06 20:32 autovectorization in gcc Xin Tong
2011-12-06 23:57 ` Ian Lance Taylor
2011-12-07  7:46   ` Ira Rosen
2011-12-07  7:40 ` 陳韋任
  -- strict thread matches above, loose matches on Subject: below --
2007-04-22  1:46 ranjith kumar

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).