problem building R-patched on x86-64 with PGI 6.1

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

problem building R-patched on x86-64 with PGI 6.1

Liaw, Andy
Dear R-devel,

[I'm not sure if this is appropriate for R-devel.  If not, I'm more than
happy to move it to R-help.]

As those of you who saw my post on R-help know, I've been trying to build
R-patched on a dual Opteron box running Scyld Beowulf, using the PGI 6.1
compilers.  The build went fine, but I couldn't get it to pass make
check-all.  Jennifer Lai, who reported success with PGI 6.0 previously,
seems to have the same problem with 6.1.  Here are the particulars:

Since R requires IEEE754 conformance, the flag to use for PGI is -Kieee.
(BTW, configure still insist on sticking in -mieee-fp, which generates a
warning.)  With that flag, the build runs into trouble with the first
example in ?optim.  Running it by hand gives me:

> optim(c(-1.2,1), fr, control=list(trace=6))
  Nelder-Mead direct search function minimizer
function value for initial parameters = 24.200000
  Scaled convergence tolerance is 3.60608e-07
Stepsize computed as 0.120000
BUILD              3 24.200000 7.095296
REFLECTION         5 15.080000 4.541696
REFLECTION         7 7.095296 4.456256
[...]
HI-REDUCTION     191 0.000002 0.000000
LO-REDUCTION     193 0.000001 0.000000

and the process just hangs (until ctrl-z and kill -9).

If I build R without the -Kieee flag, make check-all fails at arith-true.R,
in particular, the following:

> pretty(pi, n = 10) - 2:5
[1] -2.220446e-16 -4.440892e-16 -8.881784e-16 -8.881784e-16

whereas the build with the -Kieee flag gives:

> pretty(pi, n = 10) - 2:5
[1] 0 0 0 0

and can pass the arith-true.R test.

The configuration is as follows:

export PG_HOME=/usr/pgi/linux86-64/6.1
~/Rbuild/R-patched/configure \
     CC=pgcc \
     CFLAGS="-g -Kieee" \
     CPPFLAGS="-I$PG_HOME/include -I$PG_HOME/include/CC" \
     CPICFLAGS=-fpic \
     F77=pgf95 \
     FFLAGS="-g -Kieee"\
     FPICFLAGS=-fpic \
     CXX=pgCC \
     CXXFLAGS="-g -Kieee" \
     CXXPICFLAGS=-fpic \
     SHLIB_CXXLDFLAGS=-shared \
     SHLIB_LDFLAGS=-shared \
     LDFLAGS="-L$PG_HOME/libso -L/usr/lib64 -L/usr/X11R6/lib64" \
     --without-tcltk \
     --with-blas="-L/usr/pgi/linux86-64/6.1/libso -lacml"

[The pgf95 (or pgf90) is needed for linking against ACML to work.  This
should be unrelated as optim is in C.]

I'd very much appreciate any pointers.

Best,
Andy


Andy Liaw, PhD
Biometrics Research    PO Box 2000 RY33-300
Merck Research Labs        Rahway, NJ 07065
andy_liaw(a)merck.com          732-594-0820

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: problem building R-patched on x86-64 with PGI 6.1

Brian Ripley
On Fri, 10 Mar 2006, Liaw, Andy wrote:

> Dear R-devel,
>
> [I'm not sure if this is appropriate for R-devel.  If not, I'm more than
> happy to move it to R-help.]

It is certainly not appropriate to R-help: see the posting guide.

> As those of you who saw my post on R-help know, I've been trying to build
> R-patched on a dual Opteron box running Scyld Beowulf, using the PGI 6.1
> compilers.  The build went fine, but I couldn't get it to pass make
> check-all.  Jennifer Lai, who reported success with PGI 6.0 previously,
> seems to have the same problem with 6.1.  Here are the particulars:
>
> Since R requires IEEE754 conformance, the flag to use for PGI is -Kieee.
> (BTW, configure still insist on sticking in -mieee-fp, which generates a
> warning.)  With that flag, the build runs into trouble with the first
> example in ?optim.  Running it by hand gives me:

