Ryzen 3900X, 3950X での RandomX ハッシュレートのメモ

# 環境

  • Ubuntu 18.04 or 20.04
  • Ryzen 3900X, 3950X
  • DDR4 3200(25600)

large page サポートなど入れて, stock 設定で

Ryzen 3900X: 11,500 H/s

Ryzen 3950X: 13,000 H/s

程度でした. nicehash などでの profit calculator は実測値よりも高いハッシュレートが設定されていますが, overclock  とか, 高クロックなメモリを使っての値でしょうか.

 

2020/09 月現在, Monero がじょじょに値を戻していますので, わずかに CPU マイニングでも収益が出るようになっています.

(しかし, Monero HODL して 2 ~ 3 年後の値上がり待ちを狙ったほうがよいですかね)

VEGA で Cryptonight Haven ハッシュレートのメモ

最近(2020/09月), そこそこ収益性がでてくるようになった $XHV Haven(Cryptonight Heavy/haven)を VEGA で試します.

 

# 環境

  • VEGA56, VEGA64, VEGA FE
  • amdgpu-pro 20.30
  • teamreadminer 0.7.10

 

teamreadminer ですと, 自動チューニングしてくれますのでそれにまかせます.

 

VEGA56, VEGA64 は rocm-smi で
--setsclk 3, VEGA FE(空冷)は 2 にします(空冷 VEGA FE だとサーマルリミットに到達しやすいため)

 

VEGA56: 1.6 kh/s @ 120~130W

VEGA64: 1.78 kh/s @ 90~100W

VEGAFE: 1.59 kh/s @ 90~100W(setsclk 3 にすれば VEGA64 と同等)

 

 

 

 

Radeon VII の Eth ハッシュレート

# 環境

  • Ubuntu 18.04 or 20.04
  • ROCm or amdgpu-pro(どちらでも性能はあまりかわらない)
  • Teamreadminer 0.7.10

rocm-smi で --setsclk 3 で 79 MH/s @ 160W, --setsclk 2 で 69 MH/s @ 120 W

ほどでした.

2020 年の夏は連日の猛暑日でしたが, 真夏の猛暑日室温 45 度でも, fan speed 80~100% で概ね GPU 温度 68 ~ 75 度程度におさまりました.

2020/09/02 には, nicehash で, 現時点(2020/09/22)まででは史上最高の 0.75 mBTC/day(およそ 800 円/day) をつけました. 短命には終わりましたが, 感動ひとしおですね.

 

Windows/macOS 実機を使わずに確定申告する方法(2020/03~)

日本の確定申告は, e-Tax で電子申告できますが, いままでは電子署名のために Windows or macOS(どれも Java 環境が必要. Windows では ActiveX 経由で Java で電子署名をしていた… はず)が必要でした.

しかし, セキュリティー上 Java 環境をインストールできない(macOS では Java 非推奨), ActiveX をインストールできないひとのほうが多いでしょう(現状 ActiveX 対応させたらどでかいセキュリティーホールが生まれるような). また, それ以前の問題として Windows/macOS 実機を持っていない人がほとんどかと思います.

そこで Linux 実機を使ってや, OS/環境依存が低い方法で確定申告をする方法を探してみます.

属性は会社員, 学生などを想定します(個人事業主では**無い**).
青色申告(複式簿記で記帳していない)をしておらず, 副業収入, アルバイト収入, 雑所得(仮想通貨など), 森林所得, 土地収益, 株式などの収益(損益)があるとします(ところで, 塩田収入はどういう課税区分になるのかしらん)

マイナンバーカードは取得済みとします.

## 確定申告の相談

まず, 国税庁あたりが主宰(?)で, 各地で確定申告の相談会などが 1~3 月あります. はじめてのかたはこのあたりで相談してみるといいかと思います.

https://www.nta.go.jp/taxes/shiraberu/shinkoku/qa/05.htm

## 税理士にまかせる

お金があり, 仮想通貨などの収益がなければ, 税理士に任せるのがいちばん手っ取り早い気がします. 税理士が代理で申告してくれれます.

## 確定申告できる会計ソフト/サービスを使う

freee とかマネーフォワードでできるはずです. ただし最近は確定申告の時だけ契約はできず, 1 年契約とかになったような?

## ブラウザで申告書を記入し, 郵送 or 管轄の税務署に提出

申告書作成は Chrome や Firefox で Linux で作れるので, 一番楽な方法でしょう.
プリンタがなくてもコンビニあたりで PDF プリントすればいいです.

あとは郵送して完了です.
もしくは管轄の税務署に赴いて直接提出するか.

私の管轄の税務署には, ポストがありましたので, 書類が整っていて, 税務署が閉まっているときは税務署のポストに直接投函というのも手かもしれません(投函の消印はつかないので, スマホで投函した事実を撮影とかしておくといいかもしれません. 夜間でもきれいに取れるスマホがほしくなりますね)

プリントと郵送だと, 100 ~ 300 円(+書留にする場合は書留代)くらい経費がかかるかと思います.

## AWS, GCE あたりで Windows のインスタンスを借りる

電子署名や提出するときだけ, Windows インスタンスをかりてやる手もあるでしょう. マイナンバーカードの読み取りで, 手元の USB とうまく連携できるかな?
費用は 100 円(1~2 時間)くらいでしょうか.

## Wine を使う

e-Tax ソフトが Wine でもうごくらしい?…

## ID/パスワード方式

2019/03 の確定申告から始まりました. マイナンバーカードでの電子署名が不要になります.
ただし現状, 確定申告作成コーナー(webサイト)での作成が必要になります.

## スマホで提出

今年から, 源泉徴収票の添付も不要になりました.

https://www.e-tax.nta.go.jp/kanbenka/index.htm

NFC 対応スマホを持っていればマイナンバーカードで, なければ ID/Password でスマホというのが楽かもしれません.

## TODO

* 複式簿記で記帳して青色申告する(=> 自動的に個人事業主になるのかな?)

Joe Alter の Patent(hair)問題が解決したようです

CG/VFX 界隈では, よく知られた特許問題がありました.

– Pixar のモンテカルロサンプリング(=> 特許切れ)
– Mental images の準モンテカルロサンプリング(=> Pixar のモンテカルロサンプリングに対抗したものと思われる. 特許は有効であり, 一時は VRay が販売差し止めになったこともあったらしい? 最近では Pixar(RenderMan)にライセンスしたりしたようですが, 昨今の機械学習デノイズなどの登場により, あまり実務で利用する価値はほぼ無くなった気がします)
– Microsoft のなんかグラフィックス関連の特許が, 上記モンテカルロ or 準モンテカルロとクロスライセンスしていたような?
– SGI の浮動小数バッファ特許(=> 特許は patent pool 会社が買い取り, モバイル GPU メーカーに特許料徴収を目論んでいたようですが, 期限切れになりました https://www.phoronix.com/scan.php?page=news_item&px=OpenGL-Texture-Float-Freed)
Joe Alter(個人事業主?)による Hair の生成方式 https://patents.google.com/patent/US6720962B1/en

Joe Alter の Hair 特許は, 特に hair 関連業界(?)では有名で, これを侵害することなく hair/fur 関連技術を利用するのは難しかったようです. Joe Alter が, Autodesk に hair 特許をライセンスしたものの, Disney の XGen を Autodesk が買い取った(?)ことにより, Disney と訴訟になって揉めたりしたり(結果はどうなったのかしらん?),

Yeti に代表される関連ソフトウェアを販売差し止めなど, かなり広範囲に特許を活用していました.
(ちなみに, Joe Alter 特許は US でのみ申請されており grant され, US のみ有効なので, , Yeti は US 以外の国では販売できました)

Yeti fur plugin will not be sold in the United States
http://www.cgchannel.com/2012/05/yeti-fur-plugin-will-not-be-sold-in-the-us/

転機

そんなつよつよな Joe Alter 特許ですが, 2021 年 06 月 15 日まで有効であるので, あと 2 年くらいは静観かな, と思っていた矢先に, 衝撃的(?)な Epic Games(Unreal Engine)による買収がありました(Epic Games はバーチャルヒューマン関連を強化したいようで, rigging 関連を行う 3lateral も買収しています).

そして, Shave and a haircut(Joe Alter の hair モデリングソフト) のソースコードはオープンソース化されました(2019 年 10 月 23 日)

https://www.unrealengine.com/en-US/blog/shave-and-a-haircut-v9-6-for-maya

ソースコードがオープンであるのと, 特許というのは別物であり, ソースコードがオープンであるから特許の利用(grant)も OK というわけでは必ずしもありません. また, Patent の情報を見る限り, Epic Games が権利を保持していて有効なままなのは変わりません.

Shave and Haircut のコードには, UE4 の license(EULA) が適用されるようなので, 基本的にはUE4(Shave and Haircut)に対して特許侵害してはならないという条項はあるのですが, しかし, 実情はおおらかな対応のようです.
詳細は不明ですが, この買収劇により, Yeti も US で販売再開となりました.

Yeti fur plugin goes back on sale in the United States
http://www.cgchannel.com/2019/07/yeti-fur-plugin-goes-back-on-sale-in-the-united-states/

そんなわけで, hair 関連のツールを作って販売したりサービス提供というのも, 障壁がさがってきた感がありますね.

昨今, ソフトウェア関連においては, MPL 2.0 や Apache 2.0 のライセンスでオープンソースソフトウェアが配布されることが多くなり, 特許は grant するが, ただし特許侵害したら grant は無効にするよ, という特許の防衛的な利用が増えてきて, 特許(使用料)だけでがっぽがっぽ, みたいな風潮は無くなってきたような気もしますね.
(Facebook が, BSD だと特許条項がないので, 特許項目を追加したライセンス形態を提案していましたが, なにやらいろいろ反対の目にあい MIT に変更などがありました. MIT には特許条項がないのでこれはこれで問題はありそうではありますが. https://hackernoon.com/facebooks-bsd-patents-license-and-how-it-affects-you-66088e052845 )

補足

ちなみに, XGen はもはや開発者がおらず, メンテナンス(Maya Xgen)もままならない状態のようです(XGen Interactive Grooming(XGen と名前が付いているが, 別物に近い)は開発者が別なので, 細々とアップデートされているようではあります).

VFX 関連の hair 業者(?)からは, Shade and a haircut は微妙という話も聞きますので, 独自の hair ツールの制作の機運が高まります.

最近ではレイトレーシングベースの hair 関連業務を行っていますが, まだまだやるべきことはたくさんあります. 優秀な hair 若人さまを合法的なあらゆるどんな手段を使ってでも探し出し, 研究委託なりお仕事発注なり出資なりして, ツール作っていただく旅に出たい.

 

Nikon RAW の white balance pre-conditioning について

いつの頃からか, Nikon の RAW データ(NEF)では, R と B のチャンネルの RAW 値にスケーリングがかかっています.

これを, “White Balance Pre-conditioning”, “White Balance pre-scaling” と呼んでいるようです(日本語で, これに対する良い訳はあるのでしょうか?)

http://www.strollswithmydog.com/bayer-cfa-spectral-power-distribution/

http://forum.luminous-landscape.com/index.php?topic=74178.0

http://blog.kasson.com/the-last-word/nikon-d810-dark-field-histograms/

これは A/D(Analog -> Digital) 変換された後, RAW にデータが記録される前に値がスケーリングされます.

上記リンクにあるように, プレスケーリングされることによって, RAW のヒストグラムを表示した時に歯抜けになることでその存在を確認することができます(プレスケールされ int に丸められるため, 特定の RAW 値が存在しないことになる).

このスケーリング機能を off にすることはできません.

したがって, ユーザ(RAW を扱うプログラム)では, スケーリングされた R と B を実質的な感度として扱うことになります(我々のような, 物理的絶対的に  RAW = センサーの A/D 値そのものが取れると思っているような人々からすると,  プレスケーリングがかかってしまうのはちょっと厄介ですね).

R と B については, 通常分光感度の絶対値が G よりも低いため, あらかじめスケーリングをかけることで, 精度を稼ぐというのが, この pre-conditioning の目的のようですね.

ちなみに, Nikon RAW(NEF) の場合でも, カメラの white balance 設定自体は RAW 値には影響を与えません.

HPG 2014 report

lyon_rhone

今や猫も杓子もレイトレという世の中, レイトレの国際学会といってもおかしくないであろう HPG 2014 に参加してきました.

http://www.highperformancegraphics.org/2014/

hpg2014

 

今年の HPG 2014 は EGSR 2014 と共催で, フランスはリヨンの University of Lyon で開催されました. 講堂がヨーロッパらしくてここで学問を極めることができるとは, リヨン大のひとはなんと恵まれているのでしょう. そしてローヌ川もすぐ近くにあってサイクリングや運動するのに最適です. 感動です.

lyon_u

Arnold レンダラの Marcos が「レイトレはどうやって VFX 映画界を制覇したのか!」という内容のキーノートスピーチを行いました.

IMG_2286

論文発表では皆さんレイトレ研究だったりハイパフォーマンスグラフィックスの成果を切磋琢磨して発表していました. 素晴らしい. 今年はスマホ時代のグラフィックス処理をどうするか? もトレンドとして見えてきたりしました.

コーヒーブレイクなどでは, 何人かの海外のレイトレの知り合いにも会う事ができて感動ひとしお. 新しいレイトレ研究アイデアも生まれました.

CERN

また, 知り合いのフランス在住レイトレ野郎を通じて, リヨンから車で 2 時間ほどで行ける, スイスはジュネーブにある CERN に行くことができました.

entrance

CERN では観測器(?)からのデータが 20 PB/year くらいの規模であるそうです. ビックデータと行っても過言ではないかもしれませんね. 「PB 規模のデータの可視化にもレイトレが有効ですよ」, と CERN の方々に説き伏せてきました.

CERN では構内の道の名前が「アインシュタイン通り」や「パウリ通り」などと命名されていて我々の心をゆさぶりました.

einstein

まとめ

  • レイトレが全盛.
  • でもまだまだやることはありますね. リアルタイムレイトレや, ゲーム, VR への応用など.
  • ヨーロッパはすばらしい.

来年の HPG 2015 は SIGGRAPH と共催になる予定です.

No ray-tracing, No life!

 

エクサバイトまで対応可能なバイナリシリアライズライブラリ ESON

コンピュータグラフィックスでは, 静的で, リードの比率が高く, 大量で1つのデータサイズが大きいバイナリデータを扱うのが多いので, そのためのシリアライズライブラリ ESON を作りました.

https://github.com/syoyo/eson/

 

実際には 1 年くらい前からありましたが, それなりに使うプロジェクトも増えてきたのでもう少し詳細を書いて普及してみようと思いました.

たとえば

https://github.com/lighttransport/obj2eson

など.

特徴は,

  • single header, single source でポータブル
  • C++ API は STL のみに依存
  • シリアライズ後のデータは linear になるので, リード時に mmap でより扱いやすい(予定). たとえば必要な部分領域だけをアクセスがあったときのみリードするなど.

バイナリデータのシリアライズについては, たとえば以下のような例がありますが, どれもしっくり来ませんでした.

  • redis : GB 単位のファイルを扱うのが難しい
  • bson(mongodb) : GB 単位のファイルを扱うのが難しい.  32bit のデータタイプしかサポートしていない.
  • Alembic : boost とか HDF5 とか依存関係が多すぎて扱いづらい.
  • protocol buffer 系 : 細かいデータの通信に特化した感があるので, 単一で大きなデータには向かない.

ESON のシリアライズの仕様については

https://github.com/syoyo/eson/blob/master/SPECIFICATION.md

にあります. 基本的には BSON の仕様を strip して 64bit 化した感じになります.

ESON の主な利用先としては以下が挙げられます.

  • テクスチャ, HDR 画像.
  • CAD やメッシュなどのジオメトリデータ.
  • シーングラフやシミュレーションキャッシュデータ.
  • NVM(Non volatile memory) 時代の KVS 的なストレージ.

NVM(persistent memory)は最近出始めて来た感があるので, ESON は CG 用に限らずより一般的な使い方にも使えるかもと考えています.

圧縮については, lossless は lz4, lossy(特に浮動小数点データ) はいいライブラリがまだありませんが wavelet か fpack あたりを取り入れてみたいと考えています.