参与FAH项目,助力病毒药物研发
kenaide科技-三代
编辑于 2020年05月07日 15:03
收录于文集
共3篇

谈一谈

       2019年年末发生的新冠肺炎病毒考验了世界,我们国家应对及时,防控有力,全民配合,也有很多的人捐款捐物,帮助武汉,帮助我们国家,就比如说国内的有韩红领衔的明星团,还有很多企业和个人也在积极响应,纷纷出钱出力。

       在国内疫情期间,国外也有些公司或个人或组织对中国发起过捐助行动,比如美国惠氏公司捐了2700万元,通用电气捐了2000万元,雅培捐了1800万元,3M公司也捐助大量医用口罩和防护口罩,老铁巴基斯坦也捐了30万口罩、800套防护服、6800套防护手套,还有伊朗、韩国、日本等国家也伸出援手。

       我们战胜了疫情,在3月底国内疫情快速减轻,各地也在恢复正常的生产生活秩序。但是国外的情况就不一样了,先是欧洲的意大利、英国、瑞士、德国之间频频发生的物资截胡风波,再是亚洲的日本、印度、俄罗斯也相继进入备战,不过日本和印度的反应似乎有点迟钝,俄罗斯地方大,倒是能减少感染大流行。当国内势头转好,国外的疫情开始迅速蔓延,我们也是有恩报恩,十倍回赠,也有派医疗队远赴各地支持和帮助他们控制病毒的传播和治疗。

