玄人志向 PCIEX1-PCI を買ってみました。~その2~

前回の記事からかなり時間が空いてしまいましたが、PCI-PCIEx1ブリッジカードである「玄人志向 PCIEX1-PCI」をなんとか動作させることができました。

また、マイニング用ライザーカード、グラフィックカードとの組み合わせでも動作させることができましたので、安定動作させるためにやったことや、PCIEx1スロットに直接接続した場合とのハッシュレート比較についても書いてみたいと思います。





玄人志向 PCIEX1-PCI
玄人志向 PCIEX1-PCI






関連記事





取り付け・動作確認

前回の記事では、先ず「ASUS F1A75-V PRO」という Socket FM1 のマザーボードに取り付けてみたところ、デバイスマネージャーでは認識しているが、動作は不可でした。

次に、「BIOSTAR TA790GX128M」という Socket AM2+ のかなり古いマザーボード(Socket FM1も十分古いけど・・・)に取り付けてみると、デバイスマネージャーで認識、正常動作しているようでした。

しかし、「BIOSTAR TA790GX128M」はメインPCで使っているマザーボードなので、万が一メインPCが動かなくなると何もできなくなってしまいますから、突っ込んだ検証はやめておきました。



そこで、今回は「GIGABYTE GA-MA770-DS3」という、やはり Socket AM2+ の古いマザーボードに取り付けてみました。


GIGABYTE GA-MA770-DS3
GIGABYTE GA-MA770-DS3


写真では見づらいかもしれませんが、橙矢印の位置にあるPCIスロットに取り付けられています。

このマザーボードはマイニングPC1号機のものなので、5個あるPCIEスロットにライザーカードが接続されています。PCIEスロットに差し込むUSB端子付きの基盤は簡単に抜けてしまうため、園芸用の支柱(笑)を短く切ったもので固定してあります。





デバイスマネージャー(PCIEX1-PCI取付け)
デバイスマネージャー(PCIEX1-PCI取付け)


「PCIEX1-PCI」のみを取り付けた状態の Windows10 のデバイスマネージャーの様子です。

「PCI-to-PCIブリッジ」の下に、「PCI-to-PCIブリッジ」が追加されています(橙枠)。また、アイコンに"!"マークも付いていないため、正常に動作しているようです。

この「GIGABYTE GA-MA770-DS3」というマザーボードは、「AMD Phenom 9600 Quad-Core Processor」と一緒に購入したものです。

この製品を選んだ理由は価格が無難だったからなのですが、購入当時はほとんど対応製品が販売されていなかったPCIEx1スロットがなんと4つもついているちょっと変わったマザーボードです。

しかも、サウンド、LAN、USBはもとより、デバイスマネージャーにも表示されていますが、Texas Instruments 社の IEEE1394 コントローラーまで搭載されており、統合グラフィックスはないのでグラフィックカードは必要ですが、それ以外は全部入りといった感じで、拡張スロットがたくさんある必要性がありません(笑)。

しかし、マイニング用マザーボードとして見るとPCIEスロットがx16とx1合わせて5本もあるため、PCIEスイッチカードなどを使用しなくても5枚のグラフィックカードが接続できるので、有用性があります。しかし、GIGABYTE は当時からマイニング需要を見通していたのでは?と勘ぐってしまいますね(嘘)。

ちなみに Phenom 9600 の発売日は2007年12月25日みたいですね。私が持っているのは Black Edition ではないです。定格運転の安定志向なので(笑)。






デバイスマネージャー(AMD Radeon R9 290接続)
デバイスマネージャー(AMD Radeon R9 290接続)


「PCIEX1-PCI」にライザーカードを接続し、グラフィックカードとして「AMD Radeon R9 290」を取り付けてみた場合のデバイスマネージャーの様子です。

なお、「Texas Instruments IEEE1394 コントローラー」は競合して動作の妨げになる恐れがあるため無効化しました。そのため、デバイスマネージャーに表示されていません。

グラフィックカード「AMD Radeon R9 290」(デバイスマネージャーでは「AMD Radeon R9 200 Series」と表示)の項目には"!"も表示されておらず、正常に動作しているようです。

しかし、相性問題はあるようで、この他に「AMD Radeon RX570」、「NVIDIA GEFORCE GTX1060」を接続してみましたが、RX570はデバイスマネージャーで認識するが動作不可(下記参照)、GTX1060ではデバイスマネージャーで認識すらしてくれませんでした(汗)。






デバイスマネージャー(AMD Radeon RX570接続)
デバイスマネージャー(AMD Radeon RX570接続)


上でちょっと触れた、「PCIEX1-PCI」にライザーカード経由で「AMD Radeon RX570」を取り付けてみた場合のデバイスマネージャーの様子です。

「Radeon RX570 Series」の項目が2つありますが、正常に動作している方はディスプレイを接続している方のグラフィックカードです。こちらはPCIE接続です。

上述のとおり、"!"マークが付いてしまっており、正常に動作していません。






デバイスマネージャー(Radeon RX570 Seriesのプロパティ)
デバイスマネージャー(Radeon RX570 Seriesのプロパティ)


Radeon RX570 Seriesのプロパティの様子です。

デバイスの状態に、「問題が発生したのでこのデバイスは停止しました。(コード43)」とあります。





仕方がないので、グラフィックカードを「AMD Radeon R9 290」に戻し、試しにマイニングソフトを動かしてみました。

コントロールパネル > システムとセキュリティ > セキュリティとメンテナンス > 問題の詳細(ハードウェアエラー)
コントロールパネル > システムとセキュリティ > セキュリティとメンテナンス > 問題の詳細(ハードウェアエラー)


Claymore’s Dual Minerを使用して、イーサリアムとDecredのデュアルマイニングを行い、それぞれのハッシュレートを比較してみようと思い実行してみると、最初の10分くらいは正常に動作しているようですが、デバイスドライバがグラフィックカードのハングアップを検出したと判断する(?)ようで、動作を停止してしまいます。






コントロールパネル > システムとセキュリティ > セキュリティとメンテナンス > 問題の詳細(Radeon設定エラー)
コントロールパネル > システムとセキュリティ > セキュリティとメンテナンス > 問題の詳細(Radeon設定エラー)


また、Radeon設定を起動しようとしてもエラーが出てしまいました。これではWattMan(Radeon設定についているチューニングツール)を使って、GPUクロックを下げたり、ファンの回転数を変更できません。



どうしたものかと思い、ネットで色々と調べていると、レジストリのTDR(Timeout Detection and Recovery)値を変更すると症状が改善しそうなので試してみました。

TDR(Timeout Detection and Recovery)プロセスとは、GPU(グラフィックプロセッサ)がハングアップしているどうかを検出し、している場合は回復を試みるWindowsの機能です。


参考資料:
Timeout Detection and Recovery (TDR)(Microsoft Hardware Dev Center)Timeout Detection and Recovery (TDR)(Microsoft  Hardware Dev Center)
TDR Registry Keys(Microsoft Hardware Dev Center)TDR Registry Keys(Microsoft  Hardware Dev Center)


TDR関連のレジストリキーは複数あるのですが、そのうちの関係ありそうな「TdrDelay」を変更してみました。他のレジストリキーについては上記リンクの「TDR Registry Keys」に掲載されています。そちらを参照ください。

「TdrDelay」とは、GPUで実行されるプログラムの実行時間のタイムアウト値のようなもので、デフォルトは2秒のようです。

プログラムの実行時間がこの値を超えるとエラーとなるため、GPUプログラミングをする場合はタイムアウト時間内に処理が終わるように考慮する必要があるようです。

そこで、2秒→30秒に変更してみました。

値を変更後、再びマイニングソフトを動かしてみましたが・・・、症状は改善されませんでした(汗)。


よくよく考えてみると、グラフィックカードの接続方法がPCIEx1と違いがあっても、以前からGPUマイニングをやっていて今回のようなエラーに出くわしたことはなかったし、マイニングソフトも「TDR」のことは考慮して作られているはずなので、別の原因がありそうです。



そこで、「PCIEX1-PCI」はPCIバスに接続されていることに注目して、さらに調査を続行。

最近はPCIスロットをほとんど使わないので忘れていましたが、以前にPCI接続のビデオキャプチャカードを安定動作させるために試行錯誤したとき、BIOSのPCIバス関連の項目で、PCIスロットのIRQ番号の固定割り振りや、PCI Latency timerをいじった記憶があったので、その辺を中心に調査してみました。

という訳で、「GIGABYTE GA-MA770-DS3」のBIOS画面を確認してみます。ところが、2本あるPCIスロットのIRQ番号の固定割り振りをする項目はありましたが、PCI Latency timerの項目がありませんでした(涙)。

IRQ番号の割り振りはPnPに対応しているPCIバスでは自動で最適値に設定されるため不要ですし、固定で割り振ると他のデバイスにも影響が出るので、今回は設定するのをやめておきました。



次に、PCI Latency timerですが、BIOSで変更できない以上、何らかの別の方法を探さねばなりません。

PCI Latency timerとは、PCIバスに接続されているデバイスが、データを送受信するためにPCIバスを占有できる時間のタイムアウト値のようなものです。

PCIバスは32bit幅のパラレルバスを複数のデバイスが共有する構造になっているため、あるデバイスがPCIバスを占有し続けると、他のデバイスがデータ送受信できなくなってしまいます。

そのため、占有できる時間の最大値が決められており、現在データ送受信中のデバイスがあっても、タイムアウトした場合は通信を中断してバスを開放、時分割で複数のデバイスが1つのバスをローテーションで占有、データ送受信できる仕組みになっています。

しかし、送受信するデータ量が多いデバイスの場合、PCI Latency timerの値が小さいと、バスを開放している間に未送信データがバッファに蓄積・オーバーフローを起こしてしまい、うまく送受信できなくなってしまいます。

そのため、ビデオキャプチャーカードなどの大量データを送受信する必要があるデバイスの場合、この値を大きくすることにより安定動作させることができる可能性があります。


ネットで調べものをしていたところ、「PCI Latency Tool」というソフトを見つけました。このソフトを使うとWindows上からPCI Latency timerの値を変更できるようです。

PCI Latency Tool 3.1 v2(Guru3D.com)PCI Latency Tool 3.1 v2(Guru3D.com)

ただしこのソフト、上記リンクの最終バージョン(?) 3.1 v2 は WindowsXP(64bit)までが動作保証対象のようで、Windows10(64bit)では通常の方法ではインストールに失敗してしまいます。

また、仮にインストールに成功できたとしても正常に動作するか不明です。しかし、藁にもすがる思いでなんとか動作させてみることにしました。



PCI Latency Tool(インストール中のエラーメッセージ)
PCI Latency Tool(インストール中のエラーメッセージ)


インストーラーファイル「LtcyCfg3-x64.msi (64bit版)」を実行して、インストール中にエラーが発生した様子です。

この「PCI Latency Tool」は、PCI Latency timerを変更するためのGUIツールの他に、専用のデバイスドライバもインストールします。しかし、そのデバイスドライバのデジタル署名がWindows10に対応していないため、インストールに失敗するようです。

そのため、Windows10をテストモードで起動、且つ、デバイスドライバのドライバー署名の強制を無効化するモードに変更して、やっとインストールに成功、動作させることができました。

テストモード起動・ドライバー署名の強制の無効化については以下のサイト様を参考にさせて頂きました。この場にて謝辞申し上げます。
Windows10で署名なしドライバをインストールする方法/テストモードにする方法(ぼくんちのTV別館)Windows10で署名なしドライバをインストールする方法/テストモードにする方法(ぼくんちのTV別館)






PCI Latency Tool(無事に起動)
PCI Latency Tool(無事に起動)


紆余曲折がありましたが、「PCI Latency Tool」をWindows10(64bit)で起動できました。

青色反転している行の「PCI-to-PCIブリッジ」のLatencyの列(橙色枠の部分)をデフォルトの64→128に変更しました。するとRadeon設定や、マイニング中にエラーが出なくなりました。

