前言

压缩图的本质是大家都压缩了等于没有压缩,是内卷,但从个人角度出来,马上卷起来似乎才是最有利于当下的选择,所以不管是选择Bladebit、Gigahorse还是NoSSD,当下最重要的是行动起来!
P图亦或是挂图本身均是在不断变化发展的,本文主要依赖于群友分享与实践经验汇总而成,并非权威官方说明,如有更好的经验与想法,十分欢迎带上实测数据交流与共享,文字由良辰美景编写,内容仅供参考。

Gigahorse

基准绘图时间

参考数据来源

在Gigahorse早在2023年1月的时候已经进行了几轮的公开测试,以下是各网友各平台的测试结果;感兴趣的话可以自行查看:
Gigahorse V2.4 绘图速度统计表

基准时间

以下时间基于以下硬件条件

  • 单路CPU
  • 256GB及以上内存
  • PCIe3.0/4.0 x16 通道
  • PCIe3.0/4.0 主流 M.2/U.2 固态硬盘
显卡型号 PCIe3.0绘图时间(S) PCIe4.0绘图时间(S)
3060 160 160
3060ti 145 120
3070 140 100
3080 140 85
3080ti/3090 140 75

注1:半内存(128GB)的时间基本是全内存(256GB)的时间加上150秒,这里只是推测并非实测;
注2:10系20系的显卡,可以参照其理论游戏性能去推测大概的性能比,比如2080ti和3060ti游戏性能基本接近,但是由于cuda的版本低一些,所以其实际的性能就比3060ti再低一些(15%左右),以此类推
注3:AMD显卡目前也支持,但是实际效率更差,甚至还有驱动bug,如果不是利旧,请谨慎再谨慎考虑;
注4:针对一些专业矿卡如HX系列,需要注意PCIe带宽的问题,例如40HX可以通过魔改(补电容)的方式获得3.0 x16的PCIe带宽,但是比它更高级的90HX等均不能通过魔改的方式增加PCIe带宽,或者简答的理解为只有可以改成游戏的专业矿卡才有可能可以P图。
注5:基准时间中的配置 并非 推荐配置 ,原则上应该充分考虑自身已有硬件的基础,或是算力规模去选择最优配置,例如是3.0的平台或者4.0的平台,单卡或双卡

P图时间的影响因素

  • CPU
    可能存在问题的有
    1.CPU主频过低
    虽然GPU绘图基本不依赖CPU性能,但是如果CPU主频过低(例如2.2G)还是会影响整体时间的,所以尽量不要选择低主频的CPU例如Intel 带L的型号;
    2.平台CPU路数
    遵循以下原则:
    (1)能使用单路就不使用双路;
    (2)必须使用双路的情况,且单节点只有128G内存则务必确认NPS=0,或者单节点CPU配满256G内存并使用numactl指定numa节点;
    (3)不使用EPYC 7001系列,EPYC7001系列由于其架构原因(只有CCD没有IOD),他实际上等于一个4路的系统,导致的问题就是跨CCD之间内存性能较差,EPYC 7002/3系列由于架构不同(即CCD加IOD的架构)完全没有此类问题。

  • 内存
    1.最低需要使用4通道内存;
    2.内存温度过高,特别是DDR3
    3.针对多GPU P图至少需要保证每个GPU能分配到4个通道的内存,即建议e5v2/3/4使用单路双卡的方案;
    4.在内存通道路达标的前提下,不需要太过于追求内存频率,例如DDR3 1600 DDR4 2133都可以完全满足单卡的带宽需求;

  • PCIe带宽
    重中之中,要求只有一条
    务必确认显卡运行的带宽是PCIe 3.0/4.0 x16。

  • 固态硬盘
    1.缓外写入太低,有的M.2的固态缓外写入极其低,避免此类固态即可,一般存在于消费级主流盘,比如各类低端M.2,企业级基本无此问题;
    2.固态温度太高,特别是企业级U.2
    3.在实际中固态硬盘一般都会承担P图和分发的任务,所以对于一些低端的固态会出现很明显的瓶颈,表现为前面2 3张图的时间正常,图一多以后就直线下降。
    注:比如遇到绘图中P1时间远小于P3时间,那基本可以判断是固态写入这一环节有问题;

  • 操作系统
    1.优先选择Ubuntu、Rocky linux等系统,特别注意不要选择Centos,因为Centos没有最新驱动支持;
    2.使用Windows的时候注意Windows版本,具体版本没有推荐(建议咨询群友);

可参考基准的硬件平台

仅仅提供参考,非推荐,请结合自身情况选择适合自己的硬件,切勿盲目相信

P图问题的排查思路

单图时间负偏离基准时间较多

一般情况下认为偏离基准值10%左右是可接受的,或是可以进行BIOS或者硬件微调进行调优的;
如果超过了这个范围,一般认为是某个硬件或设置存在错误;

检查系统硬件

确认硬件平台满足基本运行环境
(1)单路CPU/双路CPU设置了正确的numa值或双路系统使用numactl指定了单节点;
(2)内存是否跑在4通道及以上;
可以参考主板说明书,是否内存的位置都安装队了,特别是对于有双DIMM的主板尤其重要;
此处说的双DIMM指的是一个通道支持2条内存插槽,一般主板厂商会以颜色区分同一类的DIMM,比如蓝色和黑色、白色和黑色等等;
(3)显卡是否运行在PCIe 3.0/4.0 x16上;
在Windows系统上可以使用GPU-z进行确认,在有负载的情况下显卡运行的最高PCIe带宽;

在Linux系统下可以使用nvtop进行确认;
(4)固态硬盘是否能满足最低要求;
常见于国产低端固态,在同时读写之后降速明显;
(5)系统硬件是否有过热,内存、显卡、固态均会因为过热造成性能下降(降频或限制写速);

检查系统软件环境

(1)操作系统有条件建议使用linux进行测试,确定非系统原因,如果使用Windows系统,根据群友反馈,建议使用20H2的版本;
(2)确定显卡驱动是否正常,建议安装最新驱动;

分发问题的排查思路

在确认单图测试达标后,在具体分发过程中P图时间大幅延长,如原先为140秒,分发后变成200秒,可以粗略的认为分发对于P图的影响值应该在20%以内;高于这个值可能是某方面有故障;

  1. 确认固态硬盘性能达标
    可以试用iotop(linux)、windows任务管理器等查看SSD的读取写入速度是否大幅下降
  2. CPU占用率是否过高
    如果发现CPU占用率超过100%建议降低同时分发的数量
  3. 硬件是否过热

挂图(收割)问题的排查思路

收割机初始化环境检查

1.已经安装了VC库
https://aka.ms/vs/17/release/vc_redist.x64.exe
2.已经安装了官方最新驱动
NVIDIA官方驱动
3.建议删除旧的chia文件,即.chia文件夹

常见故障

Windows下收割机报错
目前已知情报,在一些硬件不达标的情况下,或硬盘IO错误等原因,导致gigahorse的日志生产大量报错,当报错累计到一定数量后,收割机程序会直接报错退出,由于是后台运行,所以如果不关注日志,或者硬件负载是无法发现的,目前暂时没有特别好的解决思路和办法,只能尽量去避免!
可能发生问题的情况
1.使用e5v2或其他类似较早平台;
2.内存小于32GB或单通道,根据经验,如果挂机平台还有进行网络传图的情况32GB内存也会存在掉线情况,建议有掉线情况后再加大内存尝试;
3.硬件故障如硬盘或者直通卡故障;

收割机提交证明超时
一般来说超时在1%是可以接受的,如果特别多的情况可以按照以下顺序排查
1.确定是否显卡负载过高(也可能是PCIe通道不全、内存通道不全等原因引起)
2.是否硬盘有坏道

Chia客户端白屏

1.根据Discord反馈Chia的1.7以上版本的(GUI)客户端有概率导致 钱包服务 报错,导致白屏,此类问题需要通过重启服务来解决;
2.如果收割机、全节点等服务报错也会导致白屏,请根据Windows下收割机报错来排查;

强烈建议

不管是计划SOLO还是挂矿池都应当切到矿池挂机24小时确保算力稳定且正常!!!
例如
这里有21926个K32文件
24小时获得的积分是 202769
24小时理论积分应该是219260,即一个K32文件每24小时应该可以获得10点的积分
基本可以理解为该算力积分在可以接受的范围之内,在脸好或者脸黑的情况上下波动10%甚至20%

题外话--是否应该把算力挂满

图1初筛数量

图2证明时间

一般来说初筛的数量基本是比较稳定的,证明时间会因为初筛的数量有所波动,而且基本是符合正态分布的。所以想要避免极端情况,那应该还是需要保持一定的算力富余量。即不要把显卡挂的太满,太接近理论值


这里可以很明显的看到有一次的过了初筛的图增加了很多,导致那一下的扫图时间达到20秒,如果越接近满载,这种想象就会越频繁,可能体现到具体现象就是算力的下降。

硬件基础要求

基于CPU或者GPU,对于系统的基本要求主要为RAM和VRAM,如下:
CPU

GPU

以上基础条件如果达不到,则无法收割,即使是挂一张图也无法收割,特别注意!!!
例如:使用1660S挂了K32 C9的图,由于K32 C9需要的最低显存是6303,所以6G的显卡是无法收割的。
实际在日志里会

软件基础要求

Windows

1.Windows需要特别注意一定要先安装VC组件
https://aka.ms/vs/17/release/vc_redist.x64.exe
2.显卡驱动强烈建议更新到最新版本
NVIDIA官方驱动

Linux

1.没有特别需要注意的

确认收割机是否在工作

比较简单的方式就是去看GPU的占用率
在任务管理器查看GPU信息,
1.是否有cuda使用率
2.是否有显存占用

Linux 同理,可以使用nvtop来确认

矿池超时

Bladebit_cuda