PAPI from CVS and CUDA 4.1 : runtime error

Open discussion of PAPI.

PAPI from CVS and CUDA 4.1 : runtime error

Postby pkestene » Fri Jan 06, 2012 11:09 am

Hello,

I just wanted to report an error I get when I try to run the PAPI CUDA component test Helloword, that was built using PAPI from CVS and using the newest CUDA toolkit 4.1

I have 2 machines (both under Ubuntu 11.04) and I managed to make the Papi/CUDA component running only when using CUDA toolkit 4.0; here are the differences between the 2 machines:

- machine 1: driver 270.41.19; toolkit 4.0, PAPI 4.2:
everything is working well; example in src/components/cuda/testHelloworld output is:
Code: Select all
DEVICE USED: GeForce GT 430 (0)
PAPI_VERSION     :    4      2       0
Name PAPI_FP_OPS --- Code: 80000066
END: Hello World!
       10892          --> PAPI_FP_OPS

in fact I can also build Tau, and everything is fine.

- machine 2: driver 285.05.23 (needed to install toolkit 4.1), CUDA toolkit 4.1 and PAPI-CVS (needed to build against cuda 4.1)
CUDA component helloworld is not working; here is the output
Code: Select all
DEVICE USED: GeForce GTX 560 Ti (0)
PAPI_VERSION     :    4      2       0
Name PAPI_FP_OPS --- Code: 80000066
PAPI_add_events failed
PAPI_start failed
END: Hello World!
PAPI_stop failed
           0        --> PAPI_FP_OPS


So it fails when calling 'PAPI_add_events';

On machine 2, I have also tried to run the same test, but build from PAPI-4.2 using cuda toolkit 4.0, and it fails the same way; so I wonder if it could be related to Nvidia driver ?
I would like to know what are the configurations (Nvidia driver, etc) that are known to make PAPI-CVS + CUDA 4.1 working together.

Best regards,

Pierre Kestener.
pkestene
 
Posts: 2
Joined: Fri Jan 06, 2012 10:32 am

Re: PAPI from CVS and CUDA 4.1 : runtime error

Postby jagode00 » Fri Jan 06, 2012 12:19 pm

Pierre,

Note that you are not using the CUDA component on either machine. In order to use the CUDA component for the HelloWorld! example, you will need to replace the event name PAPI_FP_OPS with a native CUDA event name for your particular CUDA device. Run papi_native_avail to see the list of events that's available for the CUDA device on your machine. I would tupically use a CUDA event that counts the number of instructions executed (the name should be something like e.g. CUDA.Tesla_S2050.domain_a.inst_executed).

See comment in HelloWorld.cu:
/* REPLACE THE EVENT NAME 'PAPI_FP_OPS' WITH A CUDA EVENT
FOR THE CUDA DEVICE YOU ARE RUNNING ON.
RUN papi_native_avail to get a list of CUDA events that are
supported on your machine */


Also, what does configure print when you configure the CUDA component on your machine 2? Can you please provide the output?

I would also need the configure output of PAPI in order to find out what's going on.

THanks,
heike.
jagode00
 
Posts: 28
Joined: Tue Aug 25, 2009 2:12 pm

Re: PAPI from CVS and CUDA 4.1 : runtime error

Postby pkestene » Fri Jan 06, 2012 12:58 pm

Thanks for your quick answer.

If I put a valid CUDA event, everything is OK with CUPTI 4.1.
I'm sorry for not having checked that before posting !

Code: Select all
DEVICE USED: GeForce GTX 560 Ti (0)
PAPI_VERSION     :    4      2       0
Name CUDA.GeForce_GTX_560_Ti.domain_a.inst_issued --- Code: 4400003c
END: Hello World!
          13        --> CUDA.GeForce_GTX_560_Ti.domain_a.inst_issued
pkestene
 
Posts: 2
Joined: Fri Jan 06, 2012 10:32 am

Re: PAPI from CVS and CUDA 4.1 : runtime error

Postby jagode00 » Fri Jan 06, 2012 2:24 pm

Great! Glad it works now.
This number sounds about right for the Hello World! example since we use 1 thread per character to "un-mangle" the output.
Thanks,
heike.
jagode00
 
Posts: 28
Joined: Tue Aug 25, 2009 2:12 pm


Return to General discussion

Who is online

Users browsing this forum: Google [Bot] and 1 guest