图2  全球疫情数据跟踪展示板

       远在大洋彼岸的特朗普这个时候还是不以为然,隔岸观火还不忘暗地里添油加醋,等到这把火烧到自己家里,还是一副“没什么大不了”的样子,这让美国人也是气得想揍他一顿。到了4月中旬,病毒在美肆无忌惮地传播,通过查看CSSE发布的 COVID-19 疫情动态面板(https://www.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6)的数据,美国现在累计突破百万大关,占全球确诊人数的33%,现有确诊80多万,占全球现有确诊人数的43%。前总统奥巴马也看不下去,挺身而出支持拜登竞选下届总统,甚至各州因为这疫情闹独立,脱离美国联邦的管制。前段时间比尔·盖茨也表态,指责特朗普不正视疫情发展,结果被某些人推上美国媒体热搜 “被逮捕”。我们政府也以中国的名义对美捐助了一些物资,东西给过去,美国似乎还有些不领情,退回了一波N95口罩,看来我们的合格品还是被高傲的美国弃嫌了。

       虽然美帝对我们很不友好,但我们是礼仪之邦,岂能怀小人之心乎?美国政府不管了,所以任务落在了各州长、各富豪和企业肩上,盖茨拿出1亿去做疫苗,所以,看着美国乱成一锅粥,我们也发善心了,马云捐了、华为捐了、就连北大也捐了,而我们普通民众也没什么好捐的,因为也捐不出来,捐了还可能麻烦一大堆,特别是我们穷三代,除了什么主板、显卡什么的一大堆,口罩只够自己用,零钱还得爸妈给。虽然貌似“雨吾无瓜”,但不能因为这个而对病痛和死亡无动于衷,尤其是经历过这样的事情的人,况且海外也有华人华侨,他们也算是我们的朋友,朋友有难,自是能帮则帮。

       大概两三周前,英伟达官网出了个封面,号召大家一起为新冠肺炎病毒寻找 “解药”,如今这个页面移到了主页AI新闻模块下。不过所谓的parabricks并不对普通人开放,所以我们只能选FAH,这是继挖矿之后,电脑硬件的又一次功能解锁:研发药物和疫苗。这个方案就被我们安排下来了,微星显卡部门也极力支持,为我们提供了2张RTX2080,3张RTX2070,并且可以使用持续数个月,我们也是计划在这场疫情结束前让它多做点“好事”,让这个平台24小时工作,到时再送回显卡,对于我们就是费点电(但这点电费又被落在物业身上,总感觉像是在犯罪)。

图3 NVIDIA 官网发布的新冠病毒研究信息

       好了,具体的做法会在下部分介绍,如果大家也想为疫情尽点心力,为疾病的治疗贡献一点电脑性能,可以略做参考,也可以加入中国团队编号:3213或者我们小队:263619

1.  基本介绍

       Folding @ home由斯坦福大学化学系的潘德小组(Pande Group)主持,于2000年10月1日正式启动。用于模拟蛋白质动力学,包括蛋白质折叠、误叠过程和涉及多种疾病的蛋白质运动。它是目前世界上最大的分布式计算项目,2007年被吉尼斯世界记录所承认。该项目也是AMD和NVIDIA等GPU厂商最早参与推进的分布式计算项目。

       蛋白质是一切生物的基础,就连最简单的生物也是有包裹RNA或DNA的蛋白质外壳的,蛋白质的组装过程是非常复杂的,堪称是世界上最先进最神奇的制造机器,因为它功能多样,效率奇高,种类繁多,在一切生物的生命活动中起着不可替代的作用。蛋白质的合成由遗传物质控制,对于有些生物,有些特定的蛋白质还会影响遗传物质的表达,比如逆转录过程必须的逆转录酶,这在病毒中很常见,偶尔也会出现在某些生物的生长阶段中。

图4 蛋白质四级结构

       人体所需的蛋白质由21种氨基酸经过一系列的脱水缩合形成肽链,再由肽链结合形成简单的立体多肽链,由多肽链再经过许多次的结合、折叠和弯曲形成具有生物功能的蛋白质,这过程至少要经过三级结构的变化,最复杂的是形成迷宫一般的四级立体结构。在形成蛋白质的过程中受到DNA的严格管控,但是DNA还有变异的时候,蛋白质也难保不会因此出现表达错误,虽然有些DNA片段不会表达出来或是具有一定的容错性,但一旦被表达出不同的蛋白质或者不表达目标蛋白质,这都会大大增加人体或其他生物罹患严重的疾病,诸如疯牛病、老年痴呆症、亨汀顿氏舞蹈症等等。

       在病毒学研究上,蛋白质也是研发病毒疫苗和药物的切入点,因为病毒要进入活细胞,首先要通过细胞膜,只有能和膜上的特异性受体结合的物质才被允许通过,并且在进入细胞表达出病毒蛋白质的时候,也会破坏细胞的正常功能,研究病毒的蛋白质结构能帮助研发工作者找到和相关药物结合的位置,或者是针对此点开发这样一类药物。

       Folding@home所研究的就是人类最基本的特定致病过程中蛋白质分子的折叠运动。原理在于求解任务目标分子中每一个原子在边界条件限制下由肽键和长程力等作用所导致的运动方程,进而达到实现模拟任务目标分子折叠运动的目的。每一个原子背后都有这若干个方程,每一个方程都可以转换成一组简单的向量指令。它把原子视为刚体去模拟蛋白质折叠,计算这些刚体之间的力学关系,它基于GROMACS计算引擎,是一个力学主导的分子动力学模拟,特点就在于支持大规模分布式计算。

       由于其高密度分子动力学计算原理,计算消耗的硬件资源是非常大的,在计算分子之间长程力的影响中,代码条件分支非常地多,这对GPU 着色器的灵活度的要求很高,需要流处理器去计算自由度时,具备更强大的调度和缓存能力。

       总之,这是个非常庞大的数据计算的研究项目,非一日之功能成的,虽然当下它已经冲到世界第一超算的位置,但是好像都不够它挥霍,可以用恐怖来形容了。

2.  加入

       假如你有这样一个意向,愿意为这个世界难题贡献一点额外的性能,可以按下面的流程做。

1)   下载软件

       客户端软件需要下载,但官网提供的是VMware的链接版,虚拟机版本到https://flings.vmware.com/vmware-appliance-for-folding-home 下载,但直装版比较难找,这里提供一下:https://download.foldingathome.org/releases/ ,beta是测试版,public是公开版,找到release下的fah-installer或者fahclient(免安装),最新的是v7.6.9,有centos、Debian、OSX、Ubuntu和Windows五个版本,,下载速度比较慢,用下载工具也要八九分钟。

       第二种是到中国分布式计算总站下载,版本是v7.5.1,提供Windows、Mac和Linux的版本,注意第一个大表不是FAH,第二个才是,链接为:https://equn.com/wiki/%E7%A8%8B%E5%BA%8F%E4%B8%8B%E8%BD%BD#Folding.40home_.E5.AE.A2.E6.88.B7.E7.AB.AF ,可以通过分流从百度云下载。同时也可以去中国分布式计算论坛

       第三种是到第三方网站下载,提供Windows、Mac、vmware和Linux(Debian、Mint、Ubuntu、Redhat、Centos、Fedora)v7.5.1版本链接为:https://www.fightingguys.cn/download.html

       第四种是去斯坦福大学分布式网络计算网站下载,不过版本比较旧,是v5.0.3,也有Windows、Mac、Linux三种系统版本,链接是:https://www.equn.com/folding/download.htm

       其他软件:

