Computation and usage of SSA_NAME_PTR_INFO

2013-04-29 Thread Nikhil Patil
Hello,

1. Which passes of gcc make use of points-to information in
SSA_NAME_PTR_INFO (or more precisely, pt_solution) in doing
optimizations?


2. Also, who computes this points-to information and populates
pt_solution? Is it ONLY ipa-pta pass?

When I accessed pt_solution through a plugin which REPLACES ipa-pta
pass, I found that the information (in pt_solution) with and without
ipa-pta pass differs only in terms of flags in pt_solution. Here with
the examples I could construct, I found that the bitmap 'vars' in
pt_solution is same for both the cases. Is it always true?

Can someone please help in clarifying these doubts.

Thanks in advance.

--
Regards,
Nikhil Patil.


Fortran Compiler Hangs

2013-04-29 Thread Iyer, Balaji V
Hello Everyone,
The fortran compiler  (f951) seem to hang even for a simple hello world 
program in GCC. This is causing the whole gcc build process to hang at the 
following line:

checking for x86_64-unknown-linux-gnu-gfortran... 
/export/users/gcc-svn/b-cilkplus-gcc/./gcc/gfortran 
-B/export/users/gcc-svn/b-cilkplus-gcc/./gcc/ 
-B/export/users/gcc-svn/install_dir/cilkplus-install/x86_64-unknown-linux-gnu/bin/
 
-B/export/users/gcc-svn/install_dir/cilkplus-install/x86_64-unknown-linux-gnu/lib/
 -isystem 
/export/users/gcc-svn/install_dir/cilkplus-install/x86_64-unknown-linux-gnu/include
 -isystem 
/export/users/gcc-svn/install_dir/cilkplus-install/x86_64-unknown-linux-gnu/sys-include
checking whether we are using the GNU Fortran compiler...

I tried a small hello world program and it was also hanging. I tried to gdb it 
and here is the backtrace. My current revision is at r198424. My previous 
revision was at r198143 and I believe things were working fine there.

Here is the test program:

   PRINT *, 'Hello, world!'
   END

Here is the back trace:
(gdb) bt
#0  0x00ece7f1 in __gmpn_mul_1 ()
#1  0x00ed540b in __gmpn_mul_basecase ()
#2  0x00ed3c2f in __gmpn_kara_mul_n ()
#3  0x00ed40df in __gmpn_kara_mul_n ()
#4  0x00ed4bd5 in __gmpn_toom3_mul_n ()
#5  0x00ed52ac in __gmpn_mul_n ()
#6  0x00ed011f in __gmpn_mul ()
#7  0x00edd4e4 in __gmpn_toom22_mul ()
#8  0x00eded73 in __gmpn_toom32_mul ()
#9  0x00ed0080 in __gmpn_mul ()
#10 0x00ec9cd3 in __gmpz_mul ()
#11 0x00ea2fb1 in S ()
#12 0x00ea2f95 in S ()
#13 0x00ea2f6b in S ()
#14 0x00ea2f95 in S ()
#15 0x00ea2f6b in S ()
#16 0x00ea2f6b in S ()
#17 0x00ea2f95 in S ()
#18 0x00ea2f6b in S ()
#19 0x00ea2f6b in S ()
#20 0x00ea326b in mpfr_const_log2_internal ()
#21 0x00eb98af in mpfr_cache ()
#22 0x00ea36eb in mpfr_log ()
#23 0x00eb3165 in mpfr_log10 ()
#24 0x0051d2af in gfc_arith_init_1() ()
#25 0x00576463 in gfc_init_1() ()
#26 0x005c5bb3 in gfc_init() ()
#27 0x0097d8b7 in toplev_main(int, char**) ()
#28 0x77644bc6 in __libc_start_main () from /lib64/libc.so.6
#29 0x0051bb41 in _start () at ../sysdeps/x86_64/elf/start.S:113

Thanks,

Balaji V. Iyer.


Re: Fortran Compiler Hangs

2013-04-29 Thread Tobias Burnus

Hello Iyer,

Iyer, Balaji V wrote:

The fortran compiler  (f951) seem to hang even for a simple hello world program 
in GCC. This is causing the whole gcc build process to hang at the following 
line:

checking for x86_64-unknown-linux-gnu-gfortran... 
/export/users/gcc-svn/b-cilkplus-gcc/./gcc/gfortran


First question: Do you use the trunk or some branch? From your email, 
I'd assume that you use the trunk, but "b-cilkplus-gcc" rather implies 
that you are using some branch.



