パスワードを忘れた? アカウント作成
42806 story

ATI Stream SDK v1.3-beta公開、Brook+が大幅強化 10

ストーリー by soara
ちゃんと進んでいます 部門より

Anonymous Coward曰く、

ATI Stream SDK v1.3-betaが 公開 されました。

11月の発表 の通りに、GPGPUプラットフォーム名としてATI Streamを打ち出したのに合わせて "AMD Stream SDK"から名称が変更されています。 今回の変更点は主にATI Streamに合わせてCALランタイムをドライバ側へ移行したこと、 Brook+の大幅強化とランタイムの全面的な書き直しとなっています。

OpenCL 1.0のリリース直後での公開ですが、 別にOpenCLを実装していたりするわけではないようです。

フォーラムの告知 やリリースノートに記載された主な変更点は以下の通り。

  • CAL
    • ランタイムdllをドライバ添付に(従ってCatalyst 8.12以降が必要)
    • 64bitランタイムの名称変更
    • DirectX 9との協調がVista限定であることを明記(SIGGRAPH 2008じゃ出来るって言ってたのに・・・)
    • ATI Radeon HD 4350, 4550, 4650 ,4670, AMD FireStream 9270のサポート
  • Brook+
    • CUDAのDriverAPIに当たる新しいAPIを実装
    • streamの動的割り当てと解放をサポート
    • メモリマネージメントの最適化
    • データ転送性能の改善
    • streamのサイズ等に関する制限を緩和
    • 倍精度のサポート
    • その他いろいろ
Catalyst 8.12は日本時間で12月11日未明 に公開される予定な上に、公開直後はサーバが混み合ってダウンロードしにくい可能性もあるなので、 FireStream向けのドライバで代用も可能らしいです。 一応8.12 RC3は既にリークされていて、 こちらでも大丈夫なようです(タレコミ子による確認)。

Brook+はOpenCLに移行した後に見捨てるつもりだろうとばかり思っていましたが、 どうやらCUDA並のものに一通り仕上げるつもりでいるようですね。

そしてフォーラムをよく読むと"ATI Stream KernelAnalyzer"なる見慣れない名称が。 GPU ShaderAnalyzerの後継でしょうか。

Brook+独特のホスト側コードの記法は正直書きにくかったので、C++のクラスとテンプレートで実装された新しいAPIは大歓迎です。

Catalyst 8.12のダウンロードは12月14日現在スムーズでした。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by chapuni (1170) on 2008年12月15日 12時26分 (#1473471) ホームページ 日記
    手前味噌で恐縮ですが紹介させてもらいます。

    トリップ検索ツール「まあ、待て屋。」(Radeon対応) [osdn.jp]

    CRYPT(3)ベースのIDシステムである"トリップ"を、全力で総当たりするツールです。
    構造的にはJohn the RipperなどのDESクラッカーと似ています。
    HD4850 で60Mキー/s, HD4870X2(tweakあり)で120Mを超えるレートをたたき出します。
    このとき、GPUの廃熱はまるで熱風です。
    参考までに、CPUだとQuad Coreで10M前後、PS3でも15M程度です。

    (嫁には内緒でお願いします。通報しないでね。)
    • by yohata (11299) on 2008年12月15日 16時00分 (#1473640)
      早速試してみました。おもしろいですね。

      SDKのプレスリリースでは4x00シリーズのみ対応のようですが、うちの3870でも動くんですね。
      これは何か特殊な処理をしているのでしょうか?それとも
      「保証しないだけ。SDK標準で3シリーズでも動くよん」
      と言うことなのでしょうか?

      ちなみに、20M/sほど出ておりました。

      #Catalystの負荷メータを見る限り、CPU演算しているわけではないようです。

      親コメント
      • RV700系のみサポートという文言は、Catalyst8.12対応の一部のアプリのことだと理解しました。
        SDKドキュメント中では、3870含み、R600系もそれなりにサポートされていると書いてあります。

        Compute Kernel(Compute Shader)という、Pixel Shaderよりやや自由度が高いカーネルが、RV700系以降サポートなのですね。
        だから両対応するのがメンドくせー場合、4xxx対応と謳ってしまうのが手っ取り早いのでしょう。
        また、能力をアピールするためにはR600系が力不足のため、あえてRV700系のみをターゲットにしているとも考えられます。

        件のヤツは、Compute Kernel, Pixel Shader ともに実装し、能力によってどちらを使うか切り替えてます。
        親コメント
    • by Anonymous Coward
      自分でも作りたいんだけど、Brook+と資料がないのでわかりません。
      どこで、プログラムの為の情報をゲットしたのか教えて下さい。

      あと、linuxで動かしてる猛者の情報希望

      #ちなみに私はCUDAはやっていて、速度比較がしたいのさ。

      • Re:情報希望 (スコア:2, 参考になる)

        by chapuni (1170) on 2008年12月16日 11時00分 (#1474062) ホームページ 日記
        件のヤツは、Brook+ではありません。CAL ILです。
        プロトタイピングはBrook+-1.2.1で行い、またILスケルトンとして利用しましたが
        1.3になって改良されたとしてももはや食指が伸びません。
        私のばあい、むしろStream Processor ISA(ネイティブ命令)を狙うべきか…と考えてます。

        ATI Streamの資料は、こと日本語に関してはほとんど見られないのが現状です。
        たしかにCUDAの方が手っ取り早い。
        私は、イマイチ役に立たないサンプルを懸命に眺めたりいじったりShader Analyzerに喰わせたり、
        AMD Forumをいっしょうけんめい眺めてどうにかキャッチアップできました。
        フォーラムの方では、研究目的かLinux使いが多いようです。
        4870X2を4台、2KW電源を用意してwktkして待ってる! って猛者もいます!

        Brook+はともかく、ILの方はシミュレータがないため、実機が必要ですね。
        オススメは4850あたり。安くてそれなりだと、4830もしくは4670あたりがよいです。
        4870X2は、GPGPU的に地雷です。マジ。

        あ、ATIのカードがなくてもSDKはインストールできます。
        私はx64のクロス開発ホストとして、ATIのカードがないXP Homeでやってます。
        親コメント
        • by Anonymous Coward
          もとACです。

          情報ありがとうございます。

          私は研究目的でCUDAを利用しています。研究的に速度が欲しいのでAMDと比較してみたく思ってました。
          CAL IL (英語可)の文献ってどこから持ってきましたか?

          機械は高い物でもないので研究費で購入しようと思っています。
          ただ、無駄金は使えないので、できればなぜ地雷か教えて頂けると嬉しいです。

          なんか「教えて君」で申し訳ないです。でも情報が少くて。。。

          • by chapuni (1170) on 2008年12月16日 14時48分 (#1474234) ホームページ 日記

            CAL IL (英語可)の文献ってどこから持ってきましたか?
            AMDから個別にダウンロードできたと思いますが、SDKにまとまって入っています。
            CAL APIリファレンスとILリファレンス(ついでにR600 ISAリファレンスも)が利用可能です。
            先に申し上げましたが、WindowsであればRadeonが入っていなくてもインストールなどは可能です。
            また、Brook+とかILを机上でいじってヒマつぶすのであれば、ツール Stream KernelAnalyzer をインストールするとよいです。
            Linuxの事情は存じ上げません。

            機械は高い物でもないので研究費で購入しようと思っています。
            ただ、無駄金は使えないので、できればなぜ地雷か教えて頂けると嬉しいです。
            4870X2をGPGPU利用しようとした場合の問題点を以下に挙げます。
            • Windows XPではカード複数台の際の動作に難があるらしいです。昨晩、4870X2のホストに4850を単純に挿してみましたが、4850の方をCALから利用できませんでした。今晩、CrossFire接続にて試してみます。
            • VistaではCrossFire接続の際に片側のデバイスしか認識しないようです。4870X2はセルフCrossFireみたいなものなのでそれを禁止することができず、結果としてVistaでは4870X2の片肺しか使うことができません。
            • 4870X2のBIOSによる省電力制御の特性上、CrossFireが有効っぽい場面でないとクロックを最大に引き上げてくれません。単にCALアプリを起動しただけでは、コアクロックが最低の507MHz固定です。私は軽めのD3Dフルスクリーンアプリを表で起動することで対策していますが、これだとキャラクタコンソールが見られないので使い勝手に難あり。
            • SDK1.3の時点でも、4870X2 は Not officially supported らしいです。
            • とにかく、熱いぞ! 電気代は懸念されるところ。
            Linuxだと多少事情が違うとおもうので、AMD Forumを読みあさったり、SDKのRelease Notesを読んだりしてみてください。
            パフォーマンス評価ということであれば、4870を2台程度がよろしいのではないかと思います。
            ゲームなどと違い一定以上の負荷を連続してかけることが容易だったりするため、冷却に定評があるものを選ぶのがベターでしょう。

            # 小遣いで買うとさすがに4870X2は高いものだった…
            親コメント
            • by Anonymous Coward
              返事ありがとうございます。

              GPGPU自体を研究するならともかく、GPGPUを使って研究するのには時期尚早といった印象を受けました。
              もう少し情報を集めてトライしてみたいと思います。

              本当にありがとうございました。

  • by Anonymous Coward on 2008年12月15日 9時04分 (#1473369)
    T/O
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...