Re: Give me advice on GSoC OpenMP

2011-04-03 Thread Richard Guenther
On Sat, Apr 2, 2011 at 10:53 AM, Sho Nakatani  wrote:
> Hi!
>
> I'm Sho Nakatani, a student of the University of Tokyo, Japan.
> I'd like to tackle GSoC this year!
> I'm trying to speed up the OpenMP implementation in GCC.
>
> The following graph shows the OpenMP in GCC is much slower than that of Intel 
> C Compiler.
> https://github.com/laysakura/GCC-OpenMP-Speedup/raw/master/img/task-gcc-vs-icc.png
>
> Here is the code I on measured the exec time.
> https://github.com/laysakura/GCC-OpenMP-Speedup/blob/master/test/openmp-fibonacci.c
>
> And I compiled it by the following command:
>
>    gcc -O3 -fopenmp -o openmp-fibonacci-gcc openmp-fibonacci.c
>    icc -O3 -openmp -o openmp-fibonacci-icc openmp-fibonacci.c
>
> After that, I executed them on a machine with 32 AMD CPUs (each has 4 cores).
>
>
> Currently, I'm planning to change the algorighm of `task' premitive in 
> `libgomp'.
> This plan is of course for GSoC but also for my graduation thesis.
> My teacher has some idea on the better algorithm (but I haven't learned it 
> yet).
>
> Are there any advice from the members of GCC ML?
> Anything is OK:
>
> Although I know some about C programming and I have implemented a very small
> C compiler myself, I'm quite new to GCC.
>
> I welcome advice on how to get accepted from GSoC, too :-)

What does your fibonacci testcase trying to measure?  It looks like it is
measuring thread creation/switching time only.

Richard.

> Thanks,
>
> --
> Sho Nakatani
>


Oberon-2 front-end as a GSoC project

2011-04-03 Thread Levon Haykazyan
Hi all,

I want to propose to implement Oberon-2 front-end to gcc on GSoC. I know
that Oberon-2 is not the most popular language today, but probably there
would be some interest in it.

I would like to ask some feedback on this idea. Is there an interest in the
community in a new front-end? Is the project appropriate for GSoC (i.e. not
too ambitious)? Would somebody be interested in mentoring this work?

Kind regards,
Levon

-- 
You Rock! Your E-Mail Should Too! Signup Now at Rock.com and get 2GB of Storage!

http://connections.rock.com/user/displayUserRegisterPage.kickAction?as=116748&STATUS=MAIN


Fwd: new mirror in Nicosia, Cyprus

2011-04-03 Thread Grigory Rayskin
Hello Gerald,

I've fixed the issue with the dates by changing sync software to
ftpcopy. I've double checked and it works ok now.
Crontab was changed to run sync every even date ( */2 ).


2011/4/3 Gerald Pfeifer 
>
> On Sat, 5 Mar 2011, Grigory Rayskin wrote:
> > We have set up a new GCC mirror server offering HTTP access:
> > http://fileboar.com/gcc/
> >
> > This server is located in Nicosia, Cyprus. The update is scheduled twice
> > a week.
>
> I was just going to add this sever, but something does not seem
> right:  All directories have 29-Mar-2011 09:14 (plus some minutes
> in some cases) as their date and time.  Is there, possibly, a
> problem with the sync always pulling everything down?
>
> Also, it seems there has not been a sync for more than half a week?

It should be synced on Apr 1 last time but the server went down,
that's why the last sync has been done on Mar 29.

>
> > Thanks in advance for listing us.
>
> Any chance you could look into the above and suggest a patch against
> http://gcc.gnu.org/mirrors.html with how you suggest the mirror to
> be listed?
>
> Thanks,
> Gerald



--
Sincerely,
Grigory Rayskin


Re: Give me advice on GSoC OpenMP

2011-04-03 Thread Sho Nakatani
From: Richard Guenther 
Date: Sun, 3 Apr 2011 09:28:49 +0200

> On Sat, Apr 2, 2011 at 10:53 AM, Sho Nakatani  wrote:
>> Hi!
>>
>> I'm Sho Nakatani, a student of the University of Tokyo, Japan.
>> I'd like to tackle GSoC this year!
>> I'm trying to speed up the OpenMP implementation in GCC.
>>
>> The following graph shows the OpenMP in GCC is much slower than that of 
>> Intel C Compiler.
>> https://github.com/laysakura/GCC-OpenMP-Speedup/raw/master/img/task-gcc-vs-icc.png
>>
>> Here is the code I on measured the exec time.
>> https://github.com/laysakura/GCC-OpenMP-Speedup/blob/master/test/openmp-fibonacci.c
>>
>> And I compiled it by the following command:
>>
>>    gcc -O3 -fopenmp -o openmp-fibonacci-gcc openmp-fibonacci.c
>>    icc -O3 -openmp -o openmp-fibonacci-icc openmp-fibonacci.c
>>
>> After that, I executed them on a machine with 32 AMD CPUs (each has 4 cores).
>>
>>
>> Currently, I'm planning to change the algorighm of `task' premitive in 
>> `libgomp'.
>> This plan is of course for GSoC but also for my graduation thesis.
>> My teacher has some idea on the better algorithm (but I haven't learned it 
>> yet).
>>
>> Are there any advice from the members of GCC ML?
>> Anything is OK:
>>
>> Although I know some about C programming and I have implemented a very small
>> C compiler myself, I'm quite new to GCC.
>>
>> I welcome advice on how to get accepted from GSoC, too :-)
> 
> What does your fibonacci testcase trying to measure?  It looks like it is
> measuring thread creation/switching time only.

I tried to show GOMP's implementation of OpenMP Task was slow.
Users of OpenMP normally expects the execution time should decrease
as the number of CPU cores increase.

Of course, the graph is not enough to show the cause of the low speed
is `task' implementation. So I'm now trying to show how threads are
created and in which cores they work on like:


|  \
  
|   \ |
|\
| \
|  \
  


Then, I'll compare the trees created by gcc and icc, and point out
that the implementation of OpenMP Task uses Lazy Task Creation while
gcc does not.

> 
> Richard.
> 

--
Sho Nakatani


Re: Oberon-2 front-end as a GSoC project

2011-04-03 Thread Joseph S. Myers
On Sun, 3 Apr 2011, Levon Haykazyan wrote:

> Is there an interest in the community in a new front-end?

In general I encourage the addition of front ends for real languages (ones 
used for real programming, as opposed to ones used solely for being 
arcane, as examples, etc.) as long as someone is willing to maintain them 
in the GCC tree (update them as needed for changes to the rest of GCC, 
etc.) in accordance with GCC's coding standards.  This applies both to 
existing out-of-tree front ends such as Pascal and D, and to new front 
ends.

For a new front end I would encourage implementing it in the way chosen 
for Ada, Fortran and to a lesser extent Go, where most of the front end 
uses its own datastructures to represent the program and the part 
converting to GCC's language-independent representation is self-contained 
rather than spread around the front end.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Oberon-2 front-end as a GSoC project

2011-04-03 Thread Levon Haykazyan

> - Original Message -
> From: "Joseph S. Myers" 
> To: Levon Haykazyan 
> Cc: gcc@gcc.gnu.org
> Subject: Re: Oberon-2 front-end as a GSoC project
> Date: Sun, 3 Apr 2011 11:14:05 + (UTC)
> 
> 
> On Sun, 3 Apr 2011, Levon Haykazyan wrote:
> 
> > Is there an interest in the community in a new front-end?
> 
> In general I encourage the addition of front ends for real languages (ones
> used for real programming, as opposed to ones used solely for being
> arcane, as examples, etc.) as long as someone is willing to maintain them
> in the GCC tree (update them as needed for changes to the rest of GCC,
> etc.) in accordance with GCC's coding standards.  This applies both to
> existing out-of-tree front ends such as Pascal and D, and to new front
> ends.
> 
> For a new front end I would encourage implementing it in the way chosen
> for Ada, Fortran and to a lesser extent Go, where most of the front end
> uses its own datastructures to represent the program and the part
> converting to GCC's language-independent representation is self-contained
> rather than spread around the front end.
> 
> --
> Joseph S. Myers
> jos...@codesourcery.com

>

Hi Joseph,

Thank you for the replay and for the implementation suggestions. Would you
classify Oberon-2 as a real programming language? On one hand it was 
certainly designed with minimalism in mind (the language definition is 
only 20 pages), on the other hand it was designed and has been used for
real programming (though mostly by a relatively narrow community).

I am definitely willing to maintain the front-end, though at this point
you have nothing but my word to take for it.

Kind regards,
Levon


-- 
You Rock! Your E-Mail Should Too! Signup Now at Rock.com and get 2GB of Storage!

http://connections.rock.com/user/displayUserRegisterPage.kickAction?as=116748&STATUS=MAIN


License on gcov-io.c

2011-04-03 Thread Joseph S. Myers
It appears that gcov-io.c is used on both the host and the target.  Could 
the SC please confirm with the FSF that we may add the runtime exception 
to this file, as it appears to have been omitted (although present on 
gcov-io.h)?

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Oberon-2 front-end as a GSoC project

2011-04-03 Thread Joseph S. Myers
On Sun, 3 Apr 2011, Levon Haykazyan wrote:

> Thank you for the replay and for the implementation suggestions. Would you
> classify Oberon-2 as a real programming language? On one hand it was 

Yes, I think it would be considered real.

The sort of languages for which I wouldn't want front ends integrated in 
GCC include those listed at 
, for example 
(out-of-tree front ends are fine, but they wouldn't be appropriate to 
integrate into FSF GCC trunk).

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: More links in release change list

2011-04-03 Thread Gerald Pfeifer
On Sun, 27 Mar 2011, Jonathan Wakely wrote:
>> http://kernelnewbies.org/LinuxChanges is a good example of the kind of thing
>> I'm talking about.
> I doubt many people would disagree, but someone needs to do the work
> (in other words "patches welcome"!)
> 
> The GCC wiki could be a good place for people to add such information
> without needing write access to the wwwdocs repository.