Looking at the backtrace, it seems as if your GMP (GNU Multiprecision 
[integer] Library) and/or MPFR (multi-precision floating-point library) 
is not correctly working, e.g. you might use a different library version 
at run time than you compiled against. The problem could be either f951 
-> MPFR or MFPR -> GMP. Or it could be something different. In any case, 
the failure happens very early in the f951 when the some variables are 
initialized - which is before the parser even has started.


Tobias


I tried a small hello world program and it was also hanging. I tried to gdb it 
and here is the backtrace. My current revision is at r198424. My previous 
revision was at r198143 and I believe things were working fine there.

Here is the test program:

PRINT *, 'Hello, world!'
END

Here is the back trace:
(gdb) bt
#0  0x00ece7f1 in __gmpn_mul_1 ()
#1  0x00ed540b in __gmpn_mul_basecase ()
#2  0x00ed3c2f in __gmpn_kara_mul_n ()
#3  0x00ed40df in __gmpn_kara_mul_n ()
#4  0x00ed4bd5 in __gmpn_toom3_mul_n ()
#5  0x00ed52ac in __gmpn_mul_n ()
#6  0x00ed011f in __gmpn_mul ()
#7  0x00edd4e4 in __gmpn_toom22_mul ()
#8  0x00eded73 in __gmpn_toom32_mul ()
#9  0x00ed0080 in __gmpn_mul ()
#10 0x00ec9cd3 in __gmpz_mul ()
#11 0x00ea2fb1 in S ()
#12 0x00ea2f95 in S ()
#13 0x00ea2f6b in S ()
#14 0x00ea2f95 in S ()
#15 0x00ea2f6b in S ()
#16 0x00ea2f6b in S ()
#17 0x00ea2f95 in S ()
#18 0x00ea2f6b in S ()
#19 0x00ea2f6b in S ()
#20 0x00ea326b in mpfr_const_log2_internal ()
#21 0x00eb98af in mpfr_cache ()
#22 0x00ea36eb in mpfr_log ()
#23 0x00eb3165 in mpfr_log10 ()
#24 0x0051d2af in gfc_arith_init_1() ()
#25 0x00576463 in gfc_init_1() ()
#26 0x005c5bb3 in gfc_init() ()
#27 0x0097d8b7 in toplev_main(int, char**) ()
#28 0x77644bc6 in __libc_start_main () from /lib64/libc.so.6
#29 0x0051bb41 in _start () at ../sysdeps/x86_64/elf/start.S:113


How am I supposed to verify gcc-4.8.0 download when you provide no .sig file?...

2013-04-29 Thread Scott Baldwin
Just downloaded 4.8.0 from one of your mirror sites listed at
[http://gcc.gnu.org/mirrors.html] and would like to verify the file with
GPG.

Your site says "The archives there will be signed by one of the following
GnuPG keys...", but I see no .sig/.asc file on the mirror sites (or in the
package itself), so how am I supposed to verify the file, exactly?

-Scott



RE: Fortran Compiler Hangs

2013-04-29 Thread Iyer, Balaji V

> -Original Message-
> From: Tobias Burnus [mailto:bur...@net-b.de]
> Sent: Monday, April 29, 2013 3:47 PM
> To: Iyer, Balaji V
> Cc: 'gcc@gcc.gnu.org'
> Subject: Re: Fortran Compiler Hangs
> 
> Hello Iyer,
> 
> Iyer, Balaji V wrote:
> > The fortran compiler  (f951) seem to hang even for a simple hello world
> program in GCC. This is causing the whole gcc build process to hang at the
> following line:
> >
> > checking for x86_64-unknown-linux-gnu-gfortran...
> > /export/users/gcc-svn/b-cilkplus-gcc/./gcc/gfortran
> 
> First question: Do you use the trunk or some branch? From your email, I'd
> assume that you use the trunk, but "b-cilkplus-gcc" rather implies that you 
> are
> using some branch.

Hi Tobias,
I found this issue when I updated my cilkplus branch with trunk. Then, 
I went to the same revision in the trunk and the same issue was there also.

> 
> 
> Looking at the backtrace, it seems as if your GMP (GNU Multiprecision 
> [integer]
> Library) and/or MPFR (multi-precision floating-point library) is not correctly
> working, e.g. you might use a different library version at run time than you
> compiled against. The problem could be either f951
> -> MPFR or MFPR -> GMP. Or it could be something different. In any case,
> the failure happens very early in the f951 when the some variables are 
> initialized
> - which is before the parser even has started.

I downloaded the MPFR, MPC and GMP libraries using 
./contrib/download_prerequisites script. I am still having the same issue. I 
tried simple programs on cc1 and cc1plus and it seem to work OK.

Thanks,

Balaji V. Iyer.