Well, configure insists on doing so because we were told it was correct.
(Will change.)  Is -Kieee always correct for PG?
Looking at

http://www.amd.com/us-en/assets/content_type/DownloadableAssets/dwamd_PGI_nov603.pdf

suggests you might want to try -pc64 -Kieee.

>> optim(c(-1.2,1), fr, control=list(trace=6))
>  Nelder-Mead direct search function minimizer
> function value for initial parameters = 24.200000
>  Scaled convergence tolerance is 3.60608e-07
> Stepsize computed as 0.120000
> BUILD              3 24.200000 7.095296
> REFLECTION         5 15.080000 4.541696
> REFLECTION         7 7.095296 4.456256
> [...]
> HI-REDUCTION     191 0.000002 0.000000
> LO-REDUCTION     193 0.000001 0.000000
>
> and the process just hangs (until ctrl-z and kill -9).

This could well be a problem with extended precision: I'll see if I can
spot anything.

> If I build R without the -Kieee flag, make check-all fails at arith-true.R,
> in particular, the following:
>
>> pretty(pi, n = 10) - 2:5
> [1] -2.220446e-16 -4.440892e-16 -8.881784e-16 -8.881784e-16
>
> whereas the build with the -Kieee flag gives:
>
>> pretty(pi, n = 10) - 2:5
> [1] 0 0 0 0
>
> and can pass the arith-true.R test.
>
> The configuration is as follows:
>
> export PG_HOME=/usr/pgi/linux86-64/6.1
> ~/Rbuild/R-patched/configure \
>     CC=pgcc \
>     CFLAGS="-g -Kieee" \
>     CPPFLAGS="-I$PG_HOME/include -I$PG_HOME/include/CC" \
>     CPICFLAGS=-fpic \
>     F77=pgf95 \
>     FFLAGS="-g -Kieee"\
>     FPICFLAGS=-fpic \
>     CXX=pgCC \
>     CXXFLAGS="-g -Kieee" \
>     CXXPICFLAGS=-fpic \
>     SHLIB_CXXLDFLAGS=-shared \
>     SHLIB_LDFLAGS=-shared \
>     LDFLAGS="-L$PG_HOME/libso -L/usr/lib64 -L/usr/X11R6/lib64" \
>     --without-tcltk \
>     --with-blas="-L/usr/pgi/linux86-64/6.1/libso -lacml"
>
> [The pgf95 (or pgf90) is needed for linking against ACML to work.  This
> should be unrelated as optim is in C.]
>
> I'd very much appreciate any pointers.
>
> Best,
> Andy
>
>
> Andy Liaw, PhD
> Biometrics Research    PO Box 2000 RY33-300
> Merck Research Labs        Rahway, NJ 07065
> andy_liaw(a)merck.com          732-594-0820
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

--
Brian D. Ripley,                  [hidden email]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: problem building R-patched on x86-64 with PGI 6.1

Jennifer Lai
Prof Brian Ripley wrote:

>
>> As those of you who saw my post on R-help know, I've been trying to
>> build
>> R-patched on a dual Opteron box running Scyld Beowulf, using the PGI 6.1
>> compilers.  The build went fine, but I couldn't get it to pass make
>> check-all.  Jennifer Lai, who reported success with PGI 6.0 previously,
>> seems to have the same problem with 6.1.  Here are the particulars:
>>
>> Since R requires IEEE754 conformance, the flag to use for PGI is -Kieee.
>> (BTW, configure still insist on sticking in -mieee-fp, which generates a
>> warning.)  With that flag, the build runs into trouble with the first
>> example in ?optim.  Running it by hand gives me:
>
>
> Well, configure insists on doing so because we were told it was correct.
> (Will change.)  Is -Kieee always correct for PG?
> Looking at
>
> http://www.amd.com/us-en/assets/content_type/DownloadableAssets/dwamd_PGI_nov603.pdf 
>
>
> suggests you might want to try -pc64 -Kieee.
>
Thanks, Prof. Ripley! The optim example pass the sanity check with -pc64
-Kieee flag.
"make check" now fails at reg-tests-1.R