マイニングについては、Claymore’s Dual Minerを使用して、イーサリアムとDecredのデュアルマイニングを5時間ほど動かしてみましたが、エラーは出ていないようでした。




しかし、安定してホッとしているところに、思わぬ落とし穴がありました。

PCI Latency Tool Driver(デバイスマネージャー)
PCI Latency Tool Driver(デバイスマネージャー)


「PCI Latency Tool」が正常動作している場合のデバイスマネージャーの様子です。

システムデバイス配下に「PCI Latency Tool Driver」が3つあります(橙枠の部分)。上で説明したドライバー署名の強制を無効化しないとインストールに失敗するデバイスドライバです。






PCI Latency Tool Driver(デバイスマネージャー・ドライバ停止)
PCI Latency Tool Driver(デバイスマネージャー・ドライバ停止)


しかし、1回でもパソコンを普通に再起動してしまうと、「ドライバー署名の強制の無効化」が解除されてしまい、「PCI Latency Tool Driver」に"!"が付いてしまい、動作していません。

こうなってしまうと、また再起動してドライバー署名の強制を無効化しなければ動かすことができません。





PCI Latency Tool Driverのプロパティ(デジタル署名エラー)
PCI Latency Tool Driverのプロパティ(デジタル署名エラー)


「ドライバー署名の強制の無効化」が解除された状態の「PCI Latency Tool Driverのプロパティ」の様子です。






ドライバがエラーの状態でPCI Latency Tool実行
ドライバがエラーの状態でPCI Latency Tool実行


ドライバーがデジタル署名エラーで動作していない状態で「PCI Latency Tool」を実行すると、このようなエラーメッセージが出てしまい、起動しません。

やはり、BIOS側でPCI Latency timerが変更できるマザーボードで使用するのが無難そうですね。

まあ、マイニングの場合、マイニングソフトを動かしてしまえば再起動は基本的にしないので、それほど大きなペナルティにはなっていないとも言えるかもしれませんが・・・。

「GIGABYTE GA-MA770-DS3」の場合、2本ついているPCIスロットはレガシーデバイスを使いたい向けの救済措置であって、PCIEスロットがたくさんあるので、そちらを中心に使ってくださいって事なのでしょうね。





ハッシュレート比較

何とか動いてくれたので、PCIEx1スロットに直接接続した場合と「PCIEX1-PCI」を使用した場合とで、ハッシュレートに違いがでるか比較して見たいと思います。

Claymore’s Dual Minerを使用して、イーサリアムとDecredのデュアルマイニングをそれぞれケースで実行。マイニング開始直後はハッシュレートが変動しやすいようなので、2時間程度測定し、後半の1時間のハッシュレートを比較しています。

使用したグラフィックカードは動作検証で安定動作の確認がとれている「AMD Radeon R9 290」です。Radeon設定でファンの最大回転数を4500rpmに変更していますが、それ以外の項目はデフォルトのままです。とても発熱量の多いグラフィックカードなので、ファン設定だけは変更しないと危険です(汗)。



先ずは、イーサリアムのハッシュレート比較から。

イーサリアムハッシュレート(PCIEx1スロット直付け)
イーサリアムハッシュレート(PCIEx1スロット直付け)


PCIEx1スロット直付けの場合のハッシュレート時間変化グラフです。

  • 平均: 24.63Mh/s
  • 最大: 25.73Mh/s
  • 最小: 16.52Mh/s

となっていました。マイニングプール側の問題なのかグラフにディップが多めです。



イーサリアムハッシュレート(PCIEX1-PCI使用)
イーサリアムハッシュレート(PCIEX1-PCI使用)


PCIEX1-PCIを使用した場合のハッシュレート時間変化グラフです。
  • 平均: 24.44Mh/s
  • 最大: 25.72Mh/s
  • 最小: 15.51Mh/s

PCIEx1スロット直付けの場合と比べてハッシュレートが少々落ちているようにも見えます。

しかし、平均値で0.2Mh/s程度、最大値は誤差の範囲、最小値は1Mh/sほど差がありますが、この程度の差ではPCI接続の転送速度が影響している、PCI-PCIEブリッジのオーバーヘッドが影響している、または、マイニングプール側の問題なのかちょっと判断が付きかねますね。

