1 名前:デフォルトの名無しさん [2009/01/25(日) 02:16:01 ] 前スレ cellプログラミングしちゃいなよ3 pc11.2ch.net/test/read.cgi/tech/1215388508/l50
331 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 02:44:03 ] fixstarsが今度Cellプログラミング実践セミナーを開くそうだけど、行く人いる? 自分は考え中・・・
332 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 12:53:22 ] 俺はトランザムって、てっきり車(スポーツカー)の事だと思ってた。 まさか最近のアニメ(ガンダム00)の話だったとはw。
333 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 12:56:33 ] >>332 それは元々、TRANS AMericanでアメリカ横断と言う意味だな。
334 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 13:03:19 ] >321 「俺がガンダムだ」の意味が分かったよ。 そんなもん分かりたくもなかったがw。
335 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 16:29:26 ] speedchallengeはもうだめだ 「他のジョブが動作中です」的なエラーがでて何も出来ない
336 名前: ◆imos.WO182 mailto:sage [2009/02/26(木) 18:43:54 ] Cell Challengeだけどまだプログラムを書いてる途中で一度も動かしていない\(^o^)/オワタ こんな長いコードのデバッグとか正直あと1日で無理だろ,常考…orz
337 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 19:28:04 ] 俺はバグとり合戦開始した。コンパイラはエラーはかないけど、正しい結果が得られない 明日の夕方に間に合えばいいが
338 名前: ◆imos.WO182 mailto:sage [2009/02/26(木) 22:50:55 ] ぉぅ,こっちは今からやっとバグ取り合戦だぜ. 徹夜してがんばろう.しかしチューニングまでは到達しないかもしれn… Another jobが云々は他の人もがんばってるってことかな. がんばらないと…
339 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 01:57:17 ] >>335 ターミナルでcellunlockするといけるってどこかに書いてあった気がする
340 名前: ◆imos.WO182 mailto:sage [2009/02/27(金) 03:20:47 ] 90%ぐらいの確率で答えを正しくだすけどっていう状況になってしまた\(^o^)/ それも実行する度に正しかったり1違ったり…orz DMA転送の付近で順序がおかしくなってるんだろうなー…
341 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 03:24:40 ] 間に合わないだろう、さすがに。
342 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 05:23:23 ] あきらめってきもちいいです
343 名前: ◆imos.WO182 mailto:sage [2009/02/27(金) 05:58:03 ] 別のバグを見つけて解決したけどなぜ時々正解していたかは未だに謎 とりあえず命令順序を良いように変えてくれるコンパイラに感謝 ところで Cell challenge って短い文字列でも勝負やるのかね もしかしたらそもそもSPU起動しない方が速いとかありうるけど まぁあまり気にしないでおくべきか
344 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:07:12 ] PS3に比べてOpenCafeだと全く速度が出ない サイズの小さい問題ほど顕著で 128x256:7.3% 5120x5120:11.6% 20480x20480:42.4% 73600x73600:90.1% の速度しかでない PS3で開発してたもんだから今提出してがっかりした 何が原因なんだ
345 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:27:16 ] 実はPS3とOpenCafeのPPE-SPE間,SPE-SPE間通信時間を比べると OpenCafeのほうが1.5倍の時間がかかってるんだよな SPEプログラム呼び出しに至ってはOpenCafeのほうは絶望的に遅い
346 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:47:00 ] 少なくともSPEの起動・終了を使い回したりはしてないんだがなあ SPE間通信とシグナル通知レジスタあたりが怪しい気がする
347 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:44:24 ] 単純にコンパイラの違いとか
348 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 20:05:34 ] 携帯電話に対抗するPSP2、CellとLarrabeeで揺れるPS4 pc.watch.impress.co.jp/docs/2009/0226/kaigai492.htm
349 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 20:28:21 ] ゲハ厨?
350 名前:314 mailto:sage [2009/02/28(土) 23:08:14 ] うーん、相変わらず駄目だ。2月に入ってから作成始めて、 出来るだけ土日のいずれかは使ってるんだけど、オリジナルの 3%を超えられない。 ぎりぎりまで頑張ってみるけど、コンテストに出さないかも。 いい加減、土日はフルに休みたいし、めんどくせぇなw
351 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 00:51:06 ] 135 の扱いが厄介だ。
352 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 17:02:50 ] Cell Challenge予選の結果が発表された (入力をまだみれてないのでおそらくだけど) 2^34の問題が0.2秒で解けてるチームが1位っぽい
353 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 21:44:08 ] imosさんてチームimoか?はえーなあ
354 名前: ◆imos.WO182 mailto:sage [2009/03/04(水) 15:43:01 ] お察しの通りチームImoですー 2^34が1秒切ったと喜んでいたけども1位とは4倍の壁… evenの埋まってる率はおそらく7割以上なのでアルゴリズムの変更が必須で悩み中
355 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 00:22:49 ] 1位のチームの人Anthyの開発者?
356 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 00:51:29 ] 何気にハックざセルの提出期限近いな 優勝ラインはどれぐらいだろうな? 4.5Mぐらいだと予想しているんだが
357 名前:227 ◆eZQcaIaFJs mailto:sage [2009/03/05(木) 01:20:01 ] # OpenMP で並列化出来るところが少なすぎて発狂しそう…。 >>354 今週の土曜日になれば Hack the Cell のネタバレ解禁だと思うので、 パイプライン両方埋めるテクニックが盗めるかもしれませんよ。 >>356 数字書いちゃうとアレな気もしますが、一月末の時点で3.5M突破 している方もいますよ。
358 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 01:39:03 ] それはすごいな。 でも、まだフィクスタ賞のチャンスは俺には残ってるはず。
359 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/05(木) 03:57:11 ] ああ、ふぃく☆すた賞狙ってる人は、コンパイラを飼い慣らすテクニックのほうを重視したほうがいいかもです。
360 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 08:54:15 ] コンパイラを飼い慣らすって そんなに差がでるのですか
361 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 11:46:33 ] え、gccに限らずVCだろうがiccだろうがコンパイラとの格闘だぜ?
362 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 12:29:30 ] 自分はオプションにアンロールとO3つけてstripぐらいしかしてないです。 さすがに-pgとかつけたままにしたりましませんが・・・ けどその位を殺っておけばいいだろうという認識です。 そんなに激しく差がでるのかー
363 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 23:56:56 ] コンパイルオプションはいじったらだめなんじゃ…
364 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 02:44:34 ] 自分はcell challengeなので。
365 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 11:43:09 ] 無意味なラベルを入れておくとかそういうおまじないレベルの事はやらなくて大丈夫なんだよね?
366 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 14:47:21 ] O3だと動かない\(^o^)/
367 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 22:13:16 ] 今日でひとつの祭りが終わるなぁ。勉強になったし楽しめたよ。満足満足
368 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 22:37:56 ] 残念なこともあるにはあるけどなかなか楽しめたな しばらくしたらコード公開されるのかな それとも20までお預けかな
369 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:56:36 ] へるみさんは80倍ちょっとか。
370 名前:227 ◆eZQcaIaFJs mailto:sage [2009/03/07(土) 02:35:40 ] ビット入れ替え思いつかずに、12cycleの壁超えられなかったもします。 フィックスターズ賞狙いですが、99%越えの接戦に勝てるか不安…。
371 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 10:32:23 ] トランザムってどうやって加算したの? spu_cntbとかをうまく使うの? 締め切りすぎたけど、結果発表までは内緒なのかな…
372 名前:202 mailto:sage [2009/03/07(土) 11:05:43 ] 俺なんか12.3cycle/qwordだ。ランク外orz
373 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 11:48:08 ] で、トランザムって何なの? 俺が・・・が出自ってことは分かったけれど
374 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 11:50:25 ] >>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 ] >373 たぶんbitを90度回転したんじゃないかと。 01234... 01234... を 0000 1111 ... な感じに。
376 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 11:59:16 ] ( cntb(a) << 24 ) | ( cntb(b) << 16 ) | ( cntb(c) << 8 ) | cntb(d) に訂正しときます >>373 俺が最初に言い出しました。transpose + sumだからトランザム(笑) あと速いし。さすがにmt[]の更新のほうがネックで3倍にはならないようだけどね。 なんのことはない、1bit×128並列のSIMD演算ですよ。 暗号のクラックなんかでよく使う方法です。
377 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 12:41:24 ] >>376 やっぱり1bitx128並列の事だったか。 その方法ならshift無くせるしxorとかの回数も減らせることは気が付いてたけど めんどくさいからやらなかった。 やった場合には1要素平均何cycleまでいくものなんだろう?
378 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 12:48:45 ] >>377 ブログなんかで「大台」って言ってる人がいるけど、これは100倍のことだと思うよ。 だから2クロック切るくらいかな。
379 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 12:57:04 ] 鬼すぎるw
380 名前:227 ◆eZQcaIaFJs mailto:sage [2009/03/07(土) 12:57:45 ] The Art of Multiprocessor Programming 届いた。普通に神本っぽい。 ところで、KLabの中の人ってこのスレの住人だったりするのだろうか…。 >>372 12.3は何とか超えたけど、その少し先で詰まっていたりもします。 >>376 普通に translate + sum だと思ってましたo r z
381 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 13:21:59 ] ちょうどビット配列の転置アルゴリズムを「ハッカーのたのしみ」なんかが扱ってる www.hackersdelight.org/HDcode/transpose32.c
382 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 13:45:25 ] temperingはそれこそすげー速くなるんだけどMT[i+1]とMT[i+M]のロードがなかなか難しいよね いろいろやったけど命令数的に90倍速程度が理論限界で諦めた コンパイラはレジスタ足りないってわめくし 結局普通の方法で11.75/cycleの68倍速で提出したよ こっちのコードの方が最適化自体に手間掛けたから気に入ってるんだ
383 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 13:46:47 ] 11.75cycle/QWORDだた
384 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:08:23 ] ところでオレ以外に学生部門の人はいないの? 学生参加は手を上げて!!
385 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 15:14:07 ] >>382 mt[i+1]のほうは奇数・偶数みたいな分け方をすればpermuteの回数を「減らす」 くらいは出来るという結論に達した。 幸いなことに先頭から226個まではは並列実行できるし。 ただ、128ビット全部使うことは諦めないといけない。 1レジスタにビットを限界までの6分割とか8分割とかにしないといけない。 参加者が少なかったせいか10倍すら超えなくても参加賞は貰えることになったらしいので ウケを狙うのもアリだったな。
386 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 15:15:37 ] ○1レジスタにビットを限界まで詰めることを諦めて104ビットずつ6分割とか78ビットずつ8分割とかにしないといけない。
387 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:35:29 ] >>385 全員参加賞もらえるなんてどっか出てたか? フィクスタの社長ブログとかには参加者159人とか載ってるし、参加者少なすぎとかは無いんじゃないか?
388 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 15:38:20 ] cell.fixstars.com/challenge/entry.html 参加者特典 課題提出者全員に参加賞をプレゼントいたします。 ボールペンかなんかの予感
389 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 15:41:17 ] >>388 ほんとだ。疑ってすまんかった。 いつの間にか変わっていたんだな。
390 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 17:39:43 ] 「トランザム」 = 「とらん、sum」かとおもてたよ Tempering後のchecksumをとらないのかと。どやってやるんだそんなのと
391 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 17:46:47 ] kikxさんとこのが良く分からない 乱数生成の順番は入れ替わりそうだけど転置ではなさそうだ
392 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 17:52:46 ] > z = si_lqx(spu_slqw(spu_gather(y), 4), mag_lut); > r = spu_xor(spu_rlmaskqw(y,-1), z); 懐かしい 左4ビットシフトもspu_shuffleでできるよね? このへんはみんな気づいたかなと思うけど。
393 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:23:39 ] シャッフル1回でってこと? 想像もつかない
394 名前:227 ◆eZQcaIaFJs mailto:sage [2009/03/07(土) 18:26:58 ] 何となく11.75になる方法分かったorz
395 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:32:16 ] >391 mt[]の中の順番が入れ替わるだけ、かな? >392 団子さんは結局何倍までいけました?
396 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 18:35:33 ] 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 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 18:36:06 ] >>395 ノーコメント
398 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 18:40:04 ] shinhさんが俺をオフ会に誘ってるようですなwww
399 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:42:31 ] >>396 なるほど そういえば最初のうちは似たような使い方することで shuffleの定数生成機能を利用して1bitシフトしようとかしてたなぁ
400 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:45:48 ] でも、フィックスターズで会合セッティングするって、 社長blogに書いてあったよね。
401 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:49:47 ] 団子の自演か。
402 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 18:49:50 ] 入賞者以外も招待されるとしても気遅れしてしまって行けそうにない
403 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 18:59:24 ] そもそも人材スカウト前提のプログラミングコンテストじゃねーの? shinh氏はGoogleだから興味はなさそうだなー
404 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:22:19 ] >>403 おたくは誘われたら行くの? それとももっと良いとこに勤めてたりすんの?
405 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 19:25:38 ] そもそもFixstarsっていいところなのかね? Cellに将来性を感じない
406 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:26:29 ] なんという正直な意見
407 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:34:30 ] 現状じゃCellにいいことないよね LarrabeeとかGPUとかにも浮気するのかCell自身の発展があるのかどちらかじゃないと それに >経験、能力を考慮の上、当社規定により決定 は怖すぎる
408 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:38:01 ] 団子の自慢か。
409 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:01:06 ] shuffleでシフトって意味あるの? 命令数も使用パイプラインも変わらない気がするんだけど…
410 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 20:03:46 ] 要素単位のシフトはevenでshuffleはodd
411 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:11:52 ] すると>>396 はこういうこともできるってだけで 別に意味はないのか
412 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 20:15:06 ] ところで貴様らソースコードの先頭ってコレ入れた? /* * Copyright 2008-2009 ***********. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: (中略) */ いや、BSDLで公開するなら常識だよな?
413 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 20:16:36 ] >>411 あるよ。普通の方法でやるとevenが余る。 evenでもoddでも等価な演算が出来る場合は、パイプラインの充填率をみて微調整ができるだろ。
414 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:27:23 ] そしたらslとslqwの使い分けでいいような
415 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 20:35:43 ] それもそうだな ケースを選ぶけどvec_uchar16に対応するシフト・ローテート命令としても使えるんだよ
416 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:39:16 ] これって優勝と準優勝しかないんだろ? せめて参加部門中で自分が何位くらいだったか知りたい
417 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 20:40:13 ] それでもFixstarsならブービー賞を用意してくれるッ!
418 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:43:15 ] >>417 あるかもなそれも。あったとして賞品はなんだろう? てか俺は賞はいらんから純粋に自分がどのくらいの実力なのか 相対的な位置を尻たいのさ
419 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:44:12 ] >>415 ああ、確かにslqwでできなくてshuffleでできる演算はあるな 参考になった、ありがとう
420 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/03/07(土) 21:27:20 ] んなところでオリジナルのGNドライブ(違)です tripper.kousaku.in/20090307.html
421 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:40:27 ] トランザムはともかくアルゴリズムについてはもともと分かってた人間もいると思うぞ
422 名前: ◆imos.WO182 mailto:sage [2009/03/07(土) 22:00:11 ] cntbだけじゃなくsumbのことも忘れないでやってくださいです…
423 名前: ◆imos.WO182 mailto:sage [2009/03/07(土) 22:41:49 ] ってよく見たら本文に書いてあったね,すませ. しかしできればコード本体も書き直したのを載せておいた方が後の人のためにも.
424 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 22:43:09 ] 書き直したやつ上げといた
425 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/07(土) 22:44:47 ] shinh氏のはsumb使うときにオール0のレジスタ指定とかやったらしいが 実はそれが敗因だったんじゃねーのか? いや、mt[]のほうが大変なんだけどね
426 名前: ◆imos.WO182 mailto:sage [2009/03/07(土) 23:35:18 ] すばやい対応乙です しかし実はこのスレに圧倒されてHack the CellからCell Challengeに逃げ(ry とまぁそれはさておきここのsumbの引数の活用は意外と大きいかも? 単純計算0.5cycle/qwordは変わるし
427 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 23:55:47 ] あれ、cntb はレイテンシ4じゃねの。そしてsumbはevenじゃねの。
428 名前: ◆imos.WO182 mailto:sage [2009/03/08(日) 05:04:38 ] スループットのみを考えての計算だったのだけど 128個に対して16命令余分→4個に対して0.5命令余分みたいな もしevenが余ってたらあまり増えない可能性も十分にあると思うが
429 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/08(日) 05:46:51 ] コメントはかなりいい加減です。
430 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/03/08(日) 05:49:02 ] >>428 mt[i+1]なんかの算出の平均コストはそんなもんじゃすまない。
431 名前: ◆imos.WO182 mailto:sage [2009/03/08(日) 14:51:27 ] >>430 というかトランザムって言ってるなら+1なんてローテートの長さが変わるだけなんじゃ? 自分の書いた古いメモには128個の生成に1行あたり LD,LD,ROT(16),ROT(16),SEL,XOR,XOR*.5(mag01),(*tempering),ROT*2(29=256-227),SEL,ST (*tempering)=XOR*2.5,CNTB,SUMB,ADD みたいなことが書いてある 実装してないので抜けや間違いがあると思うが