Regards,
Jennifer

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: problem building R-patched on x86-64 with PGI 6.1

Jennifer Lai

Jennifer Lai wrote:

> Prof Brian Ripley wrote:
>
>>
>>> As those of you who saw my post on R-help know, I've been trying to
>>> build
>>> R-patched on a dual Opteron box running Scyld Beowulf, using the PGI
>>> 6.1
>>> compilers.  The build went fine, but I couldn't get it to pass make
>>> check-all.  Jennifer Lai, who reported success with PGI 6.0 previously,
>>> seems to have the same problem with 6.1.  Here are the particulars:
>>>
>>> Since R requires IEEE754 conformance, the flag to use for PGI is
>>> -Kieee.
>>> (BTW, configure still insist on sticking in -mieee-fp, which
>>> generates a
>>> warning.)  With that flag, the build runs into trouble with the first
>>> example in ?optim.  Running it by hand gives me:
>>
>>
>>
>> Well, configure insists on doing so because we were told it was correct.
>> (Will change.)  Is -Kieee always correct for PG?
>> Looking at
>>
>> http://www.amd.com/us-en/assets/content_type/DownloadableAssets/dwamd_PGI_nov603.pdf 
>>
>>
>> suggests you might want to try -pc64 -Kieee.
>>
> Thanks, Prof. Ripley! The optim example pass the sanity check with
> -pc64 -Kieee flag.
> "make check" now fails at reg-tests-1.R
>
>
Actually the -pc64 didn't help. I forgot that at some point my
environment was configured to pick up PGI 6.0 compiler instead of PGI
6.1 (for testing purpose).
The optim example compiled with PGI 6.0, but not PGI 6.1.

Sorry for the confusion.

- Jennifer

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: problem building R-patched on x86-64 with PGI 6.1

Liaw, Andy
In reply to this post by Liaw, Andy
Thanks to Brian, I can now get PGI 6.1 to build R-devel
(2006-03-13 r37533) and pass make check-all, using the
config flags I showed in my original post.  I will try
to re-build with optimizing flags, and report back if I
run into problems there.

Best,
Andy


From: Jennifer Lai

>
> Jennifer Lai wrote:
>
> > Prof Brian Ripley wrote:
> >
> >>
> >>> As those of you who saw my post on R-help know, I've been
> trying to
> >>> build
> >>> R-patched on a dual Opteron box running Scyld Beowulf,
> using the PGI
> >>> 6.1
> >>> compilers.  The build went fine, but I couldn't get it to
> pass make
> >>> check-all.  Jennifer Lai, who reported success with PGI
> 6.0 previously,
> >>> seems to have the same problem with 6.1.  Here are the
> particulars:
> >>>
> >>> Since R requires IEEE754 conformance, the flag to use for PGI is
> >>> -Kieee.
> >>> (BTW, configure still insist on sticking in -mieee-fp, which
> >>> generates a
> >>> warning.)  With that flag, the build runs into trouble
> with the first
> >>> example in ?optim.  Running it by hand gives me:
> >>
> >>
> >>
> >> Well, configure insists on doing so because we were told it was
> >> correct. (Will change.)  Is -Kieee always correct for PG?
> Looking at
> >>
> >>
> http://www.amd.com/us-en/assets/content_type/DownloadableAssets/dwamd
> >> _PGI_nov603.pdf
> >>
> >>
> >> suggests you might want to try -pc64 -Kieee.
> >>
> > Thanks, Prof. Ripley! The optim example pass the sanity check with
> > -pc64 -Kieee flag.
> > "make check" now fails at reg-tests-1.R
> >
> >
> Actually the -pc64 didn't help. I forgot that at some point my
> environment was configured to pick up PGI 6.0 compiler instead of PGI
> 6.1 (for testing purpose).
> The optim example compiled with PGI 6.0, but not PGI 6.1.
>
> Sorry for the confusion.
>
> - Jennifer
>
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel