Quai之家
中文资讯网

kawpowminer (具有 ProgPoW 实现的 ethminer 分叉)

kawpowminer (具有 ProgPoW 实现的 ethminer 分叉)

 

支持 OpenCL、CUDA 和 stratum 的 kawpow 矿工

kawpowminer 是一个 ProgPoW GPU 挖矿工人:使用 kawpowminer,您可以开采 Ravencoin,它依赖于基于 ProgPoW 的工作量证明,因此包括以太坊 ProgPoW 等。这是 kawpowminer 的积极维护版本。它起源于 ethminer 项目。检查原始 ProgPoW 实现和 EIP-1057 的规格。

特征

 

  • 第一款面向矿工的商用 KawPow 矿机软件。
  • OpenCL 挖矿
  • Nvidia CUDA 挖矿
  • 针对任意 epoch/DAG/blocknumber 的现实基准测试
  • 基于 GPU 的 DAG 生成(磁盘上不再有 DAG 文件)
  • 无代理的阶层挖矿
  • OpenCL 设备拣选
  • 服务器场故障转移 (GetWork + Stratum)
  • 仅支持基于以太坊的 ProgPoW 实现,不支持以前的 ethash 版本或基于比特币的分叉。

安装

中提供了适用于 LinuxmacOS 和 Windows 的独立可执行文件 Releases 部分。 下载适用于您的操作系统的存档,并将内容解压缩到某个位置 可从命令行访问。kawpowminer 已准备就绪。

建立 释放
最后 GitHub 版本

如果您遇到缺少 .dll 或 CUDA 错误的问题,请安装最新版本的 CUDA 驱动程序或向项目维护人员报告。

用法

 

kawpowminer 是一个命令行程序。这意味着您可以启动它 从 Windows 命令提示符或 Linux 控制台,或创建快捷方式 使用 Linux Bash 脚本或 Windows 批处理/cmd 文件的预定义命令行。 有关可用命令的完整列表,请运行:

kawpowminer --help

连接到池的示例

 

连接到 MinerMore 测试网

./kawpowminer -P stratum+tcp://<wallet>.worker@rvnt.minermore.com:4505

kawpowminer.exe -P stratum+tcp://<wallet>.worker@rvnt.minermore.com:4505

 

将此存储库克隆到 后,可以使用如下命令构建它:kawpowminer

Ubuntu / 操作系统

 

cd kawpowminer
git submodule update --init --recursive
mkdir build
cd build
cmake .. -DETHASHCUDA=ON -DETHASHCL=ON -DAPICORE=ON
make -sj $(nproc)

窗户

 