> 
> Tobias
> 
> > I tried a small hello world program and it was also hanging. I tried to gdb 
> > it and
> here is the backtrace. My current revision is at r198424. My previous revision
> was at r198143 and I believe things were working fine there.
> >
> > Here is the test program:
> >
> > PRINT *, 'Hello, world!'
> > END
> >
> > Here is the back trace:
> > (gdb) bt
> > #0  0x00ece7f1 in __gmpn_mul_1 ()
> > #1  0x00ed540b in __gmpn_mul_basecase ()
> > #2  0x00ed3c2f in __gmpn_kara_mul_n ()
> > #3  0x00ed40df in __gmpn_kara_mul_n ()
> > #4  0x00ed4bd5 in __gmpn_toom3_mul_n ()
> > #5  0x00ed52ac in __gmpn_mul_n ()
> > #6  0x00ed011f in __gmpn_mul ()
> > #7  0x00edd4e4 in __gmpn_toom22_mul ()
> > #8  0x00eded73 in __gmpn_toom32_mul ()
> > #9  0x00ed0080 in __gmpn_mul ()
> > #10 0x00ec9cd3 in __gmpz_mul ()
> > #11 0x00ea2fb1 in S ()
> > #12 0x00ea2f95 in S ()
> > #13 0x00ea2f6b in S ()
> > #14 0x00ea2f95 in S ()
> > #15 0x00ea2f6b in S ()
> > #16 0x00ea2f6b in S ()
> > #17 0x00ea2f95 in S ()
> > #18 0x00ea2f6b in S ()
> > #19 0x00ea2f6b in S ()
> > #20 0x00ea326b in mpfr_const_log2_internal ()
> > #21 0x00eb98af in mpfr_cache ()
> > #22 0x00ea36eb in mpfr_log ()
> > #23 0x00eb3165 in mpfr_log10 ()
> > #24 0x0051d2af in gfc_arith_init_1() ()
> > #25 0x00576463 in gfc_init_1() ()
> > #26 0x005c5bb3 in gfc_init() ()
> > #27 0x0097d8b7 in toplev_main(int, char**) ()
> > #28 0x77644bc6 in __libc_start_main () from /lib64/libc.so.6
> > #29 0x0051bb41 in _start () at
> > ../sysdeps/x86_64/elf/start.S:113


gcc-4.8.0: march=amdfam10 vs march=native on a k10

2013-04-29 Thread James Cloos
On a box where amdfam10 is the native arch, 4.8 #defines two symbols
with march=native which it does not with march=amdfam10:


:; gcc-4.8.0 -march=amdfam10 -E -dM - /tmp/amdfam10
:; gcc-4.8.0 -march=native -E -dM - /tmp/native
:; diff -U0 /tmp/amdfam10 /tmp/native 
--- /tmp/amdfam10   2013-04-29 18:07:22.435553711 -0400
+++ /tmp/native 2013-04-29 18:07:14.987605897 -0400
@@ -76,0 +77 @@
+#define __FXSR__ 1
@@ -156,0 +158 @@
+#define __PRFCHW__ 1


Should -march=amdfam10 then also set -mfxsr and -mprfchw?

-JimC
-- 
James Cloos  OpenPGP: 1024D/ED7DAEA6


Re: How am I supposed to verify gcc-4.8.0 download when you provide no .sig file?...

2013-04-29 Thread Tobias Burnus

Am 29.04.2013 22:14, schrieb Scott Baldwin:

Just downloaded 4.8.0 from one of your mirror sites listed at
[http://gcc.gnu.org/mirrors.html] and would like to verify the file with
GPG.

Your site says "The archives there will be signed by one of the following
GnuPG keys...", but I see no .sig/.asc file on the mirror sites (or in the
package itself), so how am I supposed to verify the file, exactly?


Interestingly, the .sig files are only on the GNU server, e.g.
  http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/
but not on the GCC server, e.g.
  ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.0/

As the latter is used by the mirrors, it is also not available on the 
mirrors.


Tobias


RE: How am I supposed to verify gcc-4.8.0 download when you provide no .sig file?...

2013-04-29 Thread Scott Baldwin
I was able to verify it with the .sig from gnu.org ftp, along with the info
at http://ftp.gnu.org/ about where to obtain the gnu-keyring.gpg file.

A suggestion... In addition to making sure the .sig is copied to your
mirrors, I recommend including the gnu-keyring.gpg info (from
http://ftp.gnu.org) at http://gcc.gnu.org/mirrors.html instead of just
saying "The archives on these mirrors will be signed by one of the following
GnuPG keys: ..." and listing the fingerprints (but not providing the actual
keys).

One more thing... 4.8.0 was signed with an expired key:

