のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,761人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレcellプログラミングしちゃいなよ3

    cell スレッド一覧へ / cell とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    1 : デフォルトの名無 - 2008/07/07(月) 08:55:08 (+88,-26,-15)
    前スレ

    Cellプログラミングしちゃいなよ2
    http://pc11.2ch.net/test/read.cgi/tech/1183091522/
    2 : デフォルトの名無 - 2008/07/07(月) 08:56:25 (+45,-30,-299)
    Cell Broadband Engine 技術情報公開
    http://cell.scei.co.jp/

    PLAYSTATION3 Linux Information Site
    http://cell.fixstars.com/ps3linux/index.php

    The Cell Processor - PukiWiki
    http://cell.fixstars.com/pukiwiki/index.php

    developerWorks : Cell Broadband Engine resource center(IBMのCell技術情報)
    http://www-128.ibm.com/developerworks/power/cell/

    Cell Broadband Engine Architecture forum (Cellプログラミングの掲示板)
    http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=739&cat=46

    Multicore Programming Primer: PS3 Cell Programming
    (マサチューセッツ工科大学のPS3を使ったマルチコアプログラム演習。ソースコードなど有り)
    http://cag.csail.mit.edu/ps3/

    CellPerformance
    http://www.cellperformance.com/articles/
    3 : デフォルトの名無 - 2008/07/07(月) 08:57:33 (+39,-29,-14)
    一応たててみたもののスレタイみすった/(^o^)\
    4 : デフォルトの名無 - 2008/07/07(月) 17:47:02 (+3,-30,-133)
    >>1 乙。久しぶりに話題投下してみる。

    あるshort値の配列があって、それをlog2()するような感じで指数が欲しい。
    指数未満の値、つまり仮数部は四捨五入する。

    また、マイナス値とプラス値は連続させて結果をコンパクトにしたい。
    趣味で作ってるプログラムだから結果のフォーマットはこれ以外に変わっても構わない。
    疑似コードで書くと、いまのところこんな感じの実装にしてある。

    (short)round(log(abs(a))/log(2)) + (a > 0 ? 16 : 0);

    で、これを最適化できないかなという話。
    とりあえず2つ程考えてみたので貼ってみる。
    5 : デフォルトの名無 - 2008/07/07(月) 17:48:46 (+3,-30,+0)
    vec_short8 log2_1(vec_short8 v) {
      static const vec_uchar16 vPack = (vec_uchar16)
      { 2,  3,  18, 19,   6,  7,  22, 23,
       10, 11,  26, 27,  14, 15,  30, 31};

      vec_short8 v1      = spu_splats((int16_t)1);
      vec_short8 v0x100  = spu_splats((int16_t)0x100);
      vec_uint4  vEven   = (vec_uint4)spu_convtf(spu_mule(v, v1), 0);
      vec_uint4  vOdd    = (vec_uint4)spu_convtf(spu_mulo(v,  1), 0);
      vec_uint4  vExpE   = spu_rlmask(vEven, -22);
      vec_uint4  vExpO   = spu_rlmask(vOdd,  -22);
      vec_short8 vExp    = (vec_short8)spu_shuffle(vExpE, vExpO, vPack);
      vExp = spu_rlmask(vExp + spu_and(vExp, 1), -1); // round
      vExp = spu_add(spu_and(vExp, 0xff), -126)
           + spu_rlmask(spu_andc(v0x100, vExp), -4); // sign
      vExp = spu_andc(vExp, (vec_short8)spu_cmpeq(v, 0));
      
      return vExp;
    }
    6 : デフォルトの名無 - 2008/07/07(月) 17:50:12 (+36,-30,-272)
    vec_short8 log2_2(vec_short8 v) {
      static const vec_uchar16 vPack = (vec_uchar16)
      { 2,  3,  18, 19,   6,  7,  22, 23,
       10, 11,  26, 27,  14, 15,  30, 31};

      vec_ushort8 v1     = spu_splats((uint16_t)1);
      vec_ushort8 vIsPos = spu_cmpgt(v, 0);
      vec_ushort8 vAbs   = (vec_ushort8)spu_sel(-v, v, vIsPos);
      vec_ushort8 vRound = (vAbs & ~spu_rlmask(vAbs, -2)) + spu_rlmask(vAbs, -1);
      vec_uint4   vEven  = spu_mule(vRound, v1);
      vec_uint4   vOdd   = spu_mulo(vRound,  1);
      vec_uint4   vExpE  = spu_sub(32, spu_cntlz(vEven));
      vec_uint4   vExpO  = spu_sub(32, spu_cntlz(vOdd));
      vec_short8  vExp   = (vec_short8)spu_shuffle(vExpE, vExpO, vPack);
      vExp += (vec_short8)spu_and(vIsPos, 16); // sign
      
      return vExp;
    }
    7 : デフォルトの名無 - 2008/07/08(火) 00:21:46 (+110,+28,-1)
    >>6
    同時に32個以上突っ込めるなら後者の方が良いな
    8 : デフォルトの名無 - 2008/07/08(火) 00:25:46 (+35,-30,-29)
    音声圧縮かな?

    nop / lq
    nop / shufb
    csflt / shufb
    csflt / shufb
    nop / shufb
    rlmaskbyte

    とか妄想してみた
    9 : デフォルトの名無 - 2008/07/08(火) 07:35:05 (+99,+29,-31)
    >>7
    その心は?

    >>8
    鋭いです。
    ところでそのコード、シャッフルが一回多いような気が。
    アンパックx2、パック、後は何?
    10 : デフォルトの名無 - 2008/07/10(木) 23:47:30 (+65,+28,-1)
    >>9
    パック一回で十分だね
    11 : デフォルトの名無 - 2008/07/15(火) 00:31:59 (+116,+29,-4)
    CUDA本格的になってなんたらエンジン窮地に立たされる
    12 : デフォルトの名無 - 2008/07/15(火) 11:10:40 (+49,+15,+0)
    >>11
    よくわかんねーよw
    13 : デフォルトの名無 - 2008/07/16(水) 00:45:58 (+73,+29,-5)
    >>11
    大丈夫、スパースエンジンなんて最初っから立場がないから。
    14 : デフォルトの名無 - 2008/07/17(木) 05:09:34 (+62,+29,-89)
    Cell が GPU に敵う進化を続けられるかは別だが。

    そもそもの HPC 的視点が、Cell は超並列プロセッサであり、GPU はハイパーSIMD/MIMD なわけだ。
    それぞれに得意な分野があるから、どちらが滅んでどちらが栄えるという話ではない。


    滅ばないとも言わないが。
    15 : デフォルトの名無 - 2008/07/17(木) 14:44:19 (+99,+29,-76)
    実際問題、超並列プロセッサっていっても、ハイパーSIMD/MIMDと変わらないような用途でしか使ってないだろう。
    プロセッサがいくつかあって、すごいことがいつできるんだ。LinuxがSPEに仕事割り振れるようにでもなればなあ。
    16 : デフォルトの名無 - 2008/07/17(木) 15:29:40 (+57,+29,-36)
    ブロードバンドエンジンは内蔵されたホストCPUがPen4程度の低性能、
    スパースエンジンは並列度が落ちた挙句にホストCPUが外付け。
    某芝の目指す方向はどこなんだか。
    17 : デフォルトの名無 - 2008/07/18(金) 00:24:09 (+76,+29,-98)
    >>15
    > 実際問題、超並列プロセッサっていっても、ハイパーSIMD/MIMDと変わらないような用途でしか使ってないだろう。
    俺には単に、GPU での処理に向いたアプリケーションの、並列コンピュータからの置き換えが、まだまだ進んでいないだけのようの思える。
    そいういう意味で無いなら、俺の知らない分野のことを言っているようだから、教えてくれると有り難い。
    18 : デフォルトの名無 - 2008/07/18(金) 01:41:44 (+43,+15,-7)
    つーか超並列はMIMDでしか作らない訳だが。
    19 : デフォルトの名無 - 2008/07/19(土) 17:18:45 (+3,-30,-89)
    Cellプログラミングをやろうと思い
    PS3にxUbuntuをいれSynapticパッケージマネージャでCell-sdkとbinfbinfmts-supportを入れました。
    spu-gcc でhello world
    20 : デフォルトの名無 - 2008/07/19(土) 17:21:01 (+9,-30,-229)
    途中で送信してしまいました

    Cellプログラミングをやろうと思い
    PS3にxUbuntuをいれSynapticパッケージマネージャでCell-sdkとbinfbinfmts-supportを入れました。
    spu-gcc でhello worldを表示するプログラムをつくりコンパイルをするところまではできたのですが

    いざ実行してみると
    spu_create(): no such file or directory
    spe_create_single: Bad address
    とでてしまい実行できませんでした。

    いろいろ調べても見たのですがこれといった解決策も見つからず途方にくれています。
    原因をご存知の方がいらっしゃいましたら教えていただけないでしょうか。
    21 : デフォルトの名無 - 2008/07/19(土) 17:28:49 (-1,-29,-15)
    素直にfedoraかYellowdogにしれ。
    22 : デフォルトの名無 - 2008/07/19(土) 17:36:35 (+57,+29,-65)
    レス有難うございます
    xUbuntuだと結局Cellやるのには問題多いんですかね・・・
    軽いって話を聞いたんですけど。無理そうならFedoraにしときます。
    23 : デフォルトの名無 - 2008/07/19(土) 20:07:23 (+85,+29,-26)
    PS3で開発って辺りが結構無茶っぽい。
    いいクロス開発環境ないのかねぇ。
    24 : デフォルトの名無 - 2008/07/19(土) 20:19:10 (+21,-29,-25)
    SPU用のバイナリのファイル名が違ってるか作られてないのでは?
    俺のとこはxじゃないUbuntu7.10だけど問題なくセルフ開発できてる
    25 : デフォルトの名無 - 2008/07/19(土) 22:21:43 (+57,+17,-21)
    >>23
    そうだよな
    開発成果をBDまたは仮想BDで出力する環境が欲しい
    26 : デフォルトの名無 - 2008/07/20(日) 04:17:30 (+52,+29,-15)
    素直に一旦ゲーム屋に行けよw
    27 : デフォルトの名無 - 2008/07/21(月) 14:59:52 (+0,-28,-15)
    >> 20
    うちはxubuntuで上手く行ってる。24の指摘通りではないでしょうか。
    28 : デフォルトの名無 - 2008/07/21(月) 16:22:12 (+3,-30,-68)
    >>24,27
    レスありがとうございます。
    はじめに実行したときcannot execute binary file と表示されたのでSPU用のバイナリが原因かもしれません。
    それを解決するためにbinfbinfmts-supportを入れてみたのですが・・・解決にはなってなかったかもしれないですね。
    SPU用のバイナリについて勉強不足であまりよくわからないので調べてみたいと思います。
    29 : 24 - 2008/07/21(月) 19:54:53 (+3,-30,-86)
    SPU のは普通は直接起動できず,起動するのは PPU 用のバイナリ.
    そこから spe_image_open と spe_program_load 使って load する.
    さらに thread を 6つ創って spe_context_create, spe_context_run する.
    SPU 用のバイナリを埋め込んじゃえば _open の方は要らない.
    後,spu-gcc のオプションに -standalone を指定すれば,
    直接起動できるプログラムを生成してくれたはず.
    30 : デフォルトの名無 - 2008/07/21(月) 22:19:00 (-1,-29,-17)
    本当にSPUを活用したいなら、
    使える立場にいるならSPURSとか、
    MARS,Ctk,そのほかの
    SPU自律カーネルみたいなのを立てて
    それにジョブを投げた方が楽だよ。
    31 : デフォルトの名無 - 2008/07/22(火) 17:07:48 (+52,+29,+0)
    仕事でやるんならそうだね
    32 : デフォルトの名無 - 2008/07/25(金) 17:42:28 (-7,-30,-42)
    ftp://ftp.infradead.org/pub/Sony-PS3/mars
    どうなんだい?
    33 : デフォルトの名無 - 2008/07/25(金) 17:46:45 (-12,-30,-67)
    追記
    ftp://ftp.infradead.org/pub/Sony-PS3/mars/MARS-GATECH-20080711-final.pdf
    34 : デフォルトの名無 - 2008/07/25(金) 20:04:08 (+52,+29,-2)
    自分も是非感想を聞きたい。
    35 : デフォルトの名無 - 2008/07/25(金) 21:36:54 (+48,+6,-9)
    誰かファイル操作についてのCの制御文?(printfのようなもの)知らない?
    知ってる分だけ伝授してほしいです
    36 : デフォルトの名無 - 2008/07/25(金) 22:18:18 (+25,-3,-12)
    >>35
    スレ違い。
    37 : デフォルトの名無 - 2008/07/25(金) 22:20:24 (+2,-25,-17)
    MARSってコンテキスト量減らせるだけ?
    38 : デフォルトの名無 - 2008/07/26(土) 16:27:04 (+57,+29,-66)
    MARSでやれるようなことは、GPGPUだとたぶん無理だと思う。こういうことにこそ、Cellの強みがあるんじゃないかな。
    実際どれだけ使えるようになっているのかが問題だ。
    39 : デフォルトの名無 - 2008/07/26(土) 17:09:50 (+24,-3,-8)
    データの入れ替えには対応してないみたいだな。(まだ)
    40 : デフォルトの名無 - 2008/07/26(土) 18:03:22 (+57,+24,-85)
    CPUの省エネ、後編(CELL、BG/Lを参考に考える。)
    http://www.ne.jp/asahi/comp/tarusan/main190.htm

    電力消費量的にLSはよいと。うまくつかえればの話だけど。


    それじゃあ、キャッシュとLSを二つ持って、使い分ければいいのかとも思うけど、
    2つの使い分けを把握しないといけないから、煩わしさが増えると。
    41 : デフォルトの名無 - 2008/07/31(木) 11:56:30 (+48,-29,-60)
    「5年は追いつけないでしょう」──東芝が作るAVノートの新しい未来形・Qosmio G50の革新性とは
    http://journal.mycom.co.jp/articles/2008/07/30/qosmio/001.html

    通常
    supers engine
    これは結構いいな。
    42 : デフォルトの名無 - 2008/08/01(金) 12:39:21 (+57,+29,-9)
    問題はノートでここまでの要求があるかだが
    43 : デフォルトの名無 - 2008/08/01(金) 13:31:07 (+62,+29,-46)
    映画好きの人とか、結構、本気で欲しがるんじゃないか?
    自宅で使うデスクノートとして。まあ、あくまでマニア需要かな。

    でも、世間的に意外とこんなんで火がついたりとかありえそうな気もするが。

    QosmioのSupersは直接いじれないらしから、すれ違いだけどね。
    44 : デフォルトの名無 - 2008/08/01(金) 18:24:08 (+57,+29,-33)
    アプリは自作用のカードに乗らないから色々なメーカーに期待するって……
    自作用カード出しても、エコシステムが回るほどアプリが出てくる思えないな。
    45 : デフォルトの名無 - 2008/08/09(土) 21:36:42 (+4,-30,-36)
    Qosmio G50新兵器、SpursEngineがスゴすぎる件【前編】
    http://ascii.jp/elem/000/000/157/157525/

    NvidiaのGPUまわせば、SpursEngineいらないんじゃ…。
    46 : デフォルトの名無 - 2008/08/09(土) 21:38:57 (+3,-30,-91)
    The Barcelona Supercomputing Center has a new prototype
    to investigate the supercomputing of the future
    http://www.bsc.es/media/1762.pdf

    Roadrunnerを超えるCellスパコンができるらしい。
    47 : デフォルトの名無 - 2008/08/09(土) 21:52:37 (+62,+29,-101)
    ついにベールを脱いだIntelのCPU&GPUハイブリッド「Larrabee」
    http://pc.watch.impress.co.jp/docs/2008/0804/kaigai457.htm

    Intel版Cellといろんなところで騒がれていますな。Cellとがちだけど、GPUとして
    登場するところは大きな違いであり、?でもある。
    48 : デフォルトの名無 - 2008/08/09(土) 22:01:41 (+63,+30,-228)
    そろそろCellも次世代のバージョンの詳細がでてくるだろうか。2PPE+32SPEがでる
    っていう情報はでてるけど、それ以上の話はまだなくて、今まさに検討中なんだろう。

    Sonyが腰が引け気味で、Toshibaが違った方向に進みつつあり、IBMはHPC路線で突き進んでいる。

    また、PS3の状況は、次世代Cellに大きく関わってくるんだろう。PS3の状況はよくなりつつあるが、
    まだ厳しそうだ。次世代に向けて動き出すときこのときに、今のような不透明な状況であることが、
    次世代のCellに一体どう作用するか…。Sonyの求心力が弱まることで、よりIBM主導のアーキテクチャに
    進むのだろうか?果たして…。
    49 : デフォルトの名無 - 2008/08/10(日) 01:51:45 (+12,-30,-41)
    >>45
    > Qosmio G50新兵器、SpursEngineがスゴすぎる件【前編】
    >http://ascii.jp/elem/000/000/157/157525/
    >
    > NvidiaのGPUまわせば、SpursEngineいらないんじゃ…。

    GPUでまっとうなC/C++使える日が来たらそうかもね。
    50 : デフォルトの名無 - 2008/08/10(日) 04:02:39 (-1,-29,-17)
    MSが次のXBOXにLarrabee使うんじゃ
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / cell スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について