我尝试在命令行中运行nvvp来分析cuda代码

nvvp ./my_app


但是,我得到以下错误

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.


我了解问题是Java无法分配足够的堆来运行应用程序。根据我在SO(以及Internet上的其他位置)上阅读的有关此问题的信息,我尝试关注

java -Xmx128m nvvp ./myapp


它不能解决我的问题,我得到以下消息

Exception in thread "main" java.lang.NoClassDefFoundError: nvvp
Caused by: java.lang.ClassNotFoundException: nvvp
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
Could not find the main class: nvvp. Program will exit.

最佳答案

这是在我的情况下起作用的

setenv _JAVA_OPTIONS“ -Xms512m -Xmx1024m”

但是,_JAVA_OPTIONS在不同的系统上似乎可以有多个名称,因此在使用前先找到正确的名称。选择正确的变量后显示以下内容

nvvp ./cb_dgemm_prof
Picked up _JAVA_OPTIONS: -Xms512m -Xmx1024m


如果变量设置不正确,您可能看不到上面的行。

10-07 12:52