GPU容量の代替使用?

最近、GPUでの分散レンダリングに関する記事を公開しました。いくつかの質問と提案がありました。 したがって、私はトピックについてより詳細に話し合う必要があると考えます(そして、写真がある場合、記事は写真なしではほとんど読まれません)。

強力なコンピューティングシステムの所有者は、この問題に関心があると思います。 マイナー 、ゲーマー、その他の強力なコンピューティングシステムの管理者です。



強力な鉄の所有者の多くはそれについて考えましたが、価値のない鉄の力で余分なお金を稼ぐことは可能ですか?





私の美しさは行き止まりです!





最も手頃な方法の1つはビットコインです。 分散決済システムのビットコインの出現に関連して、このような興味深いレッスンが登場しました-マイニング(「ビットコインのマイニング」、ビットコインシステムを保護するための計算、システムは参加者にビットコイン交換で有名な通貨の1つと交換できるビットコインシステムに報酬を与える)-十分な費用がかかり、常に利益があるわけではありません。 むしろ、マイニングは、RadeonchikiよりもFPGAの方が収益性が高いことがわかりました。 したがって、後者の所有者は採掘の面であまり恵まれておらず、鉄片を売らなければなりません。





マイニングファームでは、66枚のビデオカードを数えました。 美人! ここから撮影。



私自身も最近、GTX580でマイニングを試みました(そして、Nvidiaはマイニングに悪いです、はい)、しかし、私は月に17(17)ドルであることに気付きました-狂ったお金にもかかわらず、私が夢見ていた給料ではありませんでした。

しかし、冬眠のために急いではいけません! 状況を保存しようとすることができます!



したがって、強力なvidyushki、適切な使用:

1.誰かの利益のために奉仕できる。

2.ビットコインよりも多くの利益をもたらすことができます。

3.ダウンタイム中のビットコインからの利益。



ビデオカードは何に役立ちますか?

1.ビデオカードの汎用計算(汎用グラフィックプロセッサユニット-GPGPU)。

2.ハードウェアラスタライズ(OpenGL、DirectX)。



GPGPUから始めましょう



ビデオカードの使用方法

CUDAは、Nvidiaカードの優れたフレームワークであり、Nvidiaカード専用です。 ハードウェア依存プラットフォーム。

Firestreamは、AMDグラフィックスカード上のGPGPUコンピューティングのフレームワークです。 繰り返しますが、ハードウェア依存のプラットフォームです。 正直なところ、私はFirestreamで単一のレンダリングを見たことがありません。

OpenCLは、CPUとGPUの両方、トースターと電子レンジの両方でコンピューティングするための、ハードウェアおよびソフトウェアに依存しないプラットフォームです。 すべては問題ありませんが、個人的な経験と多数のテストの結果、このプラットフォームは完璧とはほど遠いものであると確信しました。 グリッチ、バグ、最適化の低さ。 たぶん彼らは曲がったペンでそれに書いているのでしょうか? 私は知りません、誰かがコメントにコメントするかもしれません。

HLSLはDirecrXシェーダー言語です。 シェーダーとは何ですか? DirectXで表面描画アルゴリズムを記述します。 1人の友人でさえHLSLでレンダリングしました。 すべては問題ありませんが、プラットフォームはソフトウェアに依存しています。 Small SoftのDirectXのみ。

DirectComputeは、Melkomyagkyのアプリケーション言語(DirectX向け、その他)です。 多くの場合、それの助けを借りて、物理学はビデオカードにかかっています。

GLSLはOpenGLシェーダー言語です。 そして、OpenGLは、ご存じのとおり、ほとんどのハードウェアをサポートし、Windows、Linux、OSXで動作します。 そのため、このオプションが最も有利なようです。 正直なところ、私はその上に深刻なソフトウェアを見たことはありませんが、考える理由があると思います。 言い訳を求めるのではなく、試してみてください、なぜそれを使用しないのか

非グラフィカルコンピューティングでは、GLSLはWebGLアプリケーションで人気があります。 WebGLでの不偏レンダリングの動作を自分で確認し、マウスを使用して画面上のピクセル停止できます。



Nvidia GeForce GTS250およびCore i5の異なるフレームワークを使用して記述されたコードのパフォーマンスを示すビデオがあります。



