作业2 无法逾越的鸿沟——CPU及其指令集(arm、x86、av
前段时间忙考核,所以进度与大家落下很多。
这周终于忙完,赶紧拾起来继续。
由于Biostar Handbook一书所涉猎甚广,远大于我平时工作所需。所以起初我想专门划分一台电脑用于该书学习。
所有实验类的操作,一开始想到的是Raspberry Pi。
找一台Pi 3 B,重新刷了系统,Linux Debian
按照书中的操作逐步进行
当进行到安装miniconda时遇到问题,提示系统并非64位
原来默认的是64位系统的安装文件,而我所装的系统应该是32位
于是将链接中的“_64”删去,就是32位了
重新安装
依然报错
这我就很纳闷了
于是google “Raspberry conda”相关信息,获知Raspberry的CPU是armv71指令集,应该下载相应的安装包
所以前往存放conda安装包的网站查看,发现果真有arm指令集对应的安装包
下载安装后,不报错了
继续往下运行
使用conda安装作者提供的工具列表
报错说无法找到要安装的包
再次google,“conda armv71”相关
发现conda维护者说对于arm指令集的工具支持较少,不是他们的重心,重心是x86指令集的,也就是biostar handbook作者采用的默认推荐
意思就是没有相关资源,这些只能自己一个个去官网下载咯
但我还是不信没有解决办法(最后我信了),去各个Raspberry Pi创客群问,有没有arm转x86的办法
那时候我以为arm和x86就像fastq转fasta这样简单的事
大神们的反馈是有办法,基于模拟器,但是这种指令集水平的转换会极大降低性能,这时候我才知道arm和x86是不同的CPU架构的指令集
那既然Raspberry Pi不能指望了,不如用x86CPU的单片机不就可以了吗
一顿google之后,锁定Inter 的 minnowboard
价格比Raspberry贵了近10倍
可是产量低,国内用的人也少,官网、淘宝、咸鱼有人卖
我几乎都要买了,作为双十一购物节给自己的礼物
这时候突然好奇自己的工作站是什么指令集呢?
于是查了一下CPU型号(Inter Xeon E5-1620 v4)对应的指令集:AVX,64-bit
这是啥?!
不是arm也不是x86
不会是假的吧
急忙google了一下,(完全陌生领域还是先看中文好了)“指令集”
发现AVX这货在其中之列
阅读几篇文章之后,知道这个AVX比x86还厉害,完善了一些不足
而且指令集这种东西主要分为两类,简单和复杂
复杂的一般性能高耗能高,简单的一般性能低耗能低
而Inter 的Atom处理器可以说是其中的怪胎,用复杂指令集追求低耗能
总之,看了几篇比较之后,虽然说不明白所以然,但结论就是,生物信息分析还是要用正经电脑,单片机还是用来做小智能设备,那才是它真正的用武之地
所以,也不买minnowboard了,省下的钱用来好好学英语
但至此问题依然没有解决
于是不再坚持一开始的专书专机原则
用我的工作站开始继续Biostar Handbook的环境配置
之前就有conda
下载作者的软件列表
sudo -s增加权限
运行下载
搞定