From: Rick K. <rk...@nc...> - 2005-01-08 18:17:39
|
Hello again, I'll try to combine information about your two reports with testsuite output (thank you for including) into one reply. There are several things going on here. Regarding building PerfSuite with Intel compilers: you're correct that the inline assembly in the timing routines (and, on x86/x86-64, the processor detection routines) will cause it to choke. The solution to this is to build PerfSuite with gcc but to cause the Intel Fortran/C calling convention to be used through the variable F77. In other words, PerfSuite itself should always be built with gcc, but that doesn't restrict its use with other compilers. There's very little computation done by PerfSuite, so any speed differences on IA-64 with icc/gcc don't really matter (that's not the case, of course with the application code!). So all you should have to do is remove "CC=icc" and "CXX=icpc" from your configure line, but retain "F77=ifort", in order to pick up the ifort/C calling convention. At NCSA, we typically build dual builds of PerfSuite to handle both g77 and Intel compilers, with the Intel libraries installed in $PREFIX/lib/intel. Regarding the other test case failures: these, I believe, are due to the version of PAPI you're using, which appears to be 2.3.4.3. There have been a number of changes in PAPI, and the most recent version (3.0.7) has many fixes to problems that existed before. In fact, just yesterday a problem was identified and fixed that caused incorrect results (failures) on Altix/Itanium 2. My experience has been that the two problem spots in PAPI 2 have been a) multiplexing and b) pthreads. Again, the PAPI development team has made numerous improvements in PAPI to address these spots and so the best thing to do is to upgrade to PAPI 3.0.7 from the UTK/ICL web site. You might even want to wait for 3.0.8 since changes like the one yesterday are probably still only in the PAPI CVS tree. I hope these suggestions help - please let me know if problems still persist, and thanks for the very complete problem report! Rick On Fri, 7 Jan 2005, Constantinos Evangelinos wrote: > On an IA-64 system running RedHat EL AS 3, with a patched 2.4.21 kernel.org > kernel (with the perfmon and SCORE patches) and PAPI 2.4.3.4 build with the > Intel compiler (v. 8.1), configuring Perfsuite with the Intel C/C++ compiler > (icc -no-gcc -cxxlib-gcc) fails when building timer.c because of and tricks > to use gcc in libtool only for timers.c fall flat on their face later on... > > Perfsuite was configured as: > > MPICPPFLAGS="-I/usr/local/pkg-ia64/mpich-vmi/mpich-vmi-1.2.5/intel/include" > CC=icc CFLAGS=-O2 CXX=icpc CXXFLAGS=-O2 F77=ifort FFLAGS=-O2 > PTHREAD_LIBS=-lpthread ./configure > --with-tdom=/usr/local/pkg-ia64/tdom/tdom-0.8.1 > --with-papi=/usr/local/pkg-ia64/papi/papi-2.3.4.3 --enable-tests --enable-mpi > --prefix=/usr/local/pkg-ia64/perfsuite/perfsuite-0.6.1rc1/papi2 > > The error is as follows: > icc -DHAVE_CONFIG_H -I. -I. -I../.. -O2 -MT timers.lo -MD -MP -MF > .deps/timers.Tpo -c timers.c -fPIC -DPIC -o .libs/timers.o > timers.c(315): error: asm statements not supported in this environment > rdtscll(tmp); > ^ > > timers.c(315): error: expected a ")" > rdtscll(tmp); > ^ > > and reconfiguring with icc -no-gcc -cxxlib-gcc etc. does not solve the > problem. > > |