LoginSignup
7
12

More than 3 years have passed since last update.

Jetson Nano ではじめるGPUマイニング(NiceHash編)

Last updated at Posted at 2021-03-10

1. はじめに

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 なる新たなイメージも登場しているようですので、おもむきに合わせてお選ぶのもよいでしょう。

参考:この記事作成時のファイルバージョン: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」ボタンをクリックすることで確認できます。

image.png

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)が表示されていれば成功です。

image.png

12. おわりに

いかがでしたでしょうか?マイニング成功はGPU性能から望みはうすいですが、意外と簡単にGPUマイニングを始めることができたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。

2021/03/10 TAKAHIRO NISHIZONO

13. 余談その1:Jetson Nano の GPU使用率について

  • Jetson Nano の GPU使用率は、jtop コマンドで確認するとわかりやすと思います。ご参考まで。
コマンドプロンプト
// jtopの実行
$ sudo jtop

image.png

7
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
12