写点什么

技术大神破解苹果 M1 MacBook Air 挖矿,性能却被吊打了

  • 2021-03-01
  • 本文字数:2692 字

    阅读完需:约 9 分钟

技术大神破解苹果M1 MacBook Air 挖矿,性能却被吊打了

苹果 M1 MacBook Air 可以用来挖矿了,挖矿效率如何?


如何用 M1 MacBook Air 挖矿


显卡供不应求,NVIDIA 限制挖矿功能,矿工们只好另寻挖矿装备。


近日,软件开发者 Yifan Gu(顾一凡)找到了在 M1 MacBook Air 中实现以太坊挖矿的方法,并在 GitHub 上开源了:


https://github.com/gyf304/ethminer-m1



在 M1 上挖矿


在 M1 Mac 上的挖矿性能怎么样呢?


首先是运行现成的 ethminer,出现了以下错误:



显然,Apple GPU 没有在 ethminer 中列入白名单。不过这应该很容易解决。相关行在中 libethash-cl/CLMiner.cpp,我将 Apple GPU 添加到了白名单中,“假装”它是英特尔 GPU。


然后,boost 将无法编译,因为它正试图使用-fcoalesce-templates 参数进行编译,而该参数在最新的 clang 版本中并不存在。所以我必须将 boost 更新到最新版本,并修复相关的 asio 代码,因为 ethminer 使用的是弃用的 asio api。


我还需要将 OpenSSL 升级到最新版本,以使其支持 darwin + arm64。


一切都编译好之后。结果如下:




按照顾一凡的实验,M1 MBA 挖矿效率一般,仅为 2MH/s,功耗大约 17~20 瓦。


比起 NVIDIA 的 CMP 专用矿芯,日收益 0.14 美元左右,还不到 1 块钱人民币。



与独立显卡所提供的性能相比,这些数字显得有些相形见绌。特别是,可能他们已经针对挖矿场景进行了优化,即使是英伟达最弱的加密货币挖掘处理器也拥有 26 MH/s 的哈希率。



如上图所看到的,M1 也不能与以太坊的游戏 GPU 散列率相提并论。当然,这一差异归结于英伟达的显卡有更高的功耗预算,如果将八核设计扩展到更大的设备,具有更强的计算能力,很难判断苹果的 GPU 架构会如何。有报道称,苹果正在研发 128 核的 GPU 来取代 AMD 的显卡,因此,我们可能不用等太久就能找到答案。


顾一凡不是第一个应用 M1 CPU 尝试挖矿的人。去年 12 月,XMRig 开发人员们就用 M1 Mac 挖门罗币。


XMRig 利用带有新 M1 ARM 处理器的新 Mac mini,以 3.725 kh / s 的峰值开采了一整夜,在免缴电费的情况下,获得的利润很微薄。与专业矿机相比,该方案似乎也只适合小白。


英特尔等芯片巨头纷纷入局挖矿芯片


过去几年间,随着比特币价格猛涨,市场对挖矿芯片的需求上升,众多芯片巨头纷纷入局挖矿芯片,到虚拟货币领域掘金。


2018 年年末,Intel 开发出全新的挖矿芯片,并声称将比标准的专用集成电路(ASIC)挖矿技术更进一步。此举引发了业界热议,成为芯片巨头入局挖矿芯片领域的标志性事件,同时也促进了虚拟货币市场的进一步火热。


Intel 入局引发业界热议,其实英伟达、台积电、华硕、AMD 等芯片巨头都早已是领域内玩家。


2017 年 12 月,华硕推出了首款专业矿板——B250 Mining Expert“矿长”,挖矿主板支持 19 卡同开,主打超耐久性和稳定性。华硕还为其开发了采矿 BIOS 模式,有大量 CSM 丰富配置可自定义。


2018 年 7 月,AMD 在接受采访时声称,专门用于挖矿的 APU 处理器即将发售,而且在不远的将来。而后 AMD 的 5600XT 和 5700XT 成为市场上最后欢迎的挖矿显卡之一。


