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

    私的良スレ書庫

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

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

    cell スレッド一覧へ / cell とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    351 : デフォルトの名無 - 2009/03/01(日) 00:51:06 (-3,-26,-5)
    135 の扱いが厄介だ。
    352 : デフォルトの名無 - 2009/03/03(火) 17:02:50 (-1,-29,-29)
    Cell Challenge予選の結果が発表された
    (入力をまだみれてないのでおそらくだけど)
    2^34の問題が0.2秒で解けてるチームが1位っぽい
    353 : デフォルトの名無 - 2009/03/03(火) 21:44:08 (-1,-29,-15)
    imosさんてチームimoか?はえーなあ
    354 : ◆imos.W - 2009/03/04(水) 15:43:01 (+34,-29,-22)
    お察しの通りチームImoですー
    2^34が1秒切ったと喜んでいたけども1位とは4倍の壁…
    evenの埋まってる率はおそらく7割以上なのでアルゴリズムの変更が必須で悩み中
    355 : デフォルトの名無 - 2009/03/05(木) 00:22:49 (-1,-29,-19)
    1位のチームの人Anthyの開発者?
    356 : デフォルトの名無 - 2009/03/05(木) 00:51:29 (+95,+29,-19)
    何気にハックざセルの提出期限近いな
    優勝ラインはどれぐらいだろうな?

    4.5Mぐらいだと予想しているんだが
    357 : 227 ◆eZQ - 2009/03/05(木) 01:20:01 (+73,+29,-90)
    # OpenMP で並列化出来るところが少なすぎて発狂しそう…。

    >>354
    今週の土曜日になれば Hack the Cell のネタバレ解禁だと思うので、
    パイプライン両方埋めるテクニックが盗めるかもしれませんよ。

    >>356
    数字書いちゃうとアレな気もしますが、一月末の時点で3.5M突破
    している方もいますよ。
    358 : デフォルトの名無 - 2009/03/05(木) 01:39:03 (+57,+29,-7)
    それはすごいな。
    でも、まだフィクスタ賞のチャンスは俺には残ってるはず。
    359 : ,,・´∀`・, - 2009/03/05(木) 03:57:11 (+57,+29,-25)
    ああ、ふぃく☆すた賞狙ってる人は、コンパイラを飼い慣らすテクニックのほうを重視したほうがいいかもです。
    360 : デフォルトの名無 - 2009/03/05(木) 08:54:15 (+57,+29,-21)
    コンパイラを飼い慣らすって
    そんなに差がでるのですか
    361 : デフォルトの名無 - 2009/03/05(木) 11:46:33 (-1,-29,-16)
    え、gccに限らずVCだろうがiccだろうがコンパイラとの格闘だぜ?
    362 : デフォルトの名無 - 2009/03/05(木) 12:29:30 (+62,+29,-24)
    自分はオプションにアンロールとO3つけてstripぐらいしかしてないです。
    さすがに-pgとかつけたままにしたりましませんが・・・
    けどその位を殺っておけばいいだろうという認識です。
    そんなに激しく差がでるのかー
    363 : デフォルトの名無 - 2009/03/05(木) 23:56:56 (+52,+24,-3)
    コンパイルオプションはいじったらだめなんじゃ…
    364 : デフォルトの名無 - 2009/03/06(金) 02:44:34 (-1,-29,-13)
    自分はcell challengeなので。
    365 : デフォルトの名無 - 2009/03/06(金) 11:43:09 (+57,+29,-35)
    無意味なラベルを入れておくとかそういうおまじないレベルの事はやらなくて大丈夫なんだよね?
    366 : デフォルトの名無 - 2009/03/06(金) 14:47:21 (-6,-29,+0)
    O3だと動かない\(^o^)/
    367 : デフォルトの名無 - 2009/03/06(金) 22:13:16 (+57,+29,-12)
    今日でひとつの祭りが終わるなぁ。勉強になったし楽しめたよ。満足満足
    368 : デフォルトの名無 - 2009/03/06(金) 22:37:56 (+57,+29,-11)
    残念なこともあるにはあるけどなかなか楽しめたな
    しばらくしたらコード公開されるのかな
    それとも20までお預けかな
    369 : デフォルトの名無 - 2009/03/07(土) 01:56:36 (+48,+25,-3)
    へるみさんは80倍ちょっとか。
    370 : 227 ◆eZQ - 2009/03/07(土) 02:35:40 (+57,+29,-31)
    ビット入れ替え思いつかずに、12cycleの壁超えられなかったもします。
    フィックスターズ賞狙いですが、99%越えの接戦に勝てるか不安…。
    371 : デフォルトの名無 - 2009/03/07(土) 10:32:23 (+74,+29,-39)
    トランザムってどうやって加算したの?
    spu_cntbとかをうまく使うの?
    締め切りすぎたけど、結果発表までは内緒なのかな…
    372 : 202 - 2009/03/07(土) 11:05:43 (+4,-29,-3)
    俺なんか12.3cycle/qwordだ。ランク外orz
    373 : デフォルトの名無 - 2009/03/07(土) 11:48:08 (+68,+29,-10)
    で、トランザムって何なの?
    俺が・・・が出自ってことは分かったけれど
    374 : ,,・´∀`・, - 2009/03/07(土) 11:50:25 (+11,-30,-213)
    >>371
    spu_cntbは最初に思いついたね

    たとえば、
    cntb(a) << 24 | cntb(b) << 16 | cntb(c) << cntb(d)
    を8組作って、左シフト+加算で畳み上げるってのはどう?
    8ビット単位のシフト+論理和ならspu_shuffleでできるからOddパイプ側で処理を割り振ることもできるし
    このへんはいろいろやりようは有ると思う。

    どっちかというとmt[]の更新のほうがめんどいんだ。
    どういうレイアウトを組むかによってOddパイプの演算量が全然変わってくる。
    375 : 371 - 2009/03/07(土) 11:51:50 (+6,-29,-7)
    >373
    たぶんbitを90度回転したんじゃないかと。
    01234...
    01234...

    0000
    1111
    ...
    な感じに。
    376 : ,,・´∀`・, - 2009/03/07(土) 11:59:16 (+33,-30,-134)
    ( cntb(a) << 24 ) | ( cntb(b) << 16 ) | ( cntb(c) << 8 ) | cntb(d)
    に訂正しときます

    >>373
    俺が最初に言い出しました。transpose + sumだからトランザム(笑)
    あと速いし。さすがにmt[]の更新のほうがネックで3倍にはならないようだけどね。

    なんのことはない、1bit×128並列のSIMD演算ですよ。
    暗号のクラックなんかでよく使う方法です。
    377 : デフォルトの名無 - 2009/03/07(土) 12:41:24 (+47,-22,-46)
    >>376

    やっぱり1bitx128並列の事だったか。
    その方法ならshift無くせるしxorとかの回数も減らせることは気が付いてたけど
    めんどくさいからやらなかった。

    やった場合には1要素平均何cycleまでいくものなんだろう?
    378 : ,,・´∀`・, - 2009/03/07(土) 12:48:45 (+64,+29,-23)
    >>377
    ブログなんかで「大台」って言ってる人がいるけど、これは100倍のことだと思うよ。
    だから2クロック切るくらいかな。
    379 : デフォルトの名無 - 2009/03/07(土) 12:57:04 (+37,+19,+0)
    鬼すぎるw
    380 : 227 ◆eZQ - 2009/03/07(土) 12:57:45 (+5,-30,-57)
    The Art of Multiprocessor Programming 届いた。普通に神本っぽい。
    ところで、KLabの中の人ってこのスレの住人だったりするのだろうか…。

    >>372
    12.3は何とか超えたけど、その少し先で詰まっていたりもします。

    >>376
    普通に translate + sum だと思ってましたo r z
    381 : ,,・´∀`・, - 2009/03/07(土) 13:21:59 (+57,+29,-33)
    ちょうどビット配列の転置アルゴリズムを「ハッカーのたのしみ」なんかが扱ってる

    http://www.hackersdelight.org/HDcode/transpose32.c
    382 : デフォルトの名無 - 2009/03/07(土) 13:45:25 (+39,-29,-81)
    temperingはそれこそすげー速くなるんだけどMT[i+1]とMT[i+M]のロードがなかなか難しいよね
    いろいろやったけど命令数的に90倍速程度が理論限界で諦めた
    コンパイラはレジスタ足りないってわめくし

    結局普通の方法で11.75/cycleの68倍速で提出したよ
    こっちのコードの方が最適化自体に手間掛けたから気に入ってるんだ
    383 : デフォルトの名無 - 2009/03/07(土) 13:46:47 (-1,-29,-3)
    11.75cycle/QWORDだた
    384 : デフォルトの名無 - 2009/03/07(土) 15:08:23 (+57,+29,-22)
    ところでオレ以外に学生部門の人はいないの?
    学生参加は手を上げて!!
    385 : ,,・´∀`・, - 2009/03/07(土) 15:14:07 (+102,+29,-116)
    >>382
    mt[i+1]のほうは奇数・偶数みたいな分け方をすればpermuteの回数を「減らす」
    くらいは出来るという結論に達した。

    幸いなことに先頭から226個まではは並列実行できるし。
    ただ、128ビット全部使うことは諦めないといけない。
    1レジスタにビットを限界までの6分割とか8分割とかにしないといけない。


    参加者が少なかったせいか10倍すら超えなくても参加賞は貰えることになったらしいので
    ウケを狙うのもアリだったな。
    386 : ,,・´∀`・, - 2009/03/07(土) 15:15:37 (-1,-29,-28)
    ○1レジスタにビットを限界まで詰めることを諦めて104ビットずつ6分割とか78ビットずつ8分割とかにしないといけない。
    387 : デフォルトの名無 - 2009/03/07(土) 15:35:29 (+71,+29,-75)
    >>385

    全員参加賞もらえるなんてどっか出てたか?
    フィクスタの社長ブログとかには参加者159人とか載ってるし、参加者少なすぎとかは無いんじゃないか?
    388 : ,,・´∀`・, - 2009/03/07(土) 15:38:20 (+91,+30,-47)
    http://cell.fixstars.com/challenge/entry.html

    参加者特典
    課題提出者全員に参加賞をプレゼントいたします。



    ボールペンかなんかの予感
    389 : デフォルトの名無 - 2009/03/07(土) 15:41:17 (+70,+29,-8)
    >>388
    ほんとだ。疑ってすまんかった。
    いつの間にか変わっていたんだな。
    390 : デフォルトの名無 - 2009/03/07(土) 17:39:43 (+57,+29,-31)
    「トランザム」 = 「とらん、sum」かとおもてたよ
    Tempering後のchecksumをとらないのかと。どやってやるんだそんなのと
    391 : デフォルトの名無 - 2009/03/07(土) 17:46:47 (+91,+29,-26)
    kikxさんとこのが良く分からない
    乱数生成の順番は入れ替わりそうだけど転置ではなさそうだ
    392 : ,,・´∀`・, - 2009/03/07(土) 17:52:46 (+40,-30,-78)
    > z = si_lqx(spu_slqw(spu_gather(y), 4), mag_lut);
    > r = spu_xor(spu_rlmaskqw(y,-1), z);

    懐かしい


    左4ビットシフトもspu_shuffleでできるよね?
    このへんはみんな気づいたかなと思うけど。
    393 : デフォルトの名無 - 2009/03/07(土) 18:23:39 (+57,+29,-16)
    シャッフル1回でってこと?
    想像もつかない
    394 : 227 ◆eZQ - 2009/03/07(土) 18:26:58 (+6,-21,+1)
    何となく11.75になる方法分かったorz
    395 : デフォルトの名無 - 2009/03/07(土) 18:32:16 (+77,+29,-26)
    >391
    mt[]の中の順番が入れ替わるだけ、かな?

    >392
    団子さんは結局何倍までいけました?
    396 : ,,・´∀`・, - 2009/03/07(土) 18:35:33 (+40,-30,-173)
    spu_gatherやるとさ、プリファードスロットの下位4ビットにLSBが集約されるじゃん。
    で、他は0になるじゃんじゃん。

    spu_shuffleの第一引数に
    { 0x00, 0x10, 0x20, 0x30, 0x40 ,,, 0xF0 }
    ってベクトルブッ込むわけだ。

    spu_shuffle( pattern, pattern, (vec_uchar16)spu_gather(y) )

    これで
    spu_slqw(spu_gather(y), 4)

    とまったく同じ結果になる筈。

    397 : ,,・´∀`・, - 2009/03/07(土) 18:36:06 (+18,-14,+1)
    >>395
    ノーコメント
    398 : ,,・´∀`・, - 2009/03/07(土) 18:40:04 (+57,+29,-1)
    shinhさんが俺をオフ会に誘ってるようですなwww
    399 : デフォルトの名無 - 2009/03/07(土) 18:42:31 (-1,-29,-30)
    >>396
    なるほど
    そういえば最初のうちは似たような使い方することで
    shuffleの定数生成機能を利用して1bitシフトしようとかしてたなぁ
    400 : デフォルトの名無 - 2009/03/07(土) 18:45:48 (+57,+29,-22)
    でも、フィックスターズで会合セッティングするって、
    社長blogに書いてあったよね。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / cell スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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