I'm having some difficulty getting the supercomputer to run my netlogo model. I'm attempting to follow the advice given here and here. But no luck. I think it's not finding some of the needed jars? The entirety of the v5.3.1 folder is located at:
/users/PAS1038/xxmyusernamexx/netlogo/netlogo-5.3.1/
and I've added the rnd
extension in the app/
folder.
This is my submission script:
#PBS -N testjob
#PBS -l walltime=00:30:00
#PBS -l nodes=1:ppn=1
#PBS -j oe
cd /users/PAS1038/xxmyusernamexx/netlogo/netlogo-5.3.1/
java -Xmx1024m -Dfile.encoding=UTF-8 -cp /users/PAS1038/xxmyusernamexx/netlogo/netlogo-5.3.1/app/NetLogo.jar \
org.nlogo.headless.Main \
--model /users/PAS1038/xxmyusername/netlogo/netlogo-5.3.1/MyModel.nlogo \
--experiment test \
--table testoutput.csv \
--threads 8
but it is giving me the following error:
java.lang.IllegalStateException: Can't find extension: profiler/profiler.jar
at org.nlogo.workspace.ExtensionManager.resolvePathAsURL(ExtensionManager.java:315)
at org.nlogo.workspace.ExtensionManager.importExtension(ExtensionManager.java:153)
at org.nlogo.compiler.StructureParser.parseImport(StructureParser.scala:459)
at org.nlogo.compiler.StructureParser.parse(StructureParser.scala:196)
at org.nlogo.compiler.CompilerMain$.compile(CompilerMain.scala:25)
at org.nlogo.compiler.Compiler$.compileProgram(Compiler.scala:28)
at org.nlogo.headless.HeadlessModelOpener.openFromMap(HeadlessModelOpener.scala:53)
at org.nlogo.headless.HeadlessWorkspace.openString(HeadlessWorkspace.scala:531)
at org.nlogo.headless.HeadlessWorkspace.open(HeadlessWorkspace.scala:513)
at org.nlogo.headless.Main$.newWorkspace$1(Main.scala:19)
at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
at org.nlogo.lab.Lab$$anonfun$1.apply(Lab.scala:33)
at org.nlogo.lab.Lab$$anonfun$1.apply(Lab.scala:33)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
at scala.collection.immutable.Range.foreach(Range.scala:78)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
at scala.collection.immutable.Range.map(Range.scala:46)
at org.nlogo.lab.Lab.run(Lab.scala:33)
at org.nlogo.headless.Main$.runExperiment(Main.scala:24)
at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
at scala.Option.foreach(Option.scala:197)
at org.nlogo.headless.Main$.main(Main.scala:14)
at org.nlogo.headless.Main.main(Main.scala)
Exception in thread "main" Can't find extension: profiler at position 165 in
at org.nlogo.api.ErrorSource.signalError(ErrorSource.scala:12)
at org.nlogo.workspace.ExtensionManager.importExtension(ExtensionManager.java:162)
at org.nlogo.compiler.StructureParser.parseImport(StructureParser.scala:459)
at org.nlogo.compiler.StructureParser.parse(StructureParser.scala:196)
at org.nlogo.compiler.CompilerMain$.compile(CompilerMain.scala:25)
at org.nlogo.compiler.Compiler$.compileProgram(Compiler.scala:28)
at org.nlogo.headless.HeadlessModelOpener.openFromMap(HeadlessModelOpener.scala:53)
at org.nlogo.headless.HeadlessWorkspace.openString(HeadlessWorkspace.scala:531)
at org.nlogo.headless.HeadlessWorkspace.open(HeadlessWorkspace.scala:513)
at org.nlogo.headless.Main$.newWorkspace$1(Main.scala:19)
at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
at org.nlogo.lab.Lab$$anonfun$1.apply(Lab.scala:33)
at org.nlogo.lab.Lab$$anonfun$1.apply(Lab.scala:33)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
at scala.collection.immutable.Range.foreach(Range.scala:78)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
at scala.collection.immutable.Range.map(Range.scala:46)
at org.nlogo.lab.Lab.run(Lab.scala:33)
at org.nlogo.headless.Main$.runExperiment(Main.scala:24)
at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
at scala.Option.foreach(Option.scala:197)
at org.nlogo.headless.Main$.main(Main.scala:14)
at org.nlogo.headless.Main.main(Main.scala)
=>> PBS: job killed: walltime 1841 exceeded limit 1800
I've run down the issue's answer. I need to have all the input files, .nlogo file, and headless.sh in the App folder. When that is the case, using this code:
#PBS -N runone
#PBS -l walltime=12:00:00
#PBS -l nodes=1:ppn=8
module load java/1.8.0_60
cd /users/PAS1038/myusername/netlogo/netlogo-5.3.1/app
./netlogo-headless.sh --model modelname.nlogo --experiment g --table output.csv --threads 8
Note: ppn=X and --threads x will need to be changed to whatever the number of processors per node is.