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 版本或基于比特币的分叉。
安装
中提供了适用于 Linux、macOS 和 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)
窗户
先决条件:
- 安装 Visual Studios (2019)(带有额外的安装包“适用于 Windows 的 C++ Cmake 工具”)
- 将最新的 perl 安装到 C:\Perl (https://www.perl.org/get.html) 按照概述的步骤操作,默认的 perl 安装应该可以工作
通过 Visual Studios 命令行构建:
打开“VS 2019 开发人员命令提示符”
- 打开 StartMenu 并搜索“Developer Command Prompt for VS 2019”
- 请执行以下步骤:
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 卡)
- 打开 Visual Studio
- 使用 File->Open->CMake 打开CMakeLists.txt文件
- 等待智能构建缓存(这可能需要一些时间)
- 生成项目 (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 上的新 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 的潜力。
因为 GDDR5X 内存(目前)还不能完全用于 ETH 挖矿。
只有 GCN 1.0 GPU(78×0、79×0、270、280),但方式不同。你会看到,在每个新 epoch (30K 区块) 上,哈希率会下降一点。
并非如此,您的 VRAM 必须高于 DAG 大小(当前约为 2.15 GB)才能获得最佳性能。没有它,将发生严重的哈希损失。
默认参数在大多数情况下都很好 (CUDA)。对于 OpenCL,它的变化要大一些。只需玩弄数字并使用 2 的幂。GPU 就像 2 的幂。
@davilizh 对 CUDA 内核哈希过程进行了改进,并添加了此标志以允许更改其并行运行的任务数。这些改进针对 GTX 1060 GPU 进行了优化,其哈希率大幅提高,GTX 1070 和 GTX 1080/Ti GPU 的改进有所提高,但改进较少。默认值为 4 (不需要使用标志设置) ,在大多数情况下,这将提供最佳性能。
kawpowminer 和 Genoil 的分叉是什么关系?
Genoil 的分叉是此版本的原始来源,但由于 Genoil 不再始终如一地维护该分叉,因此开发人员几乎不可能在那里合并新代码。为了在不等待审查的情况下推进开发,这个分叉应该被视为活跃的分叉,而 Genoil 的分叉应被视为遗留代码。
不,请使用 geth,这是以太坊为以太坊制作的 go 程序。
有一个环境变量,它告诉 Nvidia CUDA 驱动程序如何枚举显卡。 以下值有效:CUDA_DEVICE_ORDER
FASTEST_FIRST
(默认) – 使 CUDA 使用简单的启发式方法猜测哪个设备最快。PCI_BUS_ID
– 按 PCI 总线 ID 升序订购设备。
为了防止 CUDA 设备的顺序发生一些不必要的更改,您可以将环境变量设置为 PCI_BUS_ID
。 这可以通过以下两种方法之一来完成:
-
Linux的:
- 调整文件并添加一行
/etc/environment
CUDA_DEVICE_ORDER=PCI_BUS_ID
- 调整启动 kawpowminer 的启动脚本并添加一行
export CUDA_DEVICE_ORDER=PCI_BUS_ID
- 调整文件并添加一行
-
窗户:
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。