web-dev-qa-db-fra.com

Le protège-pile a peut-être été désactivé?

J'essaie d'exécuter le premier exemple dans la bibliothèque rootbeer, que vous pouvez trouver à partir de ici .

Le problème est que, même si j'ai suivi toutes leurs instructions, je reçois le message suivant lorsque j'essaie d'exécuter le bocal

root@ubuserver3:/home/ubuadmin/JavaJars/HelloWordGPU# Java -jar HelloWorldGPU.jar
OpenJDK Client VM warning: You have loaded library /usr/lib/libcuda.so.319.37 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Exception in thread "main" Java.lang.NullPointerException
        at org.trifort.rootbeer.runtime.Rootbeer.run(Rootbeer.Java:104)
        at ScalarMult.test(ScalarMult.Java:13)
        at Main.main(Main.Java:17)

Je ne suis pas une personne Linux, donc je ne comprends pas comment exécuter correctement cette commande. Je ne comprends pas non plus ce qu'ils entendent par ce message, car c'est la première fois que je suis en programmation GPU. Mais je sais que jouer avec le GPU avec de mauvaises commandes serait un problème.

16
PeakGen

Type: execstack --version pour vérifier si vous avez déjà installé execstack.

Si vous obtenez une commande introuvable, tapez: Sudo apt-get install execstack -y --force-yes

Tapez Sudo execstack -c <file> par exemple Sudo execstack -c /usr/lib/libcuda.so

10
absenthecon

1: Vérifiez la version de execstack à l'aide de la commande suivante pour trouver ou non execstack installé

execstack --version

2: Si execstack n'est pas installé, installez-le à l'aide de la commande suivante

Sudo apt-get install execstack -y --force-yes

3: Après une installation réussie, exécutez la commande suivante

Sudo execstack -c <filepath>

par exemple: Sudo execstack -c /usr/lib/libjpcap.so

3
Pranav V R

assurez-vous que vous n'exécutez pas jar 32 bits sur jvm 64 bits en premier

2
andrej

Assurez-vous que vous n'exécutez pas Java 32 bits. Si vous exécutez Java -d64, la version 32 bits affichera une erreur.

1
dhuie