このビデオは絶対的な指標ではありません。 まず、INFAは時代遅れになる可能性がありますが、OpenCLがすでに他の誰よりも速い場合はどうでしょうか? 第二に、GTS250は、同じマイニングファームでOpenCLのパフォーマンスを評価するための最高級のグラフィックカードではありません。



私の意見では、最も適切なプラットフォームは次のとおりです。

1.汎用性、安定性、速度を考慮したGLSL。 欠点は、プログラミングの不便さです。

2. OpenCL-ユニバーサル、雑食性。 サポートされているすべてのCPUおよびGPUが含まれます。 マイナス-欠陥があります。

3. 1と2を組み合わせます。



GPUコンピューティングを必要とする多くのタスクがあります。 エンジニアリング、科学、金融、グラフィック。 私はグラフィックスに携わっているので、 レンダリングに集中します (これについては後で説明します)。



ハードウェアラスタライズ



最初に思い浮かぶのは、クラウドゲームです( Onliveを参照)。 ゲームのクラウドレンダリングは、リソースを必要とするゲームがコンピューティングサーバー上でリモートで描画され、音声付きの完成した画像がユーザーに送信される場合です。 ユーザーのコンピューターが同じゲームを最低の設定でかろうじてプルするか、一般的にこのゲームと互換性がない場合に使用します。



Androidタブレットでハードウェアを必要とするゲームをプレイする方法に関するビデオ:





それでは、私が提供したいクラウド分散レンダリングシステムに戻りましょう。



クラウドレンダリング



または配布? むしろ、曇り、分散クラウドのみ。 クラウド分散レンダリング。

私はレンダリングに専念したいのですが、ラスタライズではなく、 偏見のないレンダリングなど、もっと真剣で深いアルゴリズムに興味があります。

GPUでの公平なレンダリングのように見えるもの-Octane Render(Nvidia CUDA)の例





このアルゴリズムは、グローバルイルミネーション(光、光の反射、反射の反射、反射の反射、反射など)をリアルタイムでレンダリングできるという点で優れていますが、多くのノイズがあります。

しかし、鉄片の性能が高ければ高いほど、画像のノイズはより速く消去されます。



しかし、Radeonの所有者を困らせないでください! OpenCLを使用したレンダリングがあります。

Cycles Render (オープンソース)、IndigoRT、SmallLuxGPU(オープンソース)



SmallLuxGPU





一般に、自分のソフトウェアを書くか、他の人のコードを理解するか 、どちらの方が良いかがその時間でわかると思います



どのような形で提供するのですか?

1.プラグイン3Dエディターを使用します。

2.ブラウザでjavascriptを使用します。 ところで、「リンクを投げる-誰かに3Dオブジェクトを見せた」などのことができます。



そして、このシステムの使用方法:お金のために、友人のために、または興味深いプロジェクトのために-ユーザーは自分で決定します。



CPUでタスクを分散できますか?



知っているように、グラフィックビデオアダプタは、マルチスレッドコンピューティングで(CPUに比べて)かなり高いパフォーマンスを発揮します。 ただし、CPUをオフにする必要はありません 。 書くのが非常に難しい、またはGPUを使用するのが実用的でないタスクがあります。



一般的に、私の意見はこの写真に反映されていますが:

画像

まあ、ボタンアコーディオンのない投稿は投稿ではありません。



プロジェクトのイデオロギー的要素



コンピューティングは、再配布が必要なリソースの一部にすぎません。 生産性の高い腺が必要な人もいれば、アイドル状態の人もいます。 同じことが他の資源にも当てはまります:お金、水、食物、エネルギー、熱。 喜びをもたらさない過剰な人もいれば、不快感を引き起こす不利な人もいます。

人類は生活のあらゆる面で相互支援を必要としています。 そして、レンダリングと分散コンピューティングは、互いに助け合うことができるリソースのほんの一部です。 それでも、新しい鉄片を購入するよりも既存のアイドル容量を使用する方が適切ですか?

つまり、未来は分散コンピューティングにあります! 私は、プロジェクトを熱心に開発し、開発者に聖霊を与えるべきだとはまったく言いません。



合計



このトピックが突然誰かに興味を起こさせられた場合、同志に話し合うことをお勧めします!



All Articles