Jetson Nano ではじめるGPUマイニング(NiceHash編)
1. はじめに
- 今回は、前回のBitcoin編に引き続き、NiceHash編として、自分自身への備忘録を兼ねて、Jetson NanoでGPUマイニングをはじめる方法を、お伝えしたいと思います。
マイニングプールには「NiceHash」を利用します。
参考サイト:NiceHashのサーバー一覧
参考サイト:マイニング電卓
2. この記事を読んでできること
- Jetson NanoでNiceHashマイニングプールを用いたGPUマイニングできるようになる。
3. 必要なもの
- Jetson Nano
- SDカード(なるべく速いもの A1)
- インターネット環境
- パソコン(Windows10など)
- sshクライアントソフト(TeraTerm)
-
NiceHashアカウント
- NiceHashのMining Wallet Address(マイニングアドレス)
4. Jetson Nano Developer Kitのセットアップ
- 公式のJetson Download Centerから、Jetson Nano Developer Kitイメージを入手し、Jetson Nanoのセットアップ(アカウント作成)まで済ませておきます。
- 最近は、JetPack なる新たなイメージも登場しているようですので、おもむきに合わせてお選ぶのもよいでしょう。
マイニングプールには「NiceHash」を利用します。
参考サイト:NiceHashのサーバー一覧
参考サイト:マイニング電卓
- Jetson NanoでNiceHashマイニングプールを用いたGPUマイニングできるようになる。
3. 必要なもの
- Jetson Nano
- SDカード(なるべく速いもの A1)
- インターネット環境
- パソコン(Windows10など)
- sshクライアントソフト(TeraTerm)
-
NiceHashアカウント
- NiceHashのMining Wallet Address(マイニングアドレス)
4. Jetson Nano Developer Kitのセットアップ
- 公式のJetson Download Centerから、Jetson Nano Developer Kitイメージを入手し、Jetson Nanoのセットアップ(アカウント作成)まで済ませておきます。
- 最近は、JetPack なる新たなイメージも登場しているようですので、おもむきに合わせてお選ぶのもよいでしょう。
- 公式のJetson Download Centerから、Jetson Nano Developer Kitイメージを入手し、Jetson Nanoのセットアップ(アカウント作成)まで済ませておきます。
- 最近は、JetPack なる新たなイメージも登場しているようですので、おもむきに合わせてお選ぶのもよいでしょう。
参考:この記事作成時のファイルバージョン:nv-jetson-nano-sd-card-image-r32.2.3.zip
5. 下準備
- 下準備として、Jetson Nanoのもろもろセットアップを済ませておきます。
- Jetson Nanoにディスプレイ、キーボードおよびマウスを接続し、ターミナル(端末)を起動し、コマンド実行をおこないます。
コマンドプロンプト
// terminalの起動
Ctrl + Alt + T
// IPv4アドレスの確認
$ ifconfig
// IPv6無効化
$ sudo vi /etc/sysctl.conf
# 最終行にIPv6無効化を追記する
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
// ホスト名アクセス(ホスト名.local)の有効化
$ sudo apt install avahi-daemon
// OS再起動
$ sudo shutdown -r now
// 上記コマンド実行後は、sshクライアントから接続できると思います
- sshクライアントを利用しssh接続
- IPアドレス または ホスト名.local を利用
// リポジトリ一覧の更新
$ sudo apt update
// パッケージのアップグレード
$ sudo apt upgrade
途中、Yキー押下
途中、qキー押下
6. ccminerのセットアップ
- 以下のコマンドを順次実行し、ccminerをセットアップします。
コマンドプロンプト
// gitインストール
$ sudo apt install git
// ディレクトリを移動
$ cd
// ccminerを取得
$ git clone -b linux https://github.com/tpruvot/ccminer
// ディレクトリを移動
$ cd ccminer
// ビルド(1時間くらいかかる)
$ ./build.sh
// バージョンの確認
$ ./ccminer --version
===
*** ccminer 2.3.2 for nVidia GPUs by tpruvot@github ***
Built with the nVidia CUDA Toolkit 10.0 64-bits
Originally based on Christian Buchner and Christian H. project
Include some kernels from alexis78, djm34, djEzo, tsiv and krnlx.
BTC donation address: 1AJdfCpLWPNoAMDfHF1wD5y8VgKSSTHxPo (tpruvot)
ccminer v2.3.2
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
===
7. NiceHashマイニングプールを用いたGPUマイニングの実行
- 以下のコマンドを実行し、GPUマイニングを実行します。
コマンドプロンプト
// マイニング実行コマンドの例
$ ./ccminer -a lyra2rev2 -o stratum+tcp://lyra2rev2.jp.nicehash.com:3347 -u 36HiEHGr8LNr7kEqZtLHb42WfrqbjrDzFa.jetsonnano -p x
$ ./ccminer -a {ここにアルゴリズムを入れる} -o {ここにNiceHashのstratumURLを入れる} -u {ここにNiceHashのマイニングアドレス.ワーカー名を入れる} -p x
- NiceHashのマイニングアドレスは、「NiceHash」にアカウントを作成し、「MINING ADDRESS」ボタンをクリックすることで確認できます。
コマンドプロンプト
// terminalの起動
Ctrl + Alt + T
// IPv4アドレスの確認
$ ifconfig
// IPv6無効化
$ sudo vi /etc/sysctl.conf
# 最終行にIPv6無効化を追記する
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
// ホスト名アクセス(ホスト名.local)の有効化
$ sudo apt install avahi-daemon
// OS再起動
$ sudo shutdown -r now
// 上記コマンド実行後は、sshクライアントから接続できると思います
- sshクライアントを利用しssh接続
- IPアドレス または ホスト名.local を利用
// リポジトリ一覧の更新
$ sudo apt update
// パッケージのアップグレード
$ sudo apt upgrade
途中、Yキー押下
途中、qキー押下
- 以下のコマンドを順次実行し、ccminerをセットアップします。
コマンドプロンプト
// gitインストール
$ sudo apt install git
// ディレクトリを移動
$ cd
// ccminerを取得
$ git clone -b linux https://github.com/tpruvot/ccminer
// ディレクトリを移動
$ cd ccminer
// ビルド(1時間くらいかかる)
$ ./build.sh
// バージョンの確認
$ ./ccminer --version
===
*** ccminer 2.3.2 for nVidia GPUs by tpruvot@github ***
Built with the nVidia CUDA Toolkit 10.0 64-bits
Originally based on Christian Buchner and Christian H. project
Include some kernels from alexis78, djm34, djEzo, tsiv and krnlx.
BTC donation address: 1AJdfCpLWPNoAMDfHF1wD5y8VgKSSTHxPo (tpruvot)
ccminer v2.3.2
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
===
7. NiceHashマイニングプールを用いたGPUマイニングの実行
- 以下のコマンドを実行し、GPUマイニングを実行します。
コマンドプロンプト
// マイニング実行コマンドの例
$ ./ccminer -a lyra2rev2 -o stratum+tcp://lyra2rev2.jp.nicehash.com:3347 -u 36HiEHGr8LNr7kEqZtLHb42WfrqbjrDzFa.jetsonnano -p x
$ ./ccminer -a {ここにアルゴリズムを入れる} -o {ここにNiceHashのstratumURLを入れる} -u {ここにNiceHashのマイニングアドレス.ワーカー名を入れる} -p x
- NiceHashのマイニングアドレスは、「NiceHash」にアカウントを作成し、「MINING ADDRESS」ボタンをクリックすることで確認できます。
コマンドプロンプト
// マイニング実行コマンドの例
$ ./ccminer -a lyra2rev2 -o stratum+tcp://lyra2rev2.jp.nicehash.com:3347 -u 36HiEHGr8LNr7kEqZtLHb42WfrqbjrDzFa.jetsonnano -p x
$ ./ccminer -a {ここにアルゴリズムを入れる} -o {ここにNiceHashのstratumURLを入れる} -u {ここにNiceHashのマイニングアドレス.ワーカー名を入れる} -p x
8. GPUマイニング成功時のログ
- GPUマイニングに成功すると、「(yes!)」とログに出力されるかと思います。
- PC用のグラフィックボードと比べ、GPU処理能力は高くないため、半月から1か月程度、気長に待ってみましょう。
「(yes!)」とログ出力されるはず
[2021-03-10 21:47:56] Starting on stratum+tcp://lyra2rev2.jp.nicehash.com:3347
[2021-03-10 21:47:56] GPU monitoring is not available.
[2021-03-10 21:47:56] 1 miner thread started, using 'lyra2v2' algorithm.
[2021-03-10 21:47:57] Stratum difficulty set to 1705.4 (6.66172)
[2021-03-10 21:47:57] lyra2v2 block 2269258, diff 5668054.348
[2021-03-10 21:47:57] GPU #0: Intensity set to 20, 1048576 cuda threads
[2021-03-10 21:48:54] GPU #0: NVIDIA Tegra X1, 606.10 kH/s
[2021-03-10 21:49:55] GPU #0: NVIDIA Tegra X1, 609.92 kH/s
[2021-03-10 21:50:55] GPU #0: NVIDIA Tegra X1, 613.70 kH/s
[2021-03-10 21:50:56] Stratum difficulty set to 852.7 (3.33086)
[2021-03-10 21:51:57] GPU #0: NVIDIA Tegra X1, 600.30 kH/s
[2021-03-10 21:52:41] Stratum difficulty set to 426.35 (1.66543)
[2021-03-10 21:52:41] lyra2v2 block 2269259, diff 5059126.258
[2021-03-10 21:53:17] lyra2v2 block 2269260, diff 5159525.343
[2021-03-10 21:53:44] lyra2v2 block 2269261, diff 5179675.276
[2021-03-10 21:53:53] lyra2v2 block 2269262, diff 5267015.969
[2021-03-10 21:54:53] Stratum difficulty set to 256 (1.00000)
[2021-03-10 21:54:54] GPU #0: NVIDIA Tegra X1, 603.89 kH/s
9. 自動起動設定ファイルの新規作成
- 手動でGPUマイニングを起動するのも面倒かと思いますので、systemdを利用した自動起動設定ファイルを新規作成します。
コマンドプロンプト
// 自動起動設定ファイルの新規作成
$ sudo vi /etc/systemd/system/nicehashd.service
/etc/systemd/system/nicehashd.serviceファイル内容
[Unit]
Description=nicehashd is executed and resides at OS startup.
After=network.target
[Service]
WorkingDirectory=/opt/ccminer
ExecStart=/opt/ccminer/ccminer -a lyra2rev2 -o stratum+tcp://lyra2rev2.jp.nicehash.com:3347 -u 36HiEHGr8LNr7kEqZtLHb42WfrqbjrDzFa.jetsonnano -p x
Restart=always
Type=simple
TimeoutStopSec=5
[Install]
WantedBy=multi-user.target
10. nicehashd.serviceの起動確認&自動起動有効化
- 作成した自動起動設定ファイルを所定のディレクトリに移動し、nicehashd.serviceの起動確認および有効化をおこないます。
コマンドプロンプト
// ccminerの起動
$ sudo systemctl start nicehashd.service
// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status nicehashd.service
q
// ccminerの自動起動有効化(再起動後に自動起動するようになります)
$ sudo systemctl enable nicehashd.service
// OS再起動
$ sudo shutdown -r now
- 補足:nicehashd.serviceファイルの設定変更を反映する際は
sudo systemctl daemon-reload
コマンドを実行して反映する必要があります。
コマンドプロンプト
// nicehashd.serviceの編集
$ sudo vi /etc/systemd/system/nicehashd.service
// 設定ファイルの更新反映
$ sudo systemctl daemon-reload
// nicehashd.serviceのリスタート
$ sudo systemctl restart ccminer.service
// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status nicehashd.service
11. NiceHashサイトからの動作確認
- 「NiceHash」にログインし、ワーカー名(jetsonnano)が表示されていれば成功です。
「(yes!)」とログ出力されるはず
[2021-03-10 21:47:56] Starting on stratum+tcp://lyra2rev2.jp.nicehash.com:3347
[2021-03-10 21:47:56] GPU monitoring is not available.
[2021-03-10 21:47:56] 1 miner thread started, using 'lyra2v2' algorithm.
[2021-03-10 21:47:57] Stratum difficulty set to 1705.4 (6.66172)
[2021-03-10 21:47:57] lyra2v2 block 2269258, diff 5668054.348
[2021-03-10 21:47:57] GPU #0: Intensity set to 20, 1048576 cuda threads
[2021-03-10 21:48:54] GPU #0: NVIDIA Tegra X1, 606.10 kH/s
[2021-03-10 21:49:55] GPU #0: NVIDIA Tegra X1, 609.92 kH/s
[2021-03-10 21:50:55] GPU #0: NVIDIA Tegra X1, 613.70 kH/s
[2021-03-10 21:50:56] Stratum difficulty set to 852.7 (3.33086)
[2021-03-10 21:51:57] GPU #0: NVIDIA Tegra X1, 600.30 kH/s
[2021-03-10 21:52:41] Stratum difficulty set to 426.35 (1.66543)
[2021-03-10 21:52:41] lyra2v2 block 2269259, diff 5059126.258
[2021-03-10 21:53:17] lyra2v2 block 2269260, diff 5159525.343
[2021-03-10 21:53:44] lyra2v2 block 2269261, diff 5179675.276
[2021-03-10 21:53:53] lyra2v2 block 2269262, diff 5267015.969
[2021-03-10 21:54:53] Stratum difficulty set to 256 (1.00000)
[2021-03-10 21:54:54] GPU #0: NVIDIA Tegra X1, 603.89 kH/s
- 手動でGPUマイニングを起動するのも面倒かと思いますので、systemdを利用した自動起動設定ファイルを新規作成します。
コマンドプロンプト
// 自動起動設定ファイルの新規作成
$ sudo vi /etc/systemd/system/nicehashd.service
/etc/systemd/system/nicehashd.serviceファイル内容
[Unit]
Description=nicehashd is executed and resides at OS startup.
After=network.target
[Service]
WorkingDirectory=/opt/ccminer
ExecStart=/opt/ccminer/ccminer -a lyra2rev2 -o stratum+tcp://lyra2rev2.jp.nicehash.com:3347 -u 36HiEHGr8LNr7kEqZtLHb42WfrqbjrDzFa.jetsonnano -p x
Restart=always
Type=simple
TimeoutStopSec=5
[Install]
WantedBy=multi-user.target
10. nicehashd.serviceの起動確認&自動起動有効化
- 作成した自動起動設定ファイルを所定のディレクトリに移動し、nicehashd.serviceの起動確認および有効化をおこないます。
コマンドプロンプト
// ccminerの起動
$ sudo systemctl start nicehashd.service
// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status nicehashd.service
q
// ccminerの自動起動有効化(再起動後に自動起動するようになります)
$ sudo systemctl enable nicehashd.service
// OS再起動
$ sudo shutdown -r now
- 補足:nicehashd.serviceファイルの設定変更を反映する際は
sudo systemctl daemon-reload
コマンドを実行して反映する必要があります。
コマンドプロンプト
// nicehashd.serviceの編集
$ sudo vi /etc/systemd/system/nicehashd.service
// 設定ファイルの更新反映
$ sudo systemctl daemon-reload
// nicehashd.serviceのリスタート
$ sudo systemctl restart ccminer.service
// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status nicehashd.service
11. NiceHashサイトからの動作確認
- 「NiceHash」にログインし、ワーカー名(jetsonnano)が表示されていれば成功です。
コマンドプロンプト
// ccminerの起動
$ sudo systemctl start nicehashd.service
// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status nicehashd.service
q
// ccminerの自動起動有効化(再起動後に自動起動するようになります)
$ sudo systemctl enable nicehashd.service
// OS再起動
$ sudo shutdown -r now
sudo systemctl daemon-reload
コマンドを実行して反映する必要があります。コマンドプロンプト
// nicehashd.serviceの編集
$ sudo vi /etc/systemd/system/nicehashd.service
// 設定ファイルの更新反映
$ sudo systemctl daemon-reload
// nicehashd.serviceのリスタート
$ sudo systemctl restart ccminer.service
// 起動状況確認(設定内容が正しいか動作確認します)
$ sudo systemctl status nicehashd.service
- 「NiceHash」にログインし、ワーカー名(jetsonnano)が表示されていれば成功です。
12. おわりに
いかがでしたでしょうか?マイニング成功はGPU性能から望みはうすいですが、意外と簡単にGPUマイニングを始めることができたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。
2021/03/10 TAKAHIRO NISHIZONO
13. 余談その1:Jetson Nano の GPU使用率について
- Jetson Nano の GPU使用率は、
jtop
コマンドで確認するとわかりやすと思います。ご参考まで。
コマンドプロンプト
// jtopの実行
$ sudo jtop
jtop
コマンドで確認するとわかりやすと思います。ご参考まで。コマンドプロンプト
// jtopの実行
$ sudo jtop
Author And Source
この問題について(Jetson Nano ではじめるGPUマイニング(NiceHash編)), 我々は、より多くの情報をここで見つけました https://qiita.com/zono_0/items/8f765d8c748aa5e9d813著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .