尝试在Xserve G5 Cluster上用Xgrid运行Gate
看Gate3.1.1的说明里有对Xgrid的支持,所以试一下。
先编译安装jobsplitter:
[pcsk795:gate_v3.1.0/Cluster_Tools/jobsplitter] zixiongc% make
Making dependency for file gjs.cc ...
Making dependency for file src/GateToPlatform.cc ...
Making dependency for file src/GateSplitManager.cc ...
Making dependency for file src/GateSeeder.cc ...
Making dependency for file src/GateMacfileParser.cc ...
Compiling GateMacfileParser.cc ...
src/GateMacfileParser.cc: In member function 'void GateMacfileParser::CleanAbort()':
src/GateMacfileParser.cc:105: warning: unused variable 'res'
Compiling GateSeeder.cc ...
Compiling GateSplitManager.cc ...
Compiling GateToPlatform.cc ...
Creating/replacing object files in ./tmp/Darwin-g++/gjs/libgjs.a ...
ar: creating archive ./tmp/Darwin-g++/gjs/libgjs.a
Compiling gjs.cc ...
warning: this program uses gets(), which is unsafe.
Using granular libraries ...
Linking gjs ...
... Done!
再编辑安装filemerger:
[pcsk795:gate_v3.1.0/Cluster_Tools/filemerger] zixiongc% make
creating object file for ./gjm
creating object file for src/GateMergeManager
src/GateMergeManager.cc: In member function 'bool GateMergeManager::FastMergeGate(std::string)':
src/GateMergeManager.cc:504: warning: unused variable 'maxtime'
src/GateMergeManager.cc: In member function 'bool GateMergeManager::MergeTree(std::string)':
src/GateMergeManager.cc:495: warning: control reaches end of non-void function
linking gjm
安装后的执行文件gjs在
/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/bin/Darwin-g++
gjm在
/Applications/gate_v3.1.0/Cluster_Tools/filemerger
在~/G4work下运行:
/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/bin/Darwin-g++/gjs -numberofsplits 5 -clusterplatform xgrid test.mac
ROOT output is enabled
ASCII output is enabled but no filename is given; using a default one
INTER output is disabled
LMF output is disabled
ECAT output enabled if ECAT + sinogram selected but no filename is given; using a default one
SINO output enabled if ECAT system selected but no filename is given; using a default one
Information : Random seed file $(GC_DOT_GATE_DIR)/seed(n).rndm
在 /Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/下出现
seed1.rndm seed2.rndm seed3.rndm seed4.rndm seed5.rndm test.split test1.mac test2.mac
test3.mac test4.mac test5.mac
其中
test1.mac最后两行:
/random/resetEngineFrom /Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/seed1.rndm
/gate/application/startDAQCluster 0 1 0 s
test2.mac最后两行:
/random/resetEngineFrom /Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/seed2.rndm
/gate/application/startDAQCluster 1 2 0 s
在当前目录~/G4work出现文件test.plist:
{
jobSpecification = {
applicationIdentifier = "com.apple.xgrid.cli";
inputFiles = {};
name = "Gate";
submissionIdentifier = abc;
taskSpecifications = {
0 = {arguments =(/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/test0.mac); command ="/Applications/gate_v3.1.0/bin/Darwin-g++/Gate"; };
1 = {arguments =(/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/test1.mac); command ="/Applications/gate_v3.1.0/bin/Darwin-g++/Gate"; };
2 = {arguments =(/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/test2.mac); command ="/Applications/gate_v3.1.0/bin/Darwin-g++/Gate"; };
3 = {arguments =(/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/test3.mac); command ="/Applications/gate_v3.1.0/bin/Darwin-g++/Gate"; };
4 = {arguments =(/Applications/gate_v3.1.0/Cluster_Tools/jobsplitter/dotGate/.Gate/test/test4.mac); command ="/Applications/gate_v3.1.0/bin/Darwin-g++/Gate"; };
};
};
}
接下去看如何让xgrid运行这样的任务了。。。
简单地用 xgrid -job batch test.plist 可以提交任务到xgrid controller,但是不能运行。。。
1 条评论:
请问用什么命令来运行clutter脚本?
我现在用jobsplitter产生出了如下几个文件:
my1.mac my3.mac my5.mac seed1.rndm seed3.rndm seed5.rndm
my2.mac my4.mac my.split seed2.rndm seed4.rndm
接下来如何运行呀,请指教。
还有您所提到的Xgrid平台是要后来自己安装的吗?
发表评论
订阅 博文评论 [Atom]
<< 主页