我想在 headless 模式下使用 Repast Simphony 的批处理运行器,并使用展开的参数文件来避免使用 nxn 实验设置。我已设法使用控制台和参数文件创建一个 jar,但无法找到实际启动所创建的模型 jar 的方法,因为在使用自定义展开的参数文件时 -run 选项似乎无效。
有人对如何继续进行有一些建议吗?
最佳答案
目前,无法使用自定义 upf 并让 simphony 对 upf 进行分块并在不同的主机上分发和运行这些 block 。您可以使用 -u/--upf 参数将自定义 upf 包含在有效负载中,然后通过 slurm 或 PBS 调度程序在 HPC 系统上运行它。批处理运行入门文档中有相关说明。
这些 HPC 运行使用单独运行 upf 文件的某些 block 的脚本。这对您来说可能是一个有用的解决方法。
sed -n "$begin","$end"p "$paramFile" > localParamFile.txt
mkdir $instanceDir
cd $instanceDir
java -Xmx512m -cp "../lib/*" repast.simphony.batch.InstanceRunner \
-pxml ../scenario.rs/batch_params.xml \
-scenario ../scenario.rs \
-id $instance \
-pinput localParamFile.txt
这里的想法是,sed
用于对从 $begin 行开始到 $end 行结束的 upf 文件进行分块,并将其写入 localParamFile.txt
中。然后,InstanceRunner
启动,迭代该文件中的每一行,并使用每一行作为输入来执行模型运行。
您可以调整此设置并手动对自定义文件进行分块,然后运行 InstanceRunner。
关于repast-simphony - 就餐西蒙尼 : Using unrolled parameter files for batch runs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69973698/