今年 2 月 18 日,英伟达宣布,将发布一系列专门用于开采加密货币的芯片处理器。英伟达的新型芯片系列命名为 CMP(Cryptocurrency Mining Processor),专用于以太币的开采。英伟达表示,第一批 CMP 显卡将于今年三月份发售,但具体定价尚未公布。


2 月 24 日,英伟达公布了最新一个财政年度(截至今年 1 月底)的财报,数据显示,英伟达在该财年收入 167 亿美元,同比上升 53%,其中游戏 GPU 销售在四季度增长超出市场预期。英伟达 CFO Colette Kress 估计,第四季度中有 1 亿-3 亿美元的销售额来自于“矿工”。


搭载 M1 的 Mac 办公体验如何


M1 芯片的发布备受关注,除了挖矿之外,搭载 M1 的 Mac 办公体验如何呢?



苹果公司正式发布 M1 处理器是在 2020 年 11 月。截至当年底,苹果总计推出三款搭载 M1 芯片的产品,即 MacBook Air、13 英寸 MacBook Pro 和 Mac Mini。这些设备在基准性能与电池续航等方面均广受好评。


公众号“MacTalk”号主,资深开发者池老师测评后给了一个客观的测评结果(测试机型为 MacBook Pro 13.3 寸 M1 芯片):


1、超强的续航功能,20 个小时真不是吹的。我周二出差,断断续续用了三天没充电,现在还有 45%。这一点终于让我拿着 Mac 出差的时候不用担心电量了,非常的踏实。


2、这个冬天,M1 非常冷,我正常使用这款电脑的时候,M1 永远冰冷和安静,像一个高傲的姑娘,无论你做点啥,都冷冷的看着你,冷酷,默然不语。


3、之前 Mac Book 接外部显示器的时候,屏幕总会抖动,我的 16 寸在长时间熄屏后,外部显示器就点不亮了。M1 完全没有这些问题。接上,亮了,之前的 App 会自动平移到外接显示器里,断开,外接显示器里的 App 会顺滑的平移到 M1 的显示器里,没有任何闪烁。为什么接显示器要闪一下,也许是闪了太久的原因。


4、图像和视频处理确实很快,简直是惊人的快。具备强悍的机器学习能力,这些对专业用户非常友好。


5、屏幕永不止息,开盖即亮,一如 iPhone 和 iPad。这个感受非常的,每次你打开电脑的时候,无一刻等待,直接指纹识别进入电脑处理工作,屏幕就像从来没有灭过。


6、日常的 App 兼容度非常好,如果不是原生的 ARM 架构 App,M1 会通过 Rosetta 2 来转译启动,第一次会慢一点,后面就感觉不到什么了。苹果自己的原生 App,比如 XCode、Safari 等,应该是做了优化,打开和使用都快如闪电。


不过,因为这款笔记本内存只有 16 G,如果你打开的 App 足够多的话,比如几十款。我因为一直用 64 G 内存,打开 App 基本不关,App 开多了会耗尽内存,这个导致的问题是系统切换的时候会有卡顿。这个问题也很好解决,比如加内存就够了。可惜的是,M1 13 寸顶配就是 16G 的。


7、第一次,你能直接在 macOS 上使用 iPhone 和 iPad App,这是个新的起点,一种融合的趋势跃然纸上,想一下 iOS App Store 上海量的应用,还是很让人期待的。不过,我用了微信读书、极客时间、豆瓣等 App,各有各的问题,字体、交互、排版和架构,都有很多需要迭代的地方,无论是 macOS 还是 iOS App 的技术架构,都需要持续完善,目前使用体验并不好。


8、M1 对后台的研发人员,没有那么友好,比如 Homebrew,想用的话,需要装两套:


1、arch -x86_64 /bin/bash -c


2、$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)


这是 x86 的,还得来一套原生的,安装系统服务的时候,有的只支持 x86,有的已经可以支持 Arm 了,需要试一下才能决定用什么方式安装。


比如 Docker 和虚拟机等,在 M1 上运行都会有各种各样的问题,Multipass 也不能用了。不过,迁移需要时间,一切都会好起来的。至少常用的 IDE 使用起来都没有问题,或者问题可以解决。


参考链接:


https://blog.yifangu.com/2021/02/26/mining-ethereum-on-a-m1-mac-gpu/


https://www.tomshardware.com/news/apple-m1-chip-mining-ethereum/


2021-03-01 16:596247
用户头像

发布了 74 篇内容, 共 28.5 次阅读, 收获喜欢 83 次。

关注

评论 1 条评论

发布
用户头像
Homebrew现在已经出了3.0.0版本,官方已经支持m1芯片了。详细参见:https://brew.sh/2021/02/05/homebrew-3.0.0/

望作者及时更新。
2021-03-07 20:59
回复
没有更多了
发现更多内容

好代码和坏代码

博文视点Broadview

vulnhub靶场解题笔记——THE PLANETS:EARTH

L0kt4r

渗透测试

后端开发【一大波干货知识】tcp/ip定时器与滑动窗口详解

Linux服务器开发

网络协议 TCP/IP 后端开发 Linux服务器开发 C++后台开发

使用APICloud开发多端短视频应用

YonBuilder低代码开发平台

前端开发 APP开发 APICloud 多端开发 小程序开发

浅谈Vue开发小程序

Speedoooo

小程序 Vue 开发框架 小程序容器

一场由TiCDC异常引发的GC不干活导致的Tikv硬盘使用问题

TiDB 社区干货传送门

图文并茂|彻底搞懂零拷贝(Zero-Copy)技术

简说Linux内核

内存管理 Linux内核 进程管理 嵌入式开发 设备驱动

百度程序员开发避坑指南(前端篇)

百度Geek说

前端

实例解析网络编程中的另类内存泄漏

华为云开发者联盟

TCP 网络编程 网络 压力测试 内存泄漏

厉害!我带的实习生仅用四步就整合好SpringSecurity+JWT实现登录认证!

沉默王二

Java

资产设备信息管理系统的功能

低代码小观

资产管理 CRM 企业管理系统 CRM系统 企业设备管理

多场景实现供应链可视化,小家电产业出海焕发新活力

数商云

产业数字化 供应链 供应链系统

硅谷区块链公司Espresso Systems因涉嫌知识产权盗窃被起诉

西柚子

使用混合云平台企业,怎样才能做好运维?

行云管家

私有云 混合云 多云管理 云管平台

为什么要做网站SEO优化?

源字节1号

SEO优化

CentOS8安装erlang 和 RabbitMQ

阿Q说代码

4月月更 RabbitMQ安装 erlang安装

pip:带你认识一个 Python 开发工作流程中的重要工具

华为云开发者联盟

Python 项目管理 pip 依赖关系 包管理器

TASKCTL-调度监控常见问题

敏捷调度TASKCTL

kettle 分布式任务调度 ETL任务 ETL系统

活动预告 | 对话ACE:Oracle停服俄罗斯,国产数据库未来发展

OceanBase 数据库

oceanbase

王者荣耀商城异地多活架构设计

阿卷

架构实战营

解读加密市场13种NFT类型

CECBC

"三高"Mysql - Mysql备份概览

懒时小窝

MySQL 高可用 MySQL 数据库

如何为网站建立一个FAQ页面?

小炮

FAQ

局部变量是线程安全的,原因是什么?

华为云开发者联盟

线程 高并发 变量 线程安全 局部变量

做网工还是运维好?小白求解!

行云管家

云计算 运维 网络 IT运维

新手指南,带你启航:如何给OpenMLDB社区贡献代码

第四范式开发者社区

机器学习 数据库 开源 开源社区

fastposter v2.7.0 发布 电商海报编辑器

物有本末

海报 fastposter 海报生成器 海报编辑器 主图编辑器

jackson学习之二:jackson-core

程序员欣宸

4月月更

基于 KubeVela 的机器学习实践

阿里巴巴云原生

实践GoF的设计模式:单例模式

华为云开发者联盟

程序设计 设计模式 单例模式 GoF 共享实例

眼见为实,看看MySQL中的隐藏列!

码农参上

MVCC MySQL 数据库 4月月更

技术大神破解苹果M1 MacBook Air 挖矿,性能却被吊打了_AI&大模型_刘燕_InfoQ精选文章