User since
2006-06-21
6
Artikel
BenutzerIn
Hallo!
Ich bin neu in Sachen paralleler Programmierung. Als Umgebung habe ich mir dazu PVM ausgesucht. Da ich lieber in Perl als C (wen wunderts?) programmiere, möchte ich über PVM Perl Programme auf den Cluster-Nodes starten - dazu dient der PVM Befehl SPAWN.
Beim Aufruf von C Programmen klappt es wunderbar. Perl Programme werden hingegen nicht erkennt und es kommt die Fehlermeldung, dass sie nicht vorhanden sind.
pvm> spawn hello_world.pl
spawn hello_world.pl
0 successful
No such file
pvm> spawn hello_world (C-Programm)
spawn hello_world
1 successful
t40009
pvm>
Beide Verzeichnisse liegen im selben Verzeichnis, daran kann es nicht scheitern. Das Perl Programm ist wie Ihr Euch denken sehr einfach (dient hier nur zu Testzwecken und ist nicht Ziel der Verteilung).
#!/usr/bin/perl -w
print("Hello World\n");
exit(0);
Ich wäre sehr dankbar, wenn jemand mit PVM Erfahrung hat und mir weiterhelfen kann.
Dank und Gruss
Dennis\n\n
<!--EDIT|dennis_boerger@gmx.de|1150907976-->
User since
2003-08-04
7321
Artikel
ModeratorIn
ich kenn die ganze umgebung nicht, aber musst du vielleicht sagen, dass du perl ebenutzen willst um das script zu starten?
also
spawn perl hello_world.pl
?
User since
2006-06-21
6
Artikel
BenutzerIn
Das hatte ich bereits versucht. Leider ohne Erfolg. Leider sind die Informationsquellen sehr rar in Bezug auf Perl ... die meisten Leute verwenden anscheinend C für PVM.
Komisch ist, dass die Datei erst gar nicht erkannt wird. Sie ist schliesslich nun mal da - abgesehen davon was drin steht. Sehr merkwürdig.\n\n
<!--EDIT|dennis_boerger@gmx.de|1150905987-->
User since
2003-11-28
3645
Artikel
ModeratorIn
Geht es denn, wenn du "spawn perl hello.pl" schreibst?
User since
2003-11-28
3645
Artikel
ModeratorIn
Gibt spawn überhaupt Kommandozeilenparameter weiter?
Es gibt ja einen Unterschied zwischen einem Perl-Programm und einem C-Programm: ersteres benötigt einen Interpreter (also Perl), letzteres ist alleine lauffähig. Vielleicht unterstützt deine Umgebung interpretierte Programme gar nicht.
User since
2006-06-21
6
Artikel
BenutzerIn
Das kann ich mir als Grund durchaus vorstellen.
Andererseits wird überall beschrieben, dass Perl als Programmiersprache möglich ist. Auch habe ich Code Schnipsel gefunden (allerdings in Präsentationen), wo der spawn Aufruf sich auf ein Perl Skript bezieht (also spawn hello_world.pl).
Auch bietet das Perl Modul Parallel::Pvm eine Spawn Funktion an. Mit der war ich allerdings auch erfolglos.\n\n
<!--EDIT|dennis_boerger@gmx.de|1150926328-->
User since
2003-08-04
2536
Artikel
ModeratorIn
hat das perlscript das ausführungsbit gesetzt?
User since
2006-06-21
6
Artikel
BenutzerIn
Vielen vielen Dank!!! Das war die Lösung. Da hätte ich auch selber drauf kommen können. Wie war das nochmal mit dem Wald und den Bäumen? ;)
Ich war schon mit einer C Version meiner Simulation angefangen. Endlich keine Pointer und sonstiges C Gedöhns mehr!