$ gpg --verify --keyring ./gnu-keyring.gpg ./gcc-4.8.0.tar.gz.sig
gpg: Signature made Fri 22 Mar 2013 08:32:29 AM CDT using DSA key ID
C3C45C06
gpg: Good signature from "Jakub Jelinek "
gpg: Note: This key has expired!
Primary key fingerprint: 33C2 35A3 4C46 AA3F FB29  3709 A328 C3A2
C3C4 5C06

Also, I am about to submit a bug ("internal compiler error") I found in
4.8.0/4.8.1, which of course clang has no problem with.


-Original Message-
From: Tobias Burnus [mailto:bur...@net-b.de] 
Sent: Monday, April 29, 2013 5:25 PM
To: Scott Baldwin
Cc: gcc@gcc.gnu.org
Subject: Re: How am I supposed to verify gcc-4.8.0 download when you provide
no .sig file?...

Am 29.04.2013 22:14, schrieb Scott Baldwin:
> Just downloaded 4.8.0 from one of your mirror sites listed at 
> [http://gcc.gnu.org/mirrors.html] and would like to verify the file 
> with GPG.
>
> Your site says "The archives there will be signed by one of the 
> following GnuPG keys...", but I see no .sig/.asc file on the mirror 
> sites (or in the package itself), so how am I supposed to verify the file,
exactly?

Interestingly, the .sig files are only on the GNU server, e.g.
   http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/
but not on the GCC server, e.g.
   ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.0/

As the latter is used by the mirrors, it is also not available on the
mirrors.

Tobias



Re: GSoC openMP task scheduling Advice

2013-04-29 Thread guray.ozen
Dear All,

I'm trying to speed up the OpenMP implementation in GCC and Intel
compiler. I'm working on multisort because i thought it has too much
branches and i applied tree model task. I used Paraver and Extrae to
profile program After that, I executed them on a machine Minotauro
supercomputer in top500 with Intel Xeon E5649 E5649 (6-Core, each core
has 2 threads) a 2.53 GHz.

The following report shows the OpenMP in GCC scheduling vs Intel C Compiler
https://github.com/grypp/gcc-gsoc-taskscheduler/raw/master/report.pdf

And Here is my omp code
https://github.com/grypp/gcc-gsoc-taskscheduler/blob/master/multisort-omp.c

I thought gcc tasks/threads waiting too much on the idle than intel
compiler's threads.


In addition to I tried to profiling nanos task scheduler with
mercurium compiler. I used 3 scheduler types in nanos.  These're
respectively
-Work-First (WF)
-Breadth-First (BF)
-Cilk (CILK)

I run this program on computer has 12 processors. The following image
shows the trace of schedulers:
https://raw.github.com/grypp/gcc-gsoc-taskscheduler/master/nns.png

And Here is my ompss code
https://github.com/grypp/gcc-gsoc-taskscheduler/blob/master/multisort-ompss-tree.c

In addition to i got speed up interestingly breadth-first more than others.
Texecution times:
-Work-First (WF):  ~0.5
-Breadth-First (BF): ~0.22
-Cilk (CILK): ~0.49

I also read this mail
"http://gcc.gnu.org/ml/gcc/2011-04/msg00040.html";. I suppose lazy task
creatation algorithm was implemented on gcc. I do not know. I wonder?


Lazy task creation algorithm may good. But task scheduling is not
good. Currently, I'm planning to change task scheduling algorithm with
BF.
But i am not sure it's good or not. In addition to i'll ask some idea
related task scheduling my professor who is the main writer papers
that gave you and is director of the barcelona supercomputer center.

Are there any advice your?

Regards,
Güray Özen
Polytechnic University of Catalonia



2013/4/26 guray.ozen :
> Hi,
>
> I'm MSc High-Performance Computing student at Polytechnic University
> of Catalonia(BarcelonaTech). I'm interesting openmp task scheduling
> optimization or openmp 3.1 facility taskyield.
>
> @For Task scheduling
> I'm using mercurium compiler already at my university because the
> compiler was developed by my university. In fact i'm working on
> openACC integration at mercurium. However i haven't enough knowledge
> nanos scheduler.
>
> I read 3 articles that you recommend related task scheduling. Cilk and
> work-first scheduling algorithms makes sense for me with cut-off
> mechanism. I suppose cut-off mechanism will decide on run-time.
>
> Now I'm trying to understand which task scheduler is better in some
> cases at nanos scheduler
> (https://pm.bsc.es/projects/nanox/wiki/UserManual/Schedule). I'll
> analyze result with PARAVER profiling tool.
>
> However i am not sure for this topics. Should i develop a new
> task-scheduler? otherwise should I optimize existing scheduler?
>
>
> King regards,
>
>
> Güray Özen
> Polytechnic University of Catalonia