1.  FAHBench  http://fahbench.github.io/  FAHBench运行样本分子动力学计算,以对与生物物理学研究相关的GPU进行基准测试。FAHBench是官方的Folding @ Home基准,基准测试包括蛋白质的短分子动力学(MD)模拟。分子动力学模拟了每个原子如何随时间运动。分数表示计算机可以在给定的“真实”或“挂钟”时间单位中管理多少“虚拟”或模拟时间。

2.    Cuda-z  http://cuda-z.sourceforge.net/ 显示N卡的一些信息,如已安装CUDA 驱动程序和dll版本、GPU 核心功能、整数和浮点计算性能(如果具备GPU,则执行双精度运算。)、显存大小和带宽。

 2)   安装

图5 安装流程

       安装这里需要注意的是,快速安装会按照默认的文件路径、默认的开启方式安装,安装完成后,如果打开或者下次开机,软件就会在后台自动运行,如果你不想这样,请选自定义安装,然后选择手动启动。自定义安装时,数据文件夹不要和主安装目录放在一起,因为当你更新的时候可能会把数据也删除。

3)     设置

图6 修改属性

       控制台有两种,一种是web控制台,装上客户端,一启动就默认自动打开web控制台,但实际上打不开,去除方法是右键点击FAH客户端图标->属性->快捷方式->目标处,删除后面的--open-web-control点击应用和确定。在任务栏右下角隐藏处可以找到程序图标,左键打开菜单,点击Advanced进入高级选项。

图7 界面介绍

       另外在选项设置里,可以设置模拟仿真界面的分辨率、渲染模式(Space Filling空间填充、Ball And Stick球棍模型、Stick棍棒模型、Advanced Space Filling高级空间填充、Advanced Ball And Stick高级球棍模型 、Advanced Stick高级棍棒模型、Cartoon Space Filling简单空间填充、Cartoon Ball And Stick简单球棍模型)。Statslinks是自定义点击名字和队伍时打开的统计网站(没有作用),默认是FAH,Extreme Overclocking是一个超频网站(https://forums.extremeoverclocking.com/),Kakao Stats不清楚,[H]ard Folding这个有部分内容,但数据似乎更新不及时(https://folding.extremeoverclocking.com/),custom是自定义,用户界面是设置界面的皮肤效果。

图 8 选项设置

       虽然通常我们点击Fold开始折叠按钮,电脑就可以下载任务开始进行模拟工作,有时候我们在Status的进度条里看不到任何的动作,或者长时间的downlode或者Ready,并不代表没有工作,对于此点,我们可以切换到Log查看日志,就能发现一直是有动态的。

       不过如果你想在某个团队里干这件事情,这里还需要进行高级设置,这样我们能有一个唯一的名字,并能查看自己名下信息,查看自己的工作单元(一个单元对应一个物理核心),以及对这个团队的贡献率等等。设置是在左上角的Configure菜单中。    

a)    远程连接connection