Or you could check out the sources for our web pages (cf.
http://gcc.gnu.org/cvs.html ) or just download them and
suggest patches.

Or propose changes just as text, and we can hack them in.

In any case, happy to support such an effort by reviewing,
committing, or also making changes.

Gerald


Re: Give me advice on GSoC OpenMP

2011-04-03 Thread Jakub Jelinek
On Sun, Apr 03, 2011 at 07:27:12PM +0900, Sho Nakatani wrote:
> Then, I'll compare the trees created by gcc and icc, and point out
> that the implementation of OpenMP Task uses Lazy Task Creation while
> gcc does not.

Depends on what you mean by lazy task creation, gcc schedules
tasks lazily if they aren't if (0), some data structure if created
for them when encountering #pragma omp task directive, but I guess
any implementation will do something like that.

What your testcase shows is not whether tasks are created lazily or not, but
how good/poor #pragma omp taskwait implementation is.  And, for your testcase
libgomp/task.c (GOMP_taskwait) definitely could be improved.  Currently it only
tries to schedule in children that will be awaited by the current tasks and if
there are no such children, goes to sleep, waiting for them to complete.
Scheduling in random unrelated tasks is problematic, because the unrelated
task might take too long to complete and delay the taskwait for way too long
(note, gcc doesn't have untied tasks, all tasks are tied once they are scheduled
onto some particular tasks - setcontext/swapcontext is quite fragile thing to 
do).
But it is true it could very well schedule tasks that are taskwaited by tasks
taskwaited by current task, and transitively further.  Plus, be able to 
temporarily
awake such a sleeping thread if there are tasks it can transitively taskwait
for, as if those don't complete, the current taskwait won't return.

Jakub


Bootstrap comparison failures

2011-04-03 Thread Gerald Pfeifer
I'm a bit surprised I'm not seeing other notes on this on the list,
but all of my automated tests (on i386-unknown-freebsd9.0 and 
amd64-unknown-freebsd8.2) exhibit comparision failures since yesterday:

  Comparing stages 2 and 3
  warning: gcc/cc1obj-checksum.o differs
  warning: gcc/cc1plus-checksum.o differs
  warning: gcc/cc1-checksum.o differs
  Bootstrap comparison failure!
  gcc/build/genautomata.o differs
  gcc/c-decl.o differs
  gcc/combine.o differs
  gcc/gimple-iterator.o differs
  gcc/ira-conflicts.o differs
  gcc/tree-iterator.o differs
  libiberty/pic/md5.o differs
  libiberty/pic/regex.o differs
  zlib/libz_a-infback.o differs
  zlib/libz_a-inflate.o differs
  gmake[2]: *** [compare] Error 1
  gmake[2]: Leaving directory `/scratch/tmp/gerald/OBJ-0403-1739'
  gmake[1]: *** [stage3-bubble] Error 2
  gmake[1]: Leaving directory `/scratch/tmp/gerald/OBJ-0403-1739'
  gmake: *** [bootstrap-lean] Error 2

No special configure options.

Kai, yours is the only change being listed in gcc/ChangeLog for
yesterday.

Gerald


Re: Bootstrap comparison failures

2011-04-03 Thread Kai Tietz
2011/4/3 Gerald Pfeifer :
> I'm a bit surprised I'm not seeing other notes on this on the list,
> but all of my automated tests (on i386-unknown-freebsd9.0 and
> amd64-unknown-freebsd8.2) exhibit comparision failures since yesterday:
>
>  Comparing stages 2 and 3
>  warning: gcc/cc1obj-checksum.o differs
>  warning: gcc/cc1plus-checksum.o differs
>  warning: gcc/cc1-checksum.o differs
>  Bootstrap comparison failure!
>  gcc/build/genautomata.o differs
>  gcc/c-decl.o differs
>  gcc/combine.o differs
>  gcc/gimple-iterator.o differs
>  gcc/ira-conflicts.o differs
>  gcc/tree-iterator.o differs
>  libiberty/pic/md5.o differs
>  libiberty/pic/regex.o differs
>  zlib/libz_a-infback.o differs
>  zlib/libz_a-inflate.o differs
>  gmake[2]: *** [compare] Error 1
>  gmake[2]: Leaving directory `/scratch/tmp/gerald/OBJ-0403-1739'
>  gmake[1]: *** [stage3-bubble] Error 2
>  gmake[1]: Leaving directory `/scratch/tmp/gerald/OBJ-0403-1739'
>  gmake: *** [bootstrap-lean] Error 2
>
> No special configure options.
>
> Kai, yours is the only change being listed in gcc/ChangeLog for
> yesterday.
>
> Gerald
>

Hmm, I would assume this can't be caused by the change I did here for
MS_ABI 32-bit target.  AFAIK is there already a bugreport about
comparison failures present on gcc's bugtracker and it is a bit older.

See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45248 (and
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48151).

Kai


Re: Bootstrap comparison failures

2011-04-03 Thread Jonathan Wakely
On 3 April 2011 20:28, Kai Tietz  wrote:
> 2011/4/3 Gerald Pfeifer :
>> I'm a bit surprised I'm not seeing other notes on this on the list,
>> but all of my automated tests (on i386-unknown-freebsd9.0 and
>> amd64-unknown-freebsd8.2) exhibit comparision failures since yesterday:
>>
>>  Comparing stages 2 and 3
>>  warning: gcc/cc1obj-checksum.o differs
>>  warning: gcc/cc1plus-checksum.o differs
>>  warning: gcc/cc1-checksum.o differs
>>  Bootstrap comparison failure!
>>  gcc/build/genautomata.o differs
>>  gcc/c-decl.o differs
>>  gcc/combine.o differs
>>  gcc/gimple-iterator.o differs
>>  gcc/ira-conflicts.o differs
>>  gcc/tree-iterator.o differs
>>  libiberty/pic/md5.o differs
>>  libiberty/pic/regex.o differs
>>  zlib/libz_a-infback.o differs
>>  zlib/libz_a-inflate.o differs
>>  gmake[2]: *** [compare] Error 1
>>  gmake[2]: Leaving directory `/scratch/tmp/gerald/OBJ-0403-1739'
>>  gmake[1]: *** [stage3-bubble] Error 2
>>  gmake[1]: Leaving directory `/scratch/tmp/gerald/OBJ-0403-1739'
>>  gmake: *** [bootstrap-lean] Error 2
>>
>> No special configure options.
>>
>> Kai, yours is the only change being listed in gcc/ChangeLog for
>> yesterday.
>>
>> Gerald
>>
>
> Hmm, I would assume this can't be caused by the change I did here for
> MS_ABI 32-bit target.  AFAIK is there already a bugreport about
> comparison failures present on gcc's bugtracker and it is a bit older.
>
> See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45248 (and
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48151).

Linux bootstrap is currently broken due to comparison failures, see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48403 - maybe it affects
FreeBSD too.


gcc-4.3-20110403 is now available

2011-04-03 Thread gccadmin
Snapshot gcc-4.3-20110403 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.3-20110403/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.3 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch 
revision 171914

You'll find:

 gcc-4.3-20110403.tar.bz2 Complete GCC (includes all of below)

  MD5=f65d5285a57f1dc77a6d5bd18d1eacc9
  SHA1=478f82b3399ed13db0926f00bfe18e3afa4fe997

 gcc-core-4.3-20110403.tar.bz2C front end and core compiler

  MD5=acb62592b3512431af2d08b561fe925b
  SHA1=e6b0bfa7f1794ba935c3eedc9cb87a6bd4b01130

 gcc-ada-4.3-20110403.tar.bz2 Ada front end and runtime

  MD5=fe4bd9e8365f4705cbd54bb6d49ae98d
  SHA1=a22f72b5719541e23dbf5a6a3e27e95c1ce3227c

 gcc-fortran-4.3-20110403.tar.bz2 Fortran front end and runtime

  MD5=c9a612f81a085c0710179dfbce5c7f7e
  SHA1=04496dfe3a3f3d38d4f164dcb91a732e453b57ff

 gcc-g++-4.3-20110403.tar.bz2 C++ front end and runtime

  MD5=3be7d3744b34f18d5be985bb7ae1b9e0
  SHA1=42b5c4156abf78803a46636578471f0e381d22f6

 gcc-go-4.3-20110403.tar.bz2  Go front end and runtime

  MD5=0478ab47feadcae0728f3aad4b41d9c0
  SHA1=bd52f99d65b378ea6f25f2ed14c65a1945432bb7

 gcc-java-4.3-20110403.tar.bz2Java front end and runtime

  MD5=316e44df7e022de4cd068cfc717be8c2
  SHA1=7022c4dc09f8a104f2e821ccc44c9673c52ec2c6

 gcc-objc-4.3-20110403.tar.bz2Objective-C front end and runtime

  MD5=221fb1c5499a8f4896aa9075422f7b81
  SHA1=ba798baa3f7c98fe2154c016d60e9431c8317be6

 gcc-testsuite-4.3-20110403.tar.bz2   The GCC testsuite

  MD5=0ee9d17370daf0f609857ac6428221c3
  SHA1=f449b01689d1cfe4b51af84fba5521c6474ff8d3

Diffs from 4.3-20110327 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.3
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.