Page 1 of 1

PAPI on AIX

PostPosted: Wed Sep 30, 2009 10:02 am
by Martyn
Hi all,

I'm using papi on AIX 5.3 (power 6), though I'm far from an AIX expert. I'm building papi
with a simple configure line:

./configure --prefix=$HOME/tools/papi --with-makefile=aix-power6-64bit --with-debug=yes

and get;
Code: Select all
make test                                                             
         cd ctests; make CC="xlc" CC_R="xlc_r" CFLAGS="-I.. -g -DSTATIC_PERFMON_EVENTS_TABLE -DDEBUG -I/include -qmaxmem=-1 -qarch=pwr6 -qtune=pwr6 -qlanglvl=extended  -q64 -qenum=4 -DNO_VARARG_MACRO -D_AIX -D_POWER6 -DNEED_FFSLL -DARCH_EVTS=\"power6_events.h\"  -DSTATIC_PERFMON_EVENTS_TABLE" SMPCFLGS="-qsmp" OMPCFLGS="-qsmp=omp" TOPTFLAGS="" NOOPT="" LDFLAGS=" -L/lib -lpmapi " LIBRARY=../libpapi64.a serial forkexec_tests overflow_tests profile_tests multiplex_and_pthreads smp omp
Target "serial" is up to date.
Target "forkexec_tests" is up to date.
Target "overflow_tests" is up to date.
Target "profile_tests" is up to date.
Target "multiplex_and_pthreads" is up to date.
Target "smp" is up to date.
Target "omp" is up to date.
         ctests/zero
make: The signal code from the last command is 11.


Stop.

The error is at 411 of aix.c . copying from pminfo.procname
Code: Select all
(dbx) print pminfo
(maxpmcs = 6, maxevents = 0x09001000a0745c20, list_events = 0x09001000a0745c40, thresholdmult = 1, proc_name = warning: Unable to access address 0x4000000000 from core
(invalid char ptr (0x0000004000000000)), hthresholdmult = 1)


before I start digging, is this anything anyone else has seen?

Martyn

Re: PAPI on AIX

PostPosted: Wed Sep 30, 2009 12:31 pm
by jagode00
I cannot reproduce this error with the latest PAPI version 3.7.0 from cvs. What version are you using? Can you try the following configure line on your Power6 with AIX for me?:
$ make clobber
$ ./configure --prefix=$HOME/tools/papi CC=xlc CFLAGS=-q64 CPP="xlc -E" CPPFLAGS=-q64 --with-bitmode=64

Please let me know what you get.
Thanks,
heike.

Re: PAPI on AIX

PostPosted: Wed Sep 30, 2009 1:27 pm
by Martyn
Hi Thanks!

That invocation works. The "--with-makefile=aix-power6-64bit" method doesn't (it looks like it gets structures like pm_info_t wrong). Very roughly the difference I see is that the --with-makefile compile doesn't
set PMINIT = -DPM_INITIALIZE which I think explains the wrong struct problem.

It also doesn't set -q64 either, which it should, but my environment was providing that anyway.

Cheers, Martyn

Re: PAPI on AIX

PostPosted: Wed Sep 30, 2009 1:47 pm
by Martyn
Is still see a few errors in the test suite (not sure of their relevance, or whether they are covered by the power6 oddity notes....):

Code: Select all
second.c                                 FAILED   
Line # 98                                         
Error: PAPI_TOT_CYC                           

multiplex1_pthreads.c                    FAILED         
Line # 221         

byte_profile.c                           FAILED
Line # 88                                     
Error: No information in buffers       

     multiplex1.c                             FAILED
Line # 193                                     
Error in PAPI_add_event: PAPI_ECNFLCT         

thrspecific.c                            FAILED
Line # 105                                     
Error: data.num != 5                 

profile_pthreads.c                       FAILED
Line # 93                                     
Error: No information in buffers               

overflow_pthreads.c                      FAILED
Line # 177                                     
Error in not enough overflows: PAPI_EMISC     

second.F                                 FAILED
Line # 283                                   
Error calculating: PAPI_TOT_CYC           

Re: PAPI on AIX

PostPosted: Fri Oct 02, 2009 4:11 pm
by jagode00
Again, we are compiling PAPI-3-7-0 (tested both, the release version and most current CVS version) on a Power6 with AIX 5.3 and cannot reproduce this list of errors that you are getting from the test suite. What PAPI version are you using?

Thanks,
heike.