图9 connection设置

       这个客户端连接可以被本地控制端或者是其他远程客户端连接,具体参考下面第四小节远程访问提供的链接,为了安全起见,远程设置建议设置密码。

b)    身份Identity

图10 Identity设置

       身份就是ID,主控制台第二栏显示的就是这个,这个和你的得分有关系,而得分的多少关乎你或你所在的团队位于一张为数100个的榜单的哪个位置,这个榜单是官方发布更新的,如果你没有设置,那么你只能去Anonymous这一组里查找自己电脑做了多少。设置页第一就是设置自己的名字(不能是汉字、空格,可以是数字,字母,符号)。

        第二是团队编号,这个可以是任何一个已有的团队,比如中国团队是3213,我们QSD的团队编号是263619,查看每月的100个队伍可以到:  https://stats.foldingathome.org/teams-monthly,当然你也可以自建团队,链接为:https://apps.foldingathome.org/team ,输入并记好自己团队的信息,包括Name团队名称(非中文, 使用“ 检查”来查看团队名称 是否已被使用)、Founder创建者、Email电子邮件、URL团队网址、Logo URL团队LOGO链接(需要上传到图床),Reset Code重置代码、两次密码。

图11 创建团队

       第三是获取通行码,通行码是唯一的,可以提高安全性,也能防止别人盗用,还能得到奖励分,增加排名。获取可以点击设置中该项下的蓝色字体链接或:https://apps.foldingathome.org/getpasskey ,输入你的名字和电子邮件,点击下方的Get Passkey获取,网站会自动发送通行码到你的邮箱。你需要把你的名字、通行码和你选择的队伍填上去,不然会把你获得分数捐给不记名的那一类。

图12 获取用户通行码

c)  Slots插槽

图13 插槽设置

       这其实就是你电脑的CPU或者是GPU。你可以在下面增加Add或者Remove或者Edit编辑。上面的CPU默认值是-1,代表所有可用线程,如果手动更改,不要超过最大线程,超过会有错误提示。

图14 增加插槽

图15 查看系统信息

       不过显卡这个怎么填写呢?特别是有多张显卡时,该怎么看呢?这个还是要去系统信息那里看显卡编号,上图是有4个GPU ,分别是RTX2070*2 RTX2080*2,其中呢总线编号36是CUDA 为2、OpenGL为2的RTX 2070,gpu编号为GPU 0、总线37是CUDA 为3、OpenGL为3的RTX 2070,GPU编号是GPU 1、总线44是CUDA 为1、OpenGL为1的RTX 2080,GPU编号为GPU 2、总线43是CUDA 为0、OpenGL为0的RTX 2080,GPU编号为 GPU 3。填写时,首先勾选右边GPU的选框,再依次对值入座,一般来说CUDA与OpenGL的值是一样的,但是如果选的值不一样也是可以的,但是在任务管理器查看性能的时候,就会显示其他的显卡占用要高些,设置完如果没有立刻显示出来,可能需要杀掉进程再重启客户端。

d)    远程访问

       这个和前面的连接设置相似, 不过这里增加了两个功能,第一是限制访问,相当于设置黑名单,第二是无密码访问,相当于白名单。这个是监控其他电脑上的客户端的运行情况的,如果你需要把其他电脑上的客户端统一到一个控制板上查看和控制,请参考分布式计算论坛的以下链接:http://www.equn.com/forum/thread-36666-1-1.html

e)    代理

图17 代理设置

       代理可以通过代理IP联网。

