于是趁着天黑一路小跑去永和豆浆。天黑,冷飕飕的,什么都看不见。
要了糯米鸡和咸豆浆,觉得实在是太饿了,又加了一笼蒸饺。
糯米鸡和一盆豆浆很快就端了上来,也很快就吃完了。可是等到豆浆都要凉了,蒸饺却还没上来。
等到吃下去的东西都消化得差不多了,蒸饺终于端上来了。
从店里出来已经十二点半了,走回去估计大爷又要被我吵醒了。于是半路上决定去实验室睡。
ArmadilloCommander's Base 犰狳指挥基地
该离开的都走了,独自一人蒸馏着黑暗,直到让自己湮灭在无尽的黑暗中……
OS Type | Current TFLOPS* | Active CPUs | Total CPUs |
Windows | 243 | 255033 | 2349894 |
Mac OS X/PowerPC | 5 | 6582 | 123083 |
Mac OS X/Intel | 28 | 8872 | 72696 |
Linux | 45 | 26181 | 350540 |
ATI GPU | 993 | 9031 | 23771 |
NVIDIA GPU | 1753 | 15932 | 57854 |
PLAYSTATION®3 | 1553 | 55076 | 707720 |
Total | 4620 | 376707 | 3685558 |
我们可以计算一下X86处理器(我们假设几乎所有Windows系统都是基于X86构架的处理器)和GPU在进行这样的分子动力学计算时的平均效率:
X86平台计算效率:0.00102688 TFLOPS/CPU (其中Mac OS X/Intel平台达到了0.0031560 TFLOPS)
GPU平台计算效率:0.110003 TFLOPS(NVIDIA:0.110030 TFLOPS;ATI:0.109955 TFLOPS)
二者相差:107倍
这个数据是软件的计算核心反馈的真实数据,而非峰值或理论值。因此NVIDIA官方所声称的250倍性能应该并非虚言。根据个人经验,分子力学以及分子动力学中大量的矢量运算很可能是造成这种性能差异的主要原因。
最后说说Macintosh平台上的安装吧。推荐去http://www.stanford.edu/group/pandegroup/folding/release/FAH6.02-OSX-Intel-Console.tgz下载Console版本(http://www.stanford.edu/group/pandegroup/folding/console-userguide.html 有一份比较详细的参数说明),手动建立~/Library/Folding@home目录,将fah6和mpiexec解压缩至该目录下,然后:
Armadillo:Folding@home Armadillo$ cd ~/Library/Folding@home/
Armadillo:Folding@home Armadillo$ ./fah6 -configonly -smp
接下来根据自己需要进行一些设置。为了使fah6能够自动运行,我们需要将启动脚本加入launchd中:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>HOME</key>
<string>/Users/Armadillo</string>
</dict>
<key>Label</key>
<string>edu.stanford.folding.client</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/Users/Armadillo/Library/Folding@home/fah6</string>
<string>-smp</string>
<string>-verbosity</string>
<string>9</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>Folding@home client</string>
<key>Umask</key>
<integer>22</integer>
<key>UserName</key>
<string>Armadillo</string>
</dict>
</plist>
将上面这些文本保存为/Library/LaunchDaemons/Folding@home.plist,你也可以在ProgramArguments中加入更多参数,但是注意不得包含空格,分成两个string即可。接下来就可以启动FAH了:
launchctl load -w /Library/LaunchDaemons/Folding@home.plist
如果执行ps -ef|grep fh6以及ps -ef|grep FahCore能看到相应的进程就证明已经开始计算了。可以通过执行fah6 -queueinfo查看队列情况,在unitinfo.txt中查看计算进度,在FAHlog.txt中查看输出信息。相应的计算log在work文件夹下。