以前、こちらの記事でも同様の測定を行っていますが、そちらのグラフではディップも浅く、数も少ないので、マイニングプール側の問題の方が、測定結果の違いに大きく影響しているように思えます。




次に、Decredのハッシュレート比較です。

Decredハッシュレート(PCIEx1スロット直付け)
Decredハッシュレート(PCIEx1スロット直付け)


PCIEx1スロット直付けの場合のハッシュレート時間変化グラフです。
  • 平均: 738.97Mh/s
  • 最大: 771.96Mh/s
  • 最小: 495.51Mh/s

となっていました。こちらもディップが多めです。



Decredハッシュレート(PCIEX1-PCI使用)
Decredハッシュレート(PCIEX1-PCI使用)


PCIEX1-PCIを使用した場合のハッシュレート時間変化グラフです。
  • 平均: 733.19Mh/s
  • 最大: 771.55Mh/s
  • 最小: 465.26Mh/s

Decredの場合でもPCIEX1-PCIを使用した方がハッシュレートが少々低下していますが、イーサリアムの場合同様、グラフがかなり暴れており、実行した時間帯なども影響していそうなので、この程度の違いで優越つけるのはちょっと難しいように思えます。



もう少し長い時間測定を行えば、明確な違いが出てくるかもしれないと思い、PCIEX1-PCI使用した場合の測定では安定動作をしているかの確認も兼ねて5時間以上動かしていたので、全データをグラフ化してみました。

イーサリアムハッシュレート(PCIEX1-PCI使用・全データ)
イーサリアムハッシュレート(PCIEX1-PCI使用・全データ)

Decredハッシュレート(PCIEX1-PCI使用・全データ)
Decredハッシュレート(PCIEX1-PCI使用・全データ)


上段がPCIEX1-PCIを使用した場合のイーサリアムハッシュレートの全データグラフ、下段がDecredハッシュレートの全データグラフです。

イーサリアムハッシュレート(全データ)
  • 平均: 24.66Mh/s
  • 最大: 25.73Mh/s
  • 最小: 14.85Mh/s

Decredハッシュレート(全データ)
  • 平均: 739.86Mh/s
  • 最大: 772.60Mh/s
  • 最小: 445.46Mh/s


サンプル数が増えたため、最大値、最小値の振れ幅は広がっていますが、平均値を見ると、イーサリアムハッシュレートではPCIEx1直付けの場合の平均値が24.63Mh/sなので、誤差の範囲。

DecredハッシュレートもPCIEx1直付けの場合の平均値が738.97Mh/sと誤差の範囲になっており、PCIEX1-PCIを使用してPCIバスにPCIE接続のグラフックカードを接続しても、今回の実験結果を見た限りではハッシュレートが変化することはなさそうです。


関連記事


にほんブログ村 PC家電ブログ オーディオへ
にほんブログ村

にほんブログ村 PC家電ブログ ピュアオーディオへ
にほんブログ村

テーマ : 自作PC・改造(他)
ジャンル : コンピュータ

tag : パソコン パソコン自作 PCI-PCIEブリッジ 玄人志向 PCIEX1-PCI Pericom PI7C9X111SL

コメントの投稿

非公開コメント

広告
Google検索
プロフィール

meridianstar

Author:meridianstar
元システムエンジニアの成れの果ての姿。
詳しいプロフィール:はじめに

contact
※ブログ内容にそぐわない質問の場合、お答えできないことがあります。ご了承ください。

Twitter:meridian15
ニコニコ動画:ヤサコ
pixiv:ヤサコ

ブロとも申請フォーム

この人とブロともになる

記事一覧
最新記事
広告
カウンター
注目しているもの
リンク(企業)
リンク(お友達)
  • Bond's Lab
    音楽とオーディオとDIYをこよなく愛する ボンド君 氏 の趣味サイト。

  • 試行錯誤
    試行錯誤 氏 のプログラミングお勉強ブログ。

このブログをリンクに追加する
RSSリンクの表示
参考書籍
にほんブログ村
QRコード
QR
Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

にほんブログ村