f)    Advanced 高级

       高级设置可以设置我们的这个客户端为什么项目工作,可以是Any任何项目、Alzheimer’s阿兹海默症、Cancer癌症、Huntington’s亨廷顿病和Parkinsons帕金森综合征。还可以设置优先级别,如果你的设备还有在为其他的分布式程序工作的话,可以提高优先级,这样,这个客户端可以优先使用资源,检查频率就是隔段时间保存一次工作,相当于定时保存吧,如果意外中止工作,那就从最后一次保存的地方继续做下去。电源选项是针对笔记本的,勾选这个对于依靠电池供电的笔记本来说是非常好的,因为这会很快耗光你仅存的那点电量。冗长是针对日志详细与否的,最高级别是级别5,这时会记录所有的内容。

g)    专业

图19 专家设置

       这部分相当于一种自定义的配置,想详细了解可以参考论坛。

3.  了解进度

       除了在控制台上的状态看到所进行的项目的情况外,有几个官方链接需要知道,你电脑所做的工作体现在他们后台的统计数据中。

1) FAH Web APP: https://apps.foldingathome.org/

这是所有官方网页公示的webapp链接的名单,

l  Team Editor可以修改/创建队伍 https://apps.foldingathome.org/team

l  Server Stats查看FAH服务器状态  https://apps.foldingathome.org/serverstats

l  WU Status 工作单元状态  https://apps.foldingathome.org/wu

l  Passkey Create or Retrieve获取Passkey https://apps.foldingathome.org/getpasskey

l  Recent CPUs 查看用户最近90天内的CPU https://apps.foldingathome.org/cpu

l  Bonus Status奖励分状况(需要提供用户名和通行码) https://apps.foldingathome.org/bonus

l  项目活动Project Summary (CPU : 13862 - 13863 - 14328 - 14329 - 14337 - 14528 to 14531 - 14572 - 14574 - 14576 - 14600 to 14602     GPU : 11741 to 11781是与新冠肺炎病毒研究有关的几个项目)https://apps.foldingathome.org/psummary

l  Project Description项目描述 https://apps.foldingathome.org/project

l  Project Contributors 项目贡献 https://apps.foldingathome.org/contributors

2)    团队排名:https://stats.foldingathome.org/teams-monthly

图20 队伍排名表

       这是每月都会发布的团队名次排名,点击团队名称,可以看到该团队的信息,包括团队编号、50天内活动的CPU 、得分、工作单元数、以及下面成员的贡献分数、工作单元数等内容。如果通过控制台第二栏的ID链接进入的,点击Total WUs还可以下载一张类似证书的图片。

图21 个人得分信息

图 22  个人贡献单元证

其他几个链接:

1.    FAH官网:https://foldingathome.org/

了解项目详情

2.    FAH支持论坛:https://foldingforum.org/index.php

讨论问题,解决问题,还有一些小插件和小工具软件

3.    中国分布式论坛:http://www.equn.com/forum/forum.php

里面有很多的教程和其他的分布式工程项目

4.    Foldit http://fold.it/

一个蛋白质折叠的小游戏,需要注册

4.  加入我们拿奖品

       对于加入我们QSD队伍: 263619,并投入到行动行列中的粉丝,欢迎加入qq群:878950760,群昵称请换成你的FAH用户名(很重要,关系到奖品发放),在我们这次活动结束后(2020-08-1号),分数前三名粉丝我们将分别提供微星MPG Z390 GAMING PRO CARBON AC主板一片、 MSI X470 GAMING PRO CARBON主板一片、XPG龙耀内存8GB(3200MHZ)内存2条。

方法总结:

1.根据电脑系统下载和安装对应版本的FAH客户端软件:https://download.foldingathome.org/releases/ 

2.想好用户名,再使用邮箱请求通行码:https://apps.foldingathome.org/getpasskey

3.在设置->Identity页的Name和Passkey分别输入第二步的用户名和通行码,在Team number处填写我们QSD队伍编号:263619,

4.把CPU和GPU加入计算槽,开始折叠

5.在主界面点击自己的ID或队伍查看数据