2018年を振り返る
正直、今年はfgoばかりやっていた気がするので、あまり新機能とかの追加を行わずに、コードの整理とか、細かい調整とかに終始したような気がする。あとはgithub上でのドキュメントとかを多少は追加したりとか。
まあ、それでも少しづつ機能追加したり、バグを修正できたかなと思う。不具合とか、報告いただいた方々、ありがとうございました。再現が難しくて迷宮入りするものもあって申し訳ないですが…。
大雑把にやったことまとめ
・自動フィールドシフトのAVX512対応
動くことは動くのだけど、メモリ帯域のほうが厳しくて演算を速くしても全然速くならない模様。
そもそもi9 7980XEは18コアなのに4ch DDR4しかなく、例えば以前の5960X (8コア/4ch DDR4)に対して比べてみてもかなりコア当たりのメモリ帯域が減っている。5960Xの時から、自動フィールドシフトはほぼメモリ帯域に足を引っ張られていたので、7980XEではさらにメモリ帯域がきつくなってそう。そんな中、AVX512で演算のほうだけ速くしてもだめなのかなあ、という気がする。
・QSVEnc/NVEnc/VCEEncのコード共通部分の拡大
今までこまごまと違うコードになっていた部分を可能な限り共通化した。
・QSVEnc/NVEnc/VCEEncのAviutlプラグインをパイプ渡しに変更
エンコーダに64bitプロセスを使えるように、またAviutlのプロセスのメモリ使用量を削減して、32bitプロセスの4GB制限をなるべく回避できるようになった。まあ、反面遅くなってしまう場合はあると思うのだけど…。
とかいいながら、実は一番大きい理由は、NVEncの事情として、最近のCUDA10では32bitの実行ファイルを作れなくなっていて、将来的に新しいCUDAを使う場合にプロセス分離しておかないといけないから、だったりする。
・QSVEnc/NVEncのオプションリスト
githubのほうに頑張って書いた。結構しんどかった…。
QSVEnc
NVEnc
あ、もしかしてVCE書いてない…?
・QSVEnc/NVEnc/VCEEncのバイナリのgithub版
AppVeyorを使ってgithubのほうにも実行ファイルを(自動的に)置くようにしてみた。(コマンドライン版のみ) そのために、ビルドも比較的簡単にできるようにしてみた。
なにごともバックアップを置くことと自動化することは大事だと思う。
来年やりたいこと
・fgo
・アニメ/漫画見る
・アニメ映画見る
- Fate/Stay Night HF 2章
- コードギアス 復活のルルーシュ
- 冴えない彼女の育てかた Fine
- PSYCHO-PASS サイコパスの新作
・自作PC (SunnyCove / Ryzen2)
・QSVEnc/NVEnc/VCEEncの溜まってるバグ修正とか?
・NVEncのフィルタ増強とか?
・NVEnc SDK 9.0への対応
・VCEEncの内部コード見直し
というわけで、今年もブログに遊びに来てくれた方々、ありがとうございました。
よいお年を。
ではFate Projectの特番見ます。
まあ、それでも少しづつ機能追加したり、バグを修正できたかなと思う。不具合とか、報告いただいた方々、ありがとうございました。再現が難しくて迷宮入りするものもあって申し訳ないですが…。
大雑把にやったことまとめ
・自動フィールドシフトのAVX512対応
動くことは動くのだけど、メモリ帯域のほうが厳しくて演算を速くしても全然速くならない模様。
そもそもi9 7980XEは18コアなのに4ch DDR4しかなく、例えば以前の5960X (8コア/4ch DDR4)に対して比べてみてもかなりコア当たりのメモリ帯域が減っている。5960Xの時から、自動フィールドシフトはほぼメモリ帯域に足を引っ張られていたので、7980XEではさらにメモリ帯域がきつくなってそう。そんな中、AVX512で演算のほうだけ速くしてもだめなのかなあ、という気がする。
・QSVEnc/NVEnc/VCEEncのコード共通部分の拡大
今までこまごまと違うコードになっていた部分を可能な限り共通化した。
・QSVEnc/NVEnc/VCEEncのAviutlプラグインをパイプ渡しに変更
エンコーダに64bitプロセスを使えるように、またAviutlのプロセスのメモリ使用量を削減して、32bitプロセスの4GB制限をなるべく回避できるようになった。まあ、反面遅くなってしまう場合はあると思うのだけど…。
とかいいながら、実は一番大きい理由は、NVEncの事情として、最近のCUDA10では32bitの実行ファイルを作れなくなっていて、将来的に新しいCUDAを使う場合にプロセス分離しておかないといけないから、だったりする。
・QSVEnc/NVEncのオプションリスト
githubのほうに頑張って書いた。結構しんどかった…。
QSVEnc
NVEnc
あ、もしかしてVCE書いてない…?
・QSVEnc/NVEnc/VCEEncのバイナリのgithub版
AppVeyorを使ってgithubのほうにも実行ファイルを(自動的に)置くようにしてみた。(コマンドライン版のみ) そのために、ビルドも比較的簡単にできるようにしてみた。
なにごともバックアップを置くことと自動化することは大事だと思う。
来年やりたいこと
・fgo
・アニメ/漫画見る
・アニメ映画見る
- Fate/Stay Night HF 2章
- コードギアス 復活のルルーシュ
- 冴えない彼女の育てかた Fine
- PSYCHO-PASS サイコパスの新作
・自作PC (SunnyCove / Ryzen2)
・QSVEnc/NVEnc/VCEEncの溜まってるバグ修正とか?
・NVEncのフィルタ増強とか?
・NVEnc SDK 9.0への対応
・VCEEncの内部コード見直し
というわけで、今年もブログに遊びに来てくれた方々、ありがとうございました。
よいお年を。
ではFate Projectの特番見ます。
スポンサーサイト