【GPGPU】くだすれCUDAスレ part5【NVIDIA】 902 :
KPOPに乗り遅れた、在日が多くいる芸能ヤクザ工作員にはご注意を :2012/08/19(日) 22:28:35.26
慶尚北道金泉で生まれ育った小説家、金衍洙(キム・ヨンス)氏は、25歳のときガンギエイを初めて見た。
ソウル・仁寺洞の居酒屋で先輩の詩人に勧められるままに、ピンク色の魚を一切れ、何気なく食べてみた。
その瞬間、彼は「全校生が使用する便所を丸ごと飲み込んだような感じ」に圧倒された。
アンモニア臭が口から3日間消えなかった。
金氏は「人間はなぜ、このような食べ物を食べなければならないのか」と考えた。
人生の中でそれは「死ぬと分かっていながら死に向かって疾走する欲望」だった。
そのため、金氏はガンギエイを「大人の食べ物」と呼んだ。
ガンギエイを発酵させる過程を見ると、金衍洙氏が便所を連想したのも無理はない。
つぼに石を入れて、その上にワラを敷き、ガンギエイを置いて、繰り返して重ねていく。
そしてつぼの口をしっかり閉めて、暗い倉庫に置いておく。実際には腐らせるのと変わらない。
5、6日後につぼを開けると、息が詰まるほどのアンモニア臭があふれ出てくる。
昔、寒くてガンギエイがあまり発酵しない冬には、堆肥を腐らせる堆肥置き場にガンギエイを置いておくこともあったという。
それでも、ガンギエイが腐らずに発酵するのは、体内に多くの尿素があるからだ。
ガンギエイを発酵させると尿素が分解されてアンモニアが発生する。
タンパク質が腐敗してアンモニアを発生させるのとは異なる。アンモニアは臭いがきつい毒性物質だが、
ガンギエイから発生するアンモニアは体に害を及ぼすレベルではない。
むしろ、ガンギエイを強アルカリ性にし、腐敗細菌や食中毒細菌の繁殖を抑える。
キムチやチーズのような発酵食品と同様に、ガンギエイの味を覚えると、病みつきになる。
口の中や舌の皮がむけるほどピリッとする味に魅せられてしまう。
(つづく)
http://www.chosunonline.com/site/data/html_dir/2012/08/18/2012081800546.html http://www.chosunonline.com/site/data/img_dir/2012/08/18/2012081800530_0.jpg
韓国の新聞社がちゃんと証言してるんですけど? #昔、寒くてガンギエイがあまり発酵しない冬には、堆肥を腐らせる堆肥置き場にガンギエイを置いておくこともあったという。
905 :
KPOPに乗り遅れた、在日が多くいる芸能ヤクザ工作員にはご注意を :2012/08/20(月) 00:25:33.44
906 :
KPOPに乗り遅れた、在日が多くいる芸能ヤクザ工作員にはご注意を :2012/08/20(月) 00:29:39.30
韓流依存の低いテレ朝でも韓国ドラマなくなったら
倒産するらしい
他も推して知るべしといったところだな
テレビ局総倒れということだな
422+1 :名無しさん@お腹いっぱい。 [sage] :2012/08/18(土) 19:48:49.96
>>421 そんな事をやったら体力の無いテレ朝は潰れますからw
テレ朝の親玉・朝日新聞だってTBSと組んで韓流やってるのにw
新聞業界も将来どうなるか分からないし朝日新聞も潰れない保証は無い
もう、命綱といわれる韓国ドラマを一切やめて
一度全局倒産したうえですべてリセットした方がいいわ
批判しながら韓国ドラマはネット配信に取られたくないとかいう
ダブルスタンダードなんか甘いの一言なんだよ
もう、何もかもうんざりだ
テレビ局の給料なんて
持ち株会社化する前のフジテレビの
全社員の給料分でさえ
一日20時間平均で200万円台程度なんだから
こんなはした金じゃ給料カットしても
在日だらけの日本のテレビドラマの
放映権ぶんの足しにもならない
だいたい芸能人のギャラが高すぎるんだよ
テレビ局員の給料も芸能人のギャラもすべてリセットだ
,,,
( ゚д゚)つ┃
君たちはこのスレが何のスレかも分からないの?
なんのスレか以前に 日本最大の右翼掲示板ですから
ネトウヨの陰謀論掲示板
ひとつのスレッドがメモリアクセスする命令を複数回連続して発行したとします。 (それぞれのメモリアドレスは別々です) この場合、一つ目のメモリアクセス命令が完了するを待つ間に、 同じスレッドの次のメモリアクセス命令が実行を開始するなんてことはあるのでしょうか。 それとも、先のメモリアクセス命令が完了するまで、 次のメモリアクセス命令は実行されずにスレッド自体が止まるのでしょうか。 この辺りの挙動はグローバルメモリへのアクセスでも、 シェアードメモリへのアクセスでも同じでしょうか。
>>910 シェアードだろうがグローバルだろうが、両方ともあり得る
>>911 ということは、シェアードメモリにアクセスする命令を複数回連続して発行した時も、
バンク・コンフリクトは起こり得るのですか。
つまり最適化のためには、並列に実行される複数のスレッドからのアクセスだけでなく、
ひとつのスレッドからアクセスするシェアードメモリについても、
バンク・コンフリクトを意識しないといけないのですね。
まぁ要するに韓国が絡むとどこでも気持ち悪くなるという話だな。 スレ違いの話をいつまでも続けるんじゃねぇよカスが。
ネトウヨの妄想陰謀論は他でやれ
915 :
川田裕美とかいう基地外女狐アナがいるYTVには注意を :2012/08/23(木) 00:15:45.88
>>912 読みまちがえた、1つのスレッドが連続してメモリを読み書きする場合か。
それならシリアルに実行される
CPU→GPUのデータロードのボトルネック解消(?)のように思えるけど、 ボトルネックになってるのは大抵GPU内の計算かVRAM←→GPUのアクセスじゃなかったっけ?
つまりOut-Of-Orderのメモリ転送ってことなのかな? QってQueueを意味してたり。
1本当たりの帯域はへるけど最大32本までメモリ転送が平行でできるってこと のように見える。データ待ちを減らしてMPIのような全体協調アプリの性能を上げる というようなものかな
ひょっとして律速がGPU内の計算かVRAMアクセスかとかいうレベルじゃなくて ばんばん主記憶からデータを持ってこないといけないようなGPGPUプログラムに対する 向上策って感じなのかな?
925 :
924 :2012/08/27(月) 02:41:50.83
例えばDSPの代用みたいにリアルタイム処理で使うなら頻繁にCPU←→GPUがあるだろうから効果あるのかも。
いままで、非同期処理にストリームを使っていたところ、 結局ジョブのキューが1個しかないからいろいろ制限がかかってた。 それを、キューをコア数分だけ用意することによって・・・ という話かと考えた
927 :
ぼんじん :2012/08/28(火) 17:52:18.51
Geforce580からGeforce690に変更し, SDKのサンプルを動かしたのですが,動作が遅いです. そもそもCPUの動作も以前より格段に悪いです. なぜかわかる方いたら教えていただけないでしょうか? ちなみに ドライバーやその他の設定は580のときのままです. また,cuda4.0を使用しOSはwin7 64bitです.
>>927 CUDAの性能に限って言えば580が一番高いんじゃないの?
6xxシリーズは単精度の浮動小数点演算以外の性能は削りまくってる
みたいだし。命令ごとのクロック数の表をみたら一目瞭然でしょ。
自分は580 SLIだけど、Kepler 2が一般消費者向けに販売されるまで様子見してる。
>>929 マジかよ… なんじゃこりゃ…
I32加算:8/7、1、1
論理演算:24/17、1、1
>>929 うわぁ・・・。
ここまでヒドいとは・・・。
よく見たら680/690のGPGPU性能が芳しくないという話はこのスレでも出ているな。
>>635 には同じリンクが紹介されてる。
これ大事だから次スレのテンプレに入れておいたほうがいいな。
Kepler2だとこれ改善されるの? ↓ I32加算:8/7、1、1 論理演算:24/17、1、1
>>931 っつか、団子さんがCUDA関連のスレにいることに驚いたw
>>935 グラフィックに不要な部分をばっさり切ったのがkepler1なので当然改善するでしょう。
問題はマス向けのお値段でkepler2が出るのかどうか心配な点。。
939 :
ぼんじん :2012/08/29(水) 14:04:13.81
昨日の続きです. GTX690に変更したところ,580で動作していたプログラムが 動作しない(途中で落ちるor動作が鈍い)くなったんですが なぜだかわかりますか?? CUDA4.0とGTX690の相性が悪いのでしょうか??
CUDA 4.0で普通に動いていたプログラムが CUDA 4.2にしただけで速度が1/5ぐらいになったぞ。 ひょっとしてCUDA 4.2って地雷?
俺も4.0から4.2にした時に、 コンパイル時のメッセージで 「とりあえず浮動小数点は全部倍精度にしとくね!」 みたいなメッセージが出てた気がするけど 単精度メインの人だと処理速度に影響出たりするのかな? あんまり検証してなくてスマン
ほとんど整数演算だから一般的な使い方とは違うけど、それにしても遅すぎ! 4.0に戻して検証してみるよ。
遅くなったと思ったのは勘違いだった。スマソ。 でも4.0で何ら問題なくコンパイルできたプログラムが 4.2だとReleaseにするとコンパイラが落ちてビルドできなかったりと 挙動が不審すぎる。4.1でも4.2と変わらない。 …よくみたらマクロ使いまくった変態的プログラミングをしていた箇所で ciccが落ちてた。この箇所書きなおさないといけないなorz
944 :
ぼんじん :2012/08/29(水) 17:58:34.05
939の問題なのですが解決しました。 ただの接触不良みたいでした. もうひとつ質問なのですが, GPUに重い処理をさせたらOSごと落ちることありますよね?? あれってなぜなるのですが,また,GPUの性能とどのようにかかわりがあるのですか? すみません。よろしくお願いします。
熱排気がダメで高温落ちじゃないの
電力オーバーとか
947 :
ぼんじん :2012/08/29(水) 20:53:17.64
なるほど... 分かりました!! 調べてみます。 ありがとうございました。
やっぱりまだまだGPUプログラミングは厄介だね・・・
>>944 windows7だとGPU処理が一定時間返ってこないとディスプレイ落ちるが..
それとは違うんだな?
>>947 Windowsはドライバの応答がなくなると固まる
10秒以上かかりそうな処理は適当な間隔で戻してループしないとダメなようだ
951 :
デフォルトの名無しさん :2012/08/31(金) 03:37:51.28
その制限、解除出来るけどね
>>951 できねーよ
できるならここに詳細を書いてみろ(プゲラ
955 :
デフォルトの名無しさん :2012/08/31(金) 16:09:02.05
nVIDIAが出してるツール使えばレジストリエディタさえ使わずに制限解除できる。
ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ____ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
竹島問題で 韓ドラとK−POPが消える!?
竹島問題を巡る日本と韓国の対立はテレビ界でも大きな影響が出始めている。韓流ドラマとK―POPが近いうちに
消滅するのではと囁かれているのだ。
この3年でテレビで放送された韓流ドラマは約500番組、日本でデビューしたK―POPのグループは30組以上
にも上る。テレビ局にとってはドル箱といっていいコンテンツだった。
「例えば、韓ドラはテレビ局には安く、そこそこ視聴率が稼げる番組として重宝がられました。買い付け価格は一時上がり
ましたが、最近はダウンし、初回購入の一番組の単価が500万円程度というものもあった。しかも、3回まで再放送が
認められるのでBSやCSが飛びついていた。一方、K―POPは音楽番組に出るのはプロモーションの一環で出演料が
かからなかったり、レコード会社が立て替えて支払ってくれるケースも多かったのでメリットが大きかった」(事情通)
だが、例の問題で状況が一変した。すでに日本テレビやテレビ朝日、TBSなどは年末年始の番組編成から韓ドラ枠を
大削減する方針を固めたという。音楽番組もK―POPのゲスト出演を極力減らしていく方針だという。また、
韓国びいきと批判されているフジテレビでさえも韓ドラからの撤退、K―POPの露出を減らしているという。
「李明博大統領が竹島上陸、ロンドン五輪でサッカー韓国代表メンバーが『独島は我が領土』というメッセージを掲げ、
韓流スターらが竹島に泳いで渡るという反日的ニュースが流れてから、BSとCSで視聴者の接触率が激減しました。
竹島問題で韓国の反日的なパフォーマンスが続く限り、来年4月の番組編成で韓ドラとK―POPは地上波から消滅する
可能性が高い。NHKも韓ドラをかなり流していますが、右に倣えだと思います」(民放編成マン)
テレビ局にとっては韓ドラに代わるコンテンツが見つからないのは頭が痛いが、K―POPに代わるダンスミュージック
を発掘中とか。KARAもチャン・グンソクも来春以降は見ることができなくなる?
http://gendai.net/articles/view/geino/138538
>>959 北チョン芸能ヤクザとべったりともっぱらの
日刊ゲンダイの記事かよ
北チョン芸能ヤクザ自身が書いているともいわれているな
>>957 北チョン芸能ヤクザとべったりともっぱらの
日刊ゲンダイの記事かよ
北チョン芸能ヤクザ自身が書いているともいわれているな
このスレは何故かネトウヨの陰謀論がよく沸くね
num = 0; for(i = 0;i < 100;i++) { if(条件) { list[num++] = i; } } のような感じである条件をみたすものだけを リストに追加、その個数をカウントしたいのですが CUDAで実装可能でしょうか。
可能は可能。極論言えばそのループを1スレッドで回せばいい 効率よくできるかどうかは詳細部分に依存する。
苦手な部類だな。 CPUの方がよっぽど手っ取り早くやってのけられる。 仮にiの最大値が100なんてしょぼい数じゃなく巨大なら、 スレッド数で分割してスレッドごとにlistを作って後で繋ぐこともできるけど。
リストに順に詰めていくことに意味があるのなら、それはつまり
i==nのときの処理の後でないとi==n+1のときの処理を行えないことを意味するので、
並列化に向いていない。
100じゃなくてもっと大きい数でなおかつ格納順を気にしなくていいなら
>>964 の言ってるとおり。
あとカウントはAtomicAddとかを使うよりトーナメント方式(?あの隣同士をlogN段階に分けて
足すやつ)のほうが早かった気がする。
966 :
962 :2012/09/11(火) 00:28:33.85
ありがとうございます。順序は関係ないので
>>964 さんの方法で分割しようと思います。
ただ、listを繋ぐために要素をコピーしていくのも
時間がかかりそうです(自分の理解が浅いかもしれませんが)
CPUが手っ取り早いかもしれません。
条件の真がint の1になるなら分岐せずに = (条件) * i にするとか
順序が関係ないなら、いろいろやりようがあるな。 メモリに余裕があれば、条件が真か偽かで1/0を入れるところまで 馬鹿並列で計算してしまって、それからリダクションみたいな操作 (たぶん上で言ってるトーナメント方式ってのと一緒)で詰めるとか
969 :
965 :2012/09/12(水) 02:35:53.57
>>962 prefix scanを使えばきれいに並列化できる
thrustのcopy_ifを参照
時代はOpenCLじゃないのか? 俺様のみのCUDAって先がないって感じじゃないか
事実上CUDAが標準じゃないの
openclの時代は来るだろうし誰も期待してない訳ではなかろ ただまだcuda脅かす感じじゃないよな 先はどうなんだろ、まだ見ぬkepler2の動的並列化が標準化される頃にはまた状況変わってるだろうしなあ xeon phiとか出てくるし
らくちんにプログラムしたけりゃCPUで、性能欲しけりゃCUDAで、って感じでOpenCLはその中間にある。 中間とはいっても、だいぶCUDA側に寄ってるわけで、 CPUプログラミングからわざわざやってくる人は性能を求めてるわけだからOpenCLを すっ飛ばしてCUDAやるんじゃないかっていう。 しかしコンシューマ用のKeplerを見る限りはなんかnVidiaは安心してサボってるような印象は受ける。 Geforce 7xxシリーズもGPGPUとしては使いにくいものになりそうなので MaxwellでFermiの上位互換的なものがくることに期待。 でもたぶんこない。コンシューマ向けのGPGPU体験/普及キャンペーンはFermiで終了したっぽい。
>>974 7xxはFermiの「上位互換」だと思ってたけど…
コアはTesla K20と同じGK110でしょ?
性能がほしいからGPU使うのにOpenCL使って性能でないとか馬鹿すぎるので みんなCUDA使ってるよ
とんがった用途に汎用環境とか、根本的に矛盾してるよね。 Radeon/ATI stream どうなった?
Occupancyを上げるためにPTXでコードを書き直してレジスタ数を削ったり、 48Kしかない共有メモリの使い方をああでもないこうでもないと工夫しているというのに、 NVIDIAのカードでOpenCLを使うなんて考えられない。
CUDAってFORTRANみたいな感じになって、デスクトップのiGPU付きCPUでGPUは 汎用環境用に進化していくんじゃないか。 デスクトップdGPUに重要なのはゲーム、それ以外(GPGPU用)は あんまり重要ではないから最新のデスクトップ用ケプラーでは GPGPUを軽視したものにしたんだろ。 今後はとんがった用途にデスクトップ用GPUなんて使うな、 GPGPU用GPUを使えになるんじゃないのか。 デスクトップPC,iGPUの性能向上でゲーム以外の用途では あんまりVGA要らなくなってきているってのが現状だし
APUはどこへ行くんだろうか
982 :
974 :2012/09/21(金) 01:37:47.43
>>975 GK110をそのままスケールダウンしたものがミドルやそれ以下にくればいいけど、
7xxの最上位以外はGK104/106/107のマイナーチェンジなんじゃないかな?
4xx→5xxがそうであったように。
それだとTeslaの名前が変わっただけで俺のような下々の人間にとっちゃ何も変わらんのよ。
寂しいけど
>>980 の言うようにこうなっちゃいそうなんだよね。
>今後はとんがった用途にデスクトップ用GPUなんて使うな、
>GPGPU用GPUを使えになるんじゃないのか。
>>982 個人的にはGK110が780に来てくれさえすればいいんだけど、
別にローエンドにこないと決まったわけじゃないでしょ。
とんがった用途って具体的に何を使って何をしているんだ?
今発売中のgeforceの中では、どれが一番GPGPUに適してます? 6xxシリーズはダメっぽいって感じでいいのかな?
>>985 でも単精度浮動小数点数だけでいいっていうんなら680/690もあり。
Tesla K10なんてのもあるぐらいだし、需要はあるんだろう。
OpenCLは全てが中途半端 OpenACCで学会の論文とかチラホラ出始めてるけど、当初の予想よりかなり良さそうなので、そのままOpenCLは駆逐される気がする。
>986,987 ふーむ。ありがとう
ここのひとはC++ AMPにも手を出してる? OpenCLみたいに中途半端なんだろうか。
今はCUDA触れる環境がないから実験で確認できないのだが、 Warpと__syncthreads関数との関係について質問したい。 「はじめてのCUDAプログラミング」という本には、 俺の記憶では次のような意味に取れる事が書かれていたような気がする。 条件分岐にさしかかった場合、 Warp内の「全てのスレッド」がまず一方の分岐を処理し、 本来そちらには行かないはずのスレッドは計算結果を捨てる。 それからもう一方の分岐をまた「全てのスレッド」が通り、 本来そちらには行かないはずのスレッドは計算結果を捨てる。 しかし「CUDA BY EXAMPLE」という本には、これとは違い、 分岐した各スレッドは分岐のもう一方の道は通らないと書かれている。 だから、ifの中に__syncthreadsがあってそこを通らないスレッドがあると、 全てのスレッドが__syncthreadsに到達するという条件が決して満たされず ハングアップするのだという。 前者の解釈ならifの中に__syncthreadsがあっても問題ない。 最後に計算結果を捨てるが、とりあえず全スレッドがそこを通る。 後者の解釈ならマズイことになる。 本当はどっちの解釈が正解? それとも実装依存で、環境によってどちらもあり得る?
>>991 if (...) {
....
__syncthreads();
...
} else {
....
__syncthreads();
....
}
は問題ない。昔エミュレータでエラーになることはあったけどGPUでは問題なく動作していた。
993 :
991 :2012/09/23(日) 18:41:53.63
>>992 if (...) {
....
__syncthreads();
...
} else {
....
}
でWarp内のスレッドが分かれるの場合の話。
「はじめてのCUDAプログラミング」の解釈だと問題ないと思われるけど、
「CUDA BY EXAMPLE」だとはっきりマズイと書かれている(日本語版73ページ)。
>>991 少なくともWarp内の全てのスレッドの分岐が同方向なら、
そちらには行かないはずでは。
__syncthreadsがWarp単位で数えていたか、
thread単位で数えていたかは分からんが、
少なくとも全Warpが同じ__syncthreadsを
通る必要はあるだろう。
>>992 MPIのbarrierと違って数だけ辻褄合わせても駄目で
ソースの同じ行にある__syncthreadsを通らなきゃいけないとか
制限無かったっけ?
>>991 CUDA4.2のCUDA_C_Programming_Guide.pdfの89ページには
以下の記述がある。
>__syncthreads() is allowed in conditional code but only if the conditional
>evaluates identically across the entire thread block, otherwise the code execution is
>likely to hang or produce unintended side effects.
仕様上は全スレッドで同じ__syncthreadsを実行しろと書いてあるから、
たとえ今のハードやコンパイラでたまたまOKでも
よろしくない書き方だろう。
>>995 でFAみたいだね。結局二つの本のどちらも間違ってなかったんじゃないかな?
っていうか
>>991 をよく見ると「はじめてのCUDAプログラミング」にしたって、
Warp内またはBlock内で分岐が割れるところに_syncthreads()を置いていい、とは書いてないみたいだし。
俺はその本持ってないけど、プログラムの動き方の説明あたりだと予想。
処理時間が片方はT1、片方はT2かかる分岐でなおかつWarp内で割れる場合だと、
処理時間はmax(T1,T2)じゃなくてT1+T2かかる的な話の。
次スレどうしよう。23:15まで誰も立てないようなら俺が立ててみようかな。
998 :
991 :2012/09/24(月) 21:22:27.56
みんなレスありがと。
>>995 俺も Programming_Guide 読んでみた。
確かに __syncthreads() を通るスレッドと通らないスレッドがあるとマズイと書かれてるね。
仕様なんで、ちゃんと従うようにするよ。
>>996 図書館で「はじめてのCUDAプログラミング」をもう一度確認したら、次のように書かれてた。
ちょっと長いけど引用する(改行は俺が勝手に入れた)。
-----( 52ページから引用 )-------------------------------
if (threadIdx.x & 1)
a = a + 2;
else
a = a + 1;
この例では「スレッド番号」が「奇数」の場合と「偶数」の場合で異なる処理をします。
どちらの方向に分岐するスレッドも、「ウォープ」内にあります。
このとき、「a=a+2」と「a=a+1」の両方の命令が実行されます。
単純に両方実行すると「a=a+3」と同じことになってしまいますが、
「a=a+2」のほうはスレッド番号が奇数のスレッドのみ有効に、
「a=a+1」のほうはスレッド番号が偶数のスレッドのみ有効にすることで実現されます。
ここで加算命令を実行した結果は有効なスレッドに対してのみ反映されます。
有効でないスレッドに関しては、命令を実行していないのと同じ状態になります。
--------------------------------------------------------
この「命令」や「実行」、「反映」、「実行していないのと同じ状態」
という言葉がやや曖昧ではっきりしない印象だけどね。
「a=a+2」の方を __syncthreads() に変えたら偶数番目のスレッドは実行される?
それとも命令を実行していないのと同じ状態になる?
この説明だけではよく分からん。
999 :
996 :2012/09/25(火) 01:49:08.14
>>998 「命令を実行していないのと同じ状態」だからつまりそういうことでいいんじゃないかな。
俺が前もって答え(
>>995 )を知ってるからそう思うのかもしれないけど。
クゥ〜〜・・・ ッダ!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。