2008年8月19日星期二

在64位机器上安装CMSSW

安装framework:
tcsh
setenv VO_CMS_SW_DIR $PWD
setenv SCRAM_ARCH slc4_ia32_gcc345
setenv LANG "C"
wget -O $VO_CMS_SW_DIR/bootstrap.sh http://cmsrep.cern.ch/cmssw/cms/bootstrap.sh
mkdir /tmp/$USER
sh -x $VO_CMS_SW_DIR/bootstrap.sh setup -path $VO_CMS_SW_DIR -arch $SCRAM_ARCH >& $VO_CMS_SW_DIR/bootstrap_$SCRAM_ARCH.log
source $VO_CMS_SW_DIR/$SCRAM_ARCH/external/apt/0.5.15lorg3.2-CMS19c/etc/profile.d/init.csh
apt-get update
apt-get install cms+cmssw+CMSSW_2_0_0_pre8
创建工作环境:
mkdir cms_work
source cmsset_default.sh
eval `scramv1 runtime -sh`
scramv1 list看一下可用的cmssw版本
scram p CMSSW CMSSW_x_y_z
go to the src directory and create a subdirectory and cd into it
Run mktsel
Edit the code
修改config/Buildfile.xml,参见https://twiki.cern.ch/twiki/bin/view/CMS/HamburgWikiComputingLocal#Compiling_CMSSW_with_the_slc3_Ar
Compile using scram b(之前需要先修改buildfile添加一些依赖关系,比如root)
Add gSystem->Load("/FULL/path/to/libNameOfYourSelector.so") to your rootlogon.C
in ROOT, connect to PROOF and then run chain->SetProof(); chain->Process("NameOfYourSelector")

2008年8月3日星期日

安装MPICH以及Lattice QCD测试环境

A: 我的笔记本,32位,fedora9,一个双核cpu B: DESY的测试机器hpbl1 64位 SL5 2个4核cpu


1.安装MPICH,我基本是按照这上面做的
http://hi.baidu.com/motioo/blog/item/a2a73bd02b2bd08da0ec9cc8.html

2.从这里下载BenchMZ.tar.gz,照着readme的说法往下做
http://www-zeuthen.desy.de/~yangsuli/

3.Make中遇到的问题:

/bin/mpicc不存在: 设置环境变量MPIR_HOME

cc1: 错误:无法识别的命令行选项“-fno-force-mem” -fno-force-mem这个选项在gcc4.3已经被remove了,在4.3下面no-op. 在fc下重新装了一个gcc3.4.6
配置选项:../configure --prefix=/usr/local/gcc34 --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk
这是DESY机器gcc的标准配置,我只是改了prefix,另外把--host=x86_64_redhat_linux删掉了

check1.c:1: error: CPU you selected does not support x86-64 instruction set
check1.c:1: error: -malign-double makes no sense in the 64bit mode
Makefile里指定了只有32位机器才能用的编译选项...i586啥的...没啥说的,只能改
但是到底怎么改,必须有一个统一的说法。 还有就是天知道源代码里有没有针对32位机器的优化...

4. 执行过程中遇到的问题
Actual CPU 和 NPROC数目不符....他把CPU GRID的规模指定在源代码里了...(include/global.h)
在我自己的笔记本上是先用mpirun -n 32虚拟了一个32core的环境...估计还得改原代码...sigh

TODO:
查查互联网上有人做lattice QCD benchmarking的结果,这老兄写的BenchMZ也太不靠谱了...
看看他打的这个包跟人家真正给的做计算的代码有哪些差别,跟supervisor讨论一个合理的编译flag出来