I should note that I also see the same “======== Warning: No CUDA application was profiled, exiting” error when attempting to profile the JCUDA examples which come with the library (specifically I have tried: JCudaVectorAdd and JCudaDriverTextureTest).
The error message did not look familiar to me - until I tried it out again
For quite a while I wanted to summarize the steps for running a JCuda application inside the Profiler in a short „HowTo“ (basically pointing out how to create the .BAT file and show it with one example). In fact, it was possible to profile JCuda applications with previous versions of the Visual Profiler! But obviously, NVIDIA changed something with version 5.0, and now it does not work any more. This is quite annoying and irritating - especially when considering that the Visual Profiler is an Eclipse application, written in Java!
However, I just tried to run the VectorAdd example with version 5.0, and it also printed this error message. Then I tried it again with the Profiler of version 4.2, and it worked properly -_-
(NOTE: If profiling is urgent/important and you want to downgrade to 4.2, consider that you’ll also need the appropriate JCuda 0.4.2 libraries. I’d not recommend to downgrade in general, maybe the problem can be solved differently).
I’ll try to have a closer look at this when I have a little bit more time. I’ll probably also ask at the NVIDIA forum about this change in behavior, and whether it might be possible to somehow get it running with version 5.0 of the Profiler as well.
BTW: A websearch for
„No CUDA application was profiled“
brings some results, but nothing helpful - in any case, people seem to encounter this error also on Linux and when using the Matlab bindings for CUDA, or when trying to profile OpenCL kernels - although the latter worked for me even with JOCL…
So unfortunately there has not been a response in the NVIDIA Forum yet… And it’s unlikely that there will be one.
I’ve read that the Profiler may be very picky concerning the resource allocation and release (e.g. that it may not generate any output when resources are not explicitly released before the application exits). I tried around a little with the samples, e.g. explicitly destroying the context before application exit etc, but did not find a solution yet. Additionally, the new Profiling API might have some influence there, but I have not yet read the documentation thoroughly, and still it’s only the vague hope that it might be possible to get it running. Maybe I can allocate some more time for further investigations, but of course I can’t specify a date (in fact, I can’t even promise that it will work at all…).