先决条件:

 

  1. 安装 Visual Studios (2019)(带有额外的安装包“适用于 Windows 的 C++ Cmake 工具”)
  2. 将最新的 perl 安装到 C:\Perl (https://www.perl.org/get.html) 按照概述的步骤操作,默认的 perl 安装应该可以工作

通过 Visual Studios 命令行构建:

 

打开“VS 2019 开发人员命令提示符”

  1. 打开 StartMenu 并搜索“Developer Command Prompt for VS 2019”
  2. 请执行以下步骤:
cd C:\Users\USER_NAME\PATH_TO_KAWPOW\kawpowminer
git submodule update --init --recursive
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A X64 -H. -Bbuild -DETHASHCL=ON -DETHASHCUDA=ON -DAPICORE=ON ..
cd build
cmake --build . --config Release

(是的,两个嵌套的 build/build 目录。

通过 Visual Studios GUI 构建(此版本似乎不适用于某些 20XX Nvidia 卡)

 

  1. 打开 Visual Studio
  2. 使用 File->Open->CMake 打开CMakeLists.txt文件
  3. 等待智能构建缓存(这可能需要一些时间)
  4. 生成项目 (Ctrl+Shift+B) 或在菜单中查找生成命令

可以使用以下参数调整 ProgPoW。建议的设置已针对一系列现有的商用 GPU 进行了优化:

  • PROGPOW_PERIOD:更改随机程序之前的块数
  • PROGPOW_LANES:协调计算单个哈希实例的并行通道数
  • PROGPOW_REGS:寄存器文件使用大小
  • PROGPOW_DAG_LOADS:每个通道来自 DAG 的 uint32 负载数
  • PROGPOW_CACHE_BYTES:缓存的大小
  • PROGPOW_CNT_DAG:DAG 访问的次数,定义为算法的外循环(64 与 Ethash 相同)
  • PROGPOW_CNT_CACHE:每个循环的缓存访问次数
  • PROGPOW_CNT_MATH:每个循环的数学运算数

这些参数的值已在 0.9.2 版本(上线江南测试网)和 0.9.3 版本(提议采用以太坊)之间进行了调整。有关详细信息,请参阅此 Medium 帖子

参数 0.9.2 0.9.3 咕噜咕噜
PROGPOW_PERIOD 50 10 3
PROGPOW_LANES 16 16 16
PROGPOW_REGS 32 32 32
PROGPOW_DAG_LOADS 4 4 4
PROGPOW_CACHE_BYTES 16x1024 16x1024 16x1024
PROGPOW_CNT_DAG 64 64 64
PROGPOW_CNT_CACHE 12 11 11
PROGPOW_CNT_MATH 20 18 18

KAWPOW_EPOCH_LENGTH = 7500

常见问题

为什么我在 Windows 10 上使用 Nvidia 卡的哈希率这么低?

Windows 10 上的新 WDDM 2.x 驱动程序使用不同的方式寻址 GPU。这对很多事情都有好处,但对 ETH 挖矿来说却不是。

  • 对于 Kepler GPU:我实际上不知道。请让我知道什么最适合老开普勒。
  • 对于 Maxwell 1 GPU:不幸的是,这个问题在 GTX750Ti 上要严重一些,已经导致在 Win7 和 Linux 上性能不佳。显然,在 Linux 上仍然可以达到大约 4MH/s,考虑到相对较低的功耗,这取决于 ETH 的价格,这仍然是有利可图的。
  • 对于 Maxwell 2 GPU:有一种方法可以在 Win10 上以 Win7/8/Linux 的速度挖掘 ETH,方法是将 GPU 驱动程序降级为 Win7 驱动程序(推荐 350.12)并使用使用 CUDA 6.5 创建的版本。
  • 对于 Pascal GPU:您必须将最新的 WDDM 2.1 兼容驱动程序与 Windows 10 周年纪念版结合使用,才能充分发挥 Pascal GPU 的潜力。

为什么 GTX 1080 比 GTX 1070 慢?

因为 GDDR5X 内存(目前)还不能完全用于 ETH 挖矿。

AMD 卡是否也会受到 DAG 大小增加速度变慢的影响?

只有 GCN 1.0 GPU(78×0、79×0、270、280),但方式不同。你会看到,在每个新 epoch (30K 区块) 上,哈希率会下降一点。

我还能用我的 2GB GPU 开采 ETH 吗?

并非如此,您的 VRAM 必须高于 DAG 大小(当前约为 2.15 GB)才能获得最佳性能。没有它,将发生严重的哈希损失。

最佳启动参数是什么?

默认参数在大多数情况下都很好 (CUDA)。对于 OpenCL,它的变化要大一些。只需玩弄数字并使用 2 的幂。GPU 就像 2 的幂。

标志有什么作用?--cuda-parallel-hash

@davilizh 对 CUDA 内核哈希过程进行了改进,并添加了此标志以允许更改其并行运行的任务数。这些改进针对 GTX 1060 GPU 进行了优化,其哈希率大幅提高,GTX 1070 和 GTX 1080/Ti GPU 的改进有所提高,但改进较少。默认值为 4 (不需要使用标志设置) ,在大多数情况下,这将提供最佳性能。

kawpowminer 和 Genoil 的分叉是什么关系?

Genoil 的分叉是此版本的原始来源,但由于 Genoil 不再始终如一地维护该分叉,因此开发人员几乎不可能在那里合并新代码。为了在不等待审查的情况下推进开发,这个分叉应该被视为活跃的分叉,而 Genoil 的分叉应被视为遗留代码。

我可以 CPU 挖矿吗?

不,请使用 geth,这是以太坊为以太坊制作的 go 程序。

CUDA GPU 顺序有时会发生变化。我该怎么办?

有一个环境变量,它告诉 Nvidia CUDA 驱动程序如何枚举显卡。 以下值有效:CUDA_DEVICE_ORDER

  • FASTEST_FIRST(默认) – 使 CUDA 使用简单的启发式方法猜测哪个设备最快。
  • PCI_BUS_ID– 按 PCI 总线 ID 升序订购设备。

为了防止 CUDA 设备的顺序发生一些不必要的更改,您可以将环境变量设置为 PCI_BUS_ID。 这可以通过以下两种方法之一来完成:

  • Linux的:

    • 调整文件并添加一行/etc/environmentCUDA_DEVICE_ORDER=PCI_BUS_ID
    • 调整启动 kawpowminer 的启动脚本并添加一行export CUDA_DEVICE_ORDER=PCI_BUS_ID
  • 窗户:

    • 使用控制面板调整您的环境(只需使用您最喜欢的搜索引擎进行搜索)setting environment windows control panel
    • 调整您的开始 (.bat) 文件启动 kawpowminer 并添加一行或 .有关请参阅此处的更多信息,有关请参阅此处的更多信息set CUDA_DEVICE_ORDER=PCI_BUS_IDsetx CUDA_DEVICE_ORDER PCI_BUS_IDsetsetx

nvrtc64_102_0.dll未找到…

Error: The code execution cannot be processed because nvrtc64_102_0.dll was not found.
or
error while loading shared libraries: libnvrtc.so.10.2: cannot open shared object file: No such file or directory

您必须升级您的 Nvidia 驱动程序。安装 cuda 10.2。

赞(0)
未经允许不得转载:Quai中文社区 » kawpowminer (具有 ProgPoW 实现的 ethminer 分叉)