「GPU」タグアーカイブ

QNAP TS-1277にGPUを追加 その2

QNAP TS-1277にGPUを追加の続きとなります。

TS-1277にGT 1030を追加してQTSやContainerStation、Virtualization Station用として外部モニターに映像を映し出すことはできていたのですが、GT 1030ではハードウェアトランスコードは行うことができませんでした。
従ってオンザフライでハードウェアトランスコードを行っての配信なども当然できませんでした。
ロープロファイル、且つ1スロットの対応製品を見つけることもできませんでしたし半ば諦めていました。

しかし海外のフォーラムを見ていたらQuadro P400がQNAPのNASでハードウェアトランスコードが可能だったとのコメントを見つけました。

Quadro P400はロープロファイルで1スロット占有でボードの長さも150mmしかありません。
そしてH.264だけでなくH.265のハードウェアエンコードにも対応しています。
メモリは2Gしか積んでいませんが、そもそもの用途がゲームでもありませんし、画面を沢山表示することでもないため問題にはなりません。
ということで、もし使用可能だったら良いなとダメもとで購入してみました。

ELSA NVIDIA Quadro P400 v2 EQP400-2GER2 VD7141

Quadro P400は実際に見ても非常に小さいです。
NASにとってはうってつけのサイズ感です。
但し出力ポートはMini Display portしかありませんので注意が必要です。
MiniDP to DP 変換ケーブル、シングルリンク対応MiniDP-DVD-D変換ケーブルが同梱されているので、DPケーブルと対応のモニターがあれば他に何も買わなくてもOKです。
HDMIで接続したい場合はDP to HDMIの変換ケーブルが別途必要となります。

TS-1277のPCIe Gen 2 x4拡張スロットに挿したところ長さも問題なく収まりました。

電源を投入すると数回のビープ音とともに起動しました。

起動後にハードウェアの項目を見ると…
ハードウェアトランスコードに対応しています!

試しにハードウェアトランスコードを使用したエンコードと、Qvideoを使用したオンザフライでのリアルタイムトランスコードを行ってみましたが、全く問題なく動きました。
但しGPUの使用率は30%~40%くらいになっていたので、オンザフライでの配信は2つくらいまでが限界かもしれません。

2021/11/23 追記
QTSバージョン5.0.0.1853 build 20211114では問題なく動いてましたが、QTSを5.0.0.1858 build 20211119にバージョンアップしたところハードウェアトランスコードが上手く動かなくなりました。
QNAPの製品はバージョンアップで不具合が出ることが結構あるので、もし動かない場合はQTSのバージョンによる不具合も疑ってみてください。
(QTSをQNAPのサイトからDLしてきて手動でインストールすればバージョンダウンも可能です)
大抵は不具合が出たバージョンの次か、その次くらいには不具合が解消されることが多い印象です。

QNAP TS-1277にGPUを追加

TS-673からTS-1277(1700-16G)へと機種変更しました。
TS-1277は既に販売終了となっている少し前のモデルで、ZFSベースとなるQNAPのOS「QuTS hero」を導入することはできません。
とはいえAMD Ryzen™ 7 1700 8コア/16スレッド3.0 GHzプロセッサ(Turbo Core 3.7 GHz)を搭載しており、NASの中ではパワフルでVMなどを使用するには向いている機種だと言えます。

しかしRyzen 1700はGPU機能を持たないため、HDMI経由でモニターに表示したりすることができません。
そこでTS-1277にGPUを追加しようと考えましたが、NVMeのRAID拡張カードや10GbEネットワークの拡張カードなどを既に追加している場合、GPUの追加には頭を悩ませることになります。

TS-1277はPCIeの拡張スロットを3つ持っています。
スロット 1:PCIe Gen 3 x8
スロット 2:PCIe Gen 3 x4
スロット 3:PCIe Gen 2 x4

この中で2slot占有できるのは「3 x8」「3 x4」になります。
NVMeのRAID拡張カードは長さの問題から「3 x8」を使用するように指定されています。
(他は長さの問題から物理的に筐体と干渉して挿せません)

すると残るは「3 x4」「2 x4」の2つとなります。
そしてこの2つのスロットはlow profileのスロットになります。
2slot分潰していいのであればlow profile且つ2lotタイプのGPUを使用可能ですが、私の場合は10GbEの拡張LANカードを使用するため、帯域の問題もあり「3 x4」のスロットはLANカードが占有します。

そうなると残りは「2 x4」のlow profileで1slotタイプのものしかGPUとして利用できません。
この時点でNVIDIAのGTX-1050以上のハードウェアトランスコードが可能な製品は存在しなくなります。
ハードウェアトランスコードを行わないのであれば動作確認が取れているGT 1030が一番安心して導入できるのでGT 1030で探してみました。
GT 1030であればlow profile且つ1lotタイプのものが複数存在します。
が、筐体の空きスペースを計ってみると150mm以上の長さのものは搭載不可となり、最終的に候補に上がったのがMSI GeForce GT 1030 2GD4 LP OCとなりました。

計算上は入るはずですが実際に挿すまではどうなるか分かりません…

かなりギリギリですが干渉せずにスロットに挿すことができました。

下の写真の左側に刺さっているのがQM2-4P-384(NVMe SSD拡張カード)です。
長さ的に右側にあるスロットには挿すことができません。
横幅的にはlow profileにも対応しています。

筐体的には結構隙間があるのでもう少し上手にレイアウトできなかったのかとは思います。

結果的にGPUは「2 x4」のスロットに挿すことになりましたが、BIOSの表示も問題なくできますし、VMやQNAPアプリの出力先に指定することもできます。
ハードウェアトランスコード以外は問題なく動く感じです。
GT 1030というロースペックなGPUということもあって帯域もPCIe Gen 2 x4で全く問題なさそうです。

ちなみにBIOSをTS-1277XU-RPのものに書き換えるとRyzen 2700に換装することが可能なようで、既にTS-1277のBIOSは書き換え済みです。
BIOS書き換えの参考サイト
既に安いRyzen 2700が手に入らない状態なのでまだ換装していませんが、そのうち換装しようかと思っています。

2021/11/20 追記
QNAP TS-1277にGPUを追加 その2に続きます。

QNAP TS-673でTS(MPEG2)ファイルをMP4(H.264)に変換する

地デジやBS・CSをRaspberry Pi 4で録画し、TSファイルからH.264に変換するところまでやっていましたが、変換に録画時間と同じくらいの時間が掛かります。
Raspberry Pi 4もハードウェアトランスコードには対応しているようですが、どっちにしても同じくらい遅いのに変わりはありません。

QNAP TS-673にはトランスコードの機能がありますし、GPUも追加しているので変換はTS-673に任せることにしました。
Raspberry Pi 4はTSファイルでの録画までとなりCPUを殆ど使わなくなるため、使い方的にはちょっともったいない気もしますが…

TSファイルの保存先をTS-673のNFSにしているので、あとはTS-673側でトランスコードの設定をするだけです。
マルチメディアコンソールのトランスコードの設定で、リアルタイムスキャンを選んでTSファイルの保存先を指定するだけです。
フォルダの指定時に480Pやオリジナルなど欲しい解像度を選択すれば、その解像度のファイルが生成されます。

設定はたったこれだけです。
GPUを積んでいればGPUを使用したハードウェアトランスコードが行われます。
GTX 1650使用(GPU使用率20%前後)で2時間のFullHDの動画を、オリジナル解像度のままで約10分程度でH.264のMP4に変換してくれます。

変換したMP4ファイルは、指定したフォルダの下の@Transcodeフォルダ内に選択した解像度の分だけ生成されます。
変換元のTSファイルを自動削除したり、変換後のファイルを特定のフォルダに移動したりはできないので、そこは手動で行う必要があります。
これらの処理はRaspberry Pi 4で動かしているアプリだとできるので、TS-673でトランスコードする場合は少し勝手が悪くなってしまいます。
TS-673でのトランスコード後の処理をどこかに記述できればいいのですが、ざっと見た感じでは発見できませんでした。

QNAP TS-673にGPGPUを追加 その2

QNAP TS-673にGPGPUを追加の続きとなります。

一旦はQNAP TS-673にQNAPドライバのサポート対象であるGTX 1050 Tiを挿して使用していましたが、GTX 1650でも動作するのか試したく購入しました。

ELSA GeForce GTX 1650 SP(GD1650-4GERSP)

下の写真は全て上がGTX 1650で下がGTX 1050 Tiとなります。

サイズは全く同じです。
基盤のパターンなどは違いますが、よく見ないとどちらがどちらか分からないほどです。
唯一見た目で違うのは、ブラケットにある端子の種類くらいです。

箱は同じELSAのGTX 1050 Tiよりも一回り大きいです。
基盤のサイズは同じなので、無駄に箱を大きくする必要があったのか…

とまあ、外見上の違いはここまでとして、実際にQNAP TS-673上でトランスコードができるのかです。
現時点で使用可能なQNAPのNVIDIA GPU Driver 3.0.5(NVIDIA driver version 418.56)ではGTX 1650を正式サポートしていません。
(GTX 1650をサポートしているのはNVIDIA driver versionは418.74以降となります)

ダメもとでQNAP TS-673に挿してみたところ、認識自体は問題なくしており、起動時の画面もHDMI経由で表示されました。
OS起動後もハードウェアとして認識されており、トランスコードも可能と表示されました。

実際にQNAPのアプリでオンザフライのトランスコードを試してみたところ、これも問題なく動きました。

ということで、現在の最新バージョンであるQNAPのNVIDIA GPU Driver 3.0.5でも問題なくELSA GeForce GTX 1650 SPにてハードウェアトランスコーディングが可能でした。