GCD グランドセントラルディスパッチ GCD
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:00:11ID:4TVfmX/500002名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:05:45ID:wvDe+oVn0一瞬で相手の周囲の大気ごと氷結させる
相手は死ぬ
0003名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:09:56ID:YvTQ/3V30強烈な嵐を呼び寄せると同時に、
大地を引き裂き相手グループを一瞬にして飲み込む。
0004名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:19:36ID:/uxN0t/M00005名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:21:26ID:hwSM9Vbh00006名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:23:31ID:ghrSj3cZ0アイデンティフィケーションディビジョン
ファイナライザー
ネガティブゲイン
メテオザッパー
0007名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:25:53ID:q0uSR4zR00008名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:33:24ID:7Wy0vCjN0歌詞は>>9
0009名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:51:53ID:v0KucdEQ00010名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:59:58ID:y5i/6Qye0GがCのドミナントとして働くから
D-Durってことになるな。
0011名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:00:03ID:7Wy0vCjN0技術を擬人化した戦闘もののヒーローみたいな感じがいい
スレ自体はカッコいい響きの単語の流れに戻ってくれ
デュアル・チェック・セーフティ
0012名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:03:39ID:7Wy0vCjN0え?ト長調じゃないのか
DがGメジャーキーのドミナントだべ
0013名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:08:20ID:EwZNaCxi00014名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:10:15ID:YvTQ/3V30そうさ グランド
G C Am D
君の 思いは セントラル(今もセントラル)
G F Am D C
こんな僕にも 勇気くれた ディスパッチ
0015名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:10:41ID:zuBmOM2tP0016名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:11:15ID:ghrSj3cZ0わかるwww
0017名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:20:43ID:E1HJG8EH00018名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:29:56ID:P4Dpfqq300019名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:31:32ID:3HLCafE+0あなた次第ですよ
0020名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:39:11ID:wZlMRj6g00021名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:47:54ID:BmIvPghD00022名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:53:46ID:3GIxSpe+0「奴等がまた近づいて来たみたいだな……」なんて言ってた
クラスメイトに「何してんの?」と聞かれると
「っふ……GCD(ソフトウェアのスレッドを効率的に(ry)を持たぬ物にはわからんだろう……」
と言いながら人気の無いところに消えていく
0023名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:57:04ID:YvTQ/3V30カコイイ !!
0024名無しさん@そうだ選挙に行こう
2009/08/30(日) 20:05:11ID:pzCNIxeu00025名称未設定
2009/08/30(日) 20:15:38ID:7jpw1Tjl00027名称未設定
2009/08/30(日) 20:22:02ID:E1HJG8EH00028名称未設定
2009/08/30(日) 21:07:49ID:zr0RWZx3P宿題を分割して友達に押し付け、あっという間に宿題を終わらせられるひみつ道具。
0029名称未設定
2009/08/30(日) 21:22:04ID:YvTQ/3V30俺の意識は次第に彼女のセントラルに吸い込まれていく。
「ん。。いつでも、いいのよ」
彼女がカーネルを切り替えると、鼓動はいっそう激しさを増していく。
「・・・中でディスパッてもいいのかい?」
「来て。早く。もう私、ロゼッちゃう」
0030名称未設定
2009/08/30(日) 21:25:35ID:/uxN0t/M00031名称未設定
2009/08/30(日) 22:26:09ID:CUSpVmeL0現状Mac Pro専用じゃね
0033名称未設定
2009/08/30(日) 22:32:12ID:qZzANJR300034名称未設定
2009/08/30(日) 23:00:59ID:CUSpVmeL0ソフトウェア開発者の方?
効果あるなら楽しみだなぁ
0035名称未設定
2009/08/30(日) 23:08:04ID:y2sU4sma00036名称未設定
2009/08/30(日) 23:14:49ID:CEVoyJPEP0037名称未設定
2009/08/30(日) 23:27:21ID:Uh5wIpYL00039名称未設定
2009/08/30(日) 23:33:40ID:xsbpwwgA0無能開発者と無知ユーザ向けのまやかしなわけで。移植性も0
マトモなソフトはこんなん使わなくても必要な部分は既にマルチスレッド化されている。
0040名称未設定
2009/08/30(日) 23:38:21ID:BmIvPghD00041名称未設定
2009/08/30(日) 23:42:34ID:qHppzxdX0「高級言語なんてアセンブラも使えない奴の(ry」
「Javaなんてポインタも理解できない奴の(ry」
とか言ってるのと変わらん。
有能な開発者であればこそ、スレッドがどうこうなんて下らんことより
もっとアプリにとって本質的な問題にその能力を費してほしいもんだ。
0043名称未設定
2009/08/30(日) 23:44:14ID:4OUR1JCX0書き直しが必要なのかぁ
じゃあ市販ソフトで体感できるようになるには時間が掛かりそうだな
0044名称未設定
2009/08/30(日) 23:48:03ID:WwOipQASPスレッドをフル活用するプログラミングはプログラマが疲弊しやすいのさ…
特にマルチコアCPUが前提となりゃ、さらに増大する
Cocoaで扱うスレッドは自動的にGCDになるわけじゃなく実装者に任されているわけだから、
Appleのこのアプローチは正しい方向だとは思うんだよな。
0045名称未設定
2009/08/30(日) 23:53:08ID:CEVoyJPEP0046名称未設定
2009/08/31(月) 00:00:56ID:xH8cM8dG0既にマルチスレッド化されているものをわざわざGCD用に書き直すのは
手間を増やしてパフォーマンスを落とすだけなので無意味
そもそもGCDの宣伝自体が変なんだよ
空いてるコアを判断して効率的に割り当ててくれるとか、GCDを使わなくてもそうなってるっての。
逆にOSのタスクスケジューラを無視してわざわざ特定のコアに割り振らせるために
thread affinity APIなんかが用意されてるのが現実なんだがね。
0047名称未設定
2009/08/31(月) 00:09:41ID:HetyKf6c0現状でマルチコアの環境を活用するにあたって
GDCってのはなくても良い技術ってことなのでしょうか
0048名称未設定
2009/08/31(月) 00:11:31ID:5fAcdPeB0>手間を増やしてパフォーマンスを落とすだけなので無意味
そりゃマルチスレッド化されてない処理を半自動的に並列化する技術なんだから、
マルチスレッド化済のアプリにわざわざ適用しようなんて考えるバカはいないだろ
>そもそもGCDの宣伝自体が変なんだよ
スレッドを空いてるコアに適切に割り当てるって、
そりゃマルチコア対応のOSなら当たり前の機能だよ確かにwww
変なのはお前の理解のほうだって気づけよ。
004947
2009/08/31(月) 00:12:15ID:HetyKf6c0丸 -> GCD
0050名称未設定
2009/08/31(月) 00:13:46ID:yTfT5Zep0ttp://pc.watch.impress.co.jp/docs/column/hot/20090828_311117.html
とか読む限り、それなりに意味の有るアプローチに見えたが
0051名称未設定
2009/08/31(月) 00:15:05ID:xH8cM8dG0>マルチスレッド化済のアプリにわざわざ適用しようなんて考えるバカはいない
そりゃ開発者ならそうだろうけど、ユーザはそうでもないんだな
>>43とか見れば分かるでしょ
>変なのはお前の理解のほう
宣伝が変だという話をしているのだが?
0052名称未設定
2009/08/31(月) 00:16:13ID:QzLwMTFh0そのMacで立ち上げてるアプリ全部がGCD対応になったときに効果を発揮する気がする
0053名称未設定
2009/08/31(月) 00:19:01ID:xH8cM8dG0ディスパッチの瞬間の負荷だけでスレッド数を決められても困るんだよ
Apple的にはqueueに突っ込むタスクの単位を小さくしろということなんだろうけど
スレッド生成のオーバーヘッドが増大して本末転倒
結局CPUのスレッド数分だけ最初に起動しておくのが一番効率が良いという
0054名称未設定
2009/08/31(月) 00:35:15ID:WqlRk92y0そりゃ確かに俺の理解力が足りなかったwww
0055名称未設定
2009/08/31(月) 00:56:17ID:EVXi+yNp00056名称未設定
2009/08/31(月) 01:01:00ID:FEYM3/Tq0MAGIがグランドセントラルディスパッチを実装して
初めて解決するらしいよ
0057名称未設定
2009/08/31(月) 03:27:36ID:ZAwBgW8r0そのうちGCDたんとかが出てきそうな勢いだったのに
0058名称未設定
2009/08/31(月) 03:44:50ID:3+ohd/wN0スレッドはその度に生成されるわけではなく
スレッドプールとして存在していて、
キューに溜まっていれるブロックを流し込む。
だから従来ののようにスレッド作ったり管理したり
ロックに気を使ったりするより遥かに軽い。
0059名称未設定
2009/08/31(月) 03:51:45ID:fukjUhoO00060名称未設定
2009/08/31(月) 04:21:31ID:xH8cM8dG0それはスレッド生成のコストが必要ないことの説明にはなってるけど
従来より軽いことの説明にはなってないな
スレッドプールがOS管理だとすると別プロセス?
メモリ空間とか共有変数はどうなる? IPC?
何か結局面倒な処理は全部シリアルにやっていそうな予感。CUDAもそうだが。
まあマニュアル読めって話だな
0061名称未設定
2009/08/31(月) 04:27:47ID:xzcflHdMP想像上のGCDを語っているだけか。
0062名称未設定
2009/08/31(月) 04:54:42ID:pW7uxJqI0ちょっと捜してみるか。
0063名称未設定
2009/08/31(月) 04:58:27ID:pW7uxJqI0Grand Central Dispatch (GCD) Reference
http://developer.apple.com/mac/library/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html
0064名称未設定
2009/08/31(月) 05:33:08ID:pW7uxJqI0http://developer.apple.com/mac/library/documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html
0066名称未設定
2009/08/31(月) 08:51:05ID:7JD0UYVn0NSThreadでやると楽だけど細かい処理が書けなくて
pThreadでやると細かいことが出来るが異様に処理がめんどい
超簡単なOpenMPは都度スレッド生成するのでループの中で使うのにはむかず
結局汎用的なスレッドプールとQueue管理機構があった方が楽、という話。
そういうケースへのAppleの回答がGCDであって、別にそれ以外使うな
とかではない。
0067名称未設定
2009/08/31(月) 12:37:13ID:GRNmlxBx0NSOperation使ってれば自動的にGCD適用かな
0068名称未設定
2009/08/31(月) 13:13:14ID:ZAwBgW8r00069名称未設定
2009/08/31(月) 14:01:13ID:QWCuIEtI0「技術を擬人化した戦闘もののヒーロー」
みんなでこれを話し合っているんじゃないか
0070名称未設定
2009/08/31(月) 14:13:45ID:DGsNXBwe00071名称未設定
2009/08/31(月) 14:15:38ID:yGI5FM6+0本質的にはGCDとは独立してるけど、
これがあるかないかでずいぶん違うはずだ。
それ以外はよくある並列化フレームワークという気がするんだが、
スケジューリングとかでなにか新しいとこがあるのかな?
結局タスク自体はblock単位になるはずなので、
細かく分けたりするのはプログラマの仕事なはずだし。
0072名称未設定
2009/08/31(月) 16:15:17ID:9BewSE6G0ヴィジュアルレイアウトにおけるクロック・サイクルで言えば、グランド・セントラル・ディスパッチの
インステゥルメンツ・パフォーマンスがギガフロップ的キューのメディア・アーキテクチャなわけですよ。
だから、ファイヤー・ウォールがアクセサビリティのイノベーションだとすれば、
キーボード・コマンダはオートウェブスポットの中ではウェイク・オン・ランってところですね。ンヴィディア。
0073名称未設定
2009/08/31(月) 16:25:24ID:F93OqFl100074名称未設定
2009/08/31(月) 16:44:24ID:nYKAK0t200075名称未設定
2009/08/31(月) 18:02:31ID:uhyBCjnr0007671
2009/08/31(月) 18:06:22ID:yGI5FM6+0個人的にはラムダ・クロージャがインプレッシブ。Cエクステンションであるから。
エッセンシャルには<<大雑踏の処刑者>>(グランドセントラルディスパッチ)と
は独立しているが、あるかないかでずいぶん違うはずだ。
それ以外はトラディショナルなコンカレンシーフレームワークのインプリだろうが、
スケジューリングとかにコントリビューションがあるのか?
結局タスクユニットはアノニマウス・ファンクションなので、
ファイン・グレインドにするのはディベロッパのレスポンジビリティ(ry
GCDの訳はこれでよろしいか?
0077名称未設定
2009/08/31(月) 18:11:33ID:RhJZpzSyP問題は相手を一撃で殺せるか、そこだ。
0078名称未設定
2009/08/31(月) 18:26:35ID:GRNmlxBx0…俺には無理でした
0079名称未設定
2009/08/31(月) 18:36:58ID:F93OqFl10ディベロッパーズ! ディベロッパーズ! ディベロッパーズ!
ってことでいいんだな?
0080名称未設定
2009/08/31(月) 20:40:14ID:EIHr82XA0Knowledge Navigator、ix3D ULTIMATE REZ、クロックダブリング、
こんなとこかな。
古くてすまん。
でもやっぱグランド・セントラル・ディスパッチが最強!
0081名称未設定
2009/08/31(月) 21:56:35ID:KGhVm2Om00082名称未設定
2009/08/31(月) 23:13:25ID:aPtvtWqj0に比べればどうってことはない気もする
0083名称未設定
2009/09/01(火) 05:43:35ID:pW1oCLOw00085名称未設定
2009/09/01(火) 12:17:59ID:mzNa/Mel00087名称未設定
2009/09/01(火) 17:22:18ID:qattjuwJ00088名称未設定
2009/09/01(火) 17:29:44ID:YvETHKtp00089名称未設定
2009/09/01(火) 17:34:18ID:qattjuwJ0エッチスケッチワンタッチなんだよな…
0090名称未設定
2009/09/01(火) 17:39:50ID:ymF9LKDq0でもプライベートは女にだらしない
冴羽 獠風で
0091名称未設定
2009/09/01(火) 23:38:14ID:GKQFFmer0みたいな。
0092名称未設定
2009/09/01(火) 23:54:34ID:9owqATJQ00093名称未設定
2009/09/02(水) 01:13:49ID:5T4DjXs9P0094名称未設定
2009/09/02(水) 11:58:19ID:NPiqXBMq0ヒットエンドラーン
0095名称未設定
2009/09/02(水) 16:57:20ID:zkTHx9YE0グランド・セントラル・ガスパッチョ
ありそうで困るw
0097名称未設定
2009/09/02(水) 20:36:27ID:QC6U9jU600098名称未設定
2009/09/02(水) 20:52:36ID:0PMec8Tt00099名称未設定
2009/09/02(水) 22:55:19ID:nGWvV7W100100名称未設定
2009/09/02(水) 23:02:11ID:WX8RhHs+0かなりの鷲鼻だけど
0101名称未設定
2009/09/04(金) 00:00:55ID:Maflk5Bu0CPUで走るスレッドとGPUで走るスレッドが共存したりなんてこともあるんだろうか
0102名称未設定
2009/09/04(金) 08:48:59ID:+s484WZ0i0103名称未設定
2009/09/04(金) 09:59:11ID:I5fnFzu100104名称未設定
2009/09/04(金) 11:36:11ID:2tjrGvk6i0105名称未設定
2009/09/04(金) 21:22:26ID:p+W7T1bS0これでObjective-CもRubyになんか負けない
0106名称未設定
2009/09/04(金) 23:38:58ID:7vWNblDU00108名称未設定
2009/09/13(日) 21:55:17ID:EatbaJKS0Snow Leopardの「Grand Central Dispatch」(GCD)がオープンソース化
Snow Leopardの主要な新機能の1つにGrand Central Dispatch (GCD)があるが、同機
能のユーザー空間向け実装のコードがオープンソースとして公開されている。
libdispatchプロジェクトは、このGCD APIをベースにしており、Apache License 2.0
でのライセンスが行われる。またGCDのカーネルサポートについてはXNUプロジェクトで
行われているが、GCD APIのフル機能利用にはCコンパイラのBlocksサポートが必要にな
る。このBlocksサポートはLLVMプロジェクトの一部として提供されている。
GCDはマルチプロセッサコア環境でマルチスレッドを効率処理するための仕組み。
Snow Leopardで新たに実装された機能であり、同機能の利用で例えばSafari上のGoogle
MapsがLeopard世代以前と比較してかなり高速に動作するようになる。このようにGCDは
最新の目玉機能の1つだが、早くもオープンソースとして公開される点は驚きだ。
GCDプログラミングに必要なリファレンスは、Appleが運営するオープンソースプロジ
ェクトサイトMac OS Forgeのlibdispatchページで一通り提供されている。前述の通り
GCDはBlock Objectとセットで扱われるため、CコンパイラでのBlocksサポートが必須と
なる。BlocksはC言語ならびにその派生言語に匿名関数(無名関数)とクロージャを付与
するもの。
0109名称未設定
2009/09/16(水) 16:57:54ID:N30X1WuB0これは、例えばLinuxカーネルへの対応をXNUプロジェクトが行っていると
いう解釈でよい?
0110名称未設定
2009/09/16(水) 17:47:08ID:tlFJ5jgO00111名称未設定
2009/09/16(水) 19:34:27ID:UfC2Slvi00112名称未設定
2009/09/16(水) 22:12:33ID:jNDVergi00113名称未設定
2009/09/16(水) 22:28:30ID:EIpH3CRq0頑張れよ技術者側
0114名称未設定
2009/09/16(水) 22:48:39ID:9RS8+qRqP0115名称未設定
2009/09/16(水) 23:00:14ID:2XHkiE1r0queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dispatch_async(queue, ^{
[appleInc.snowLeopardDevTeam.currentOS versionUp];
[appleInc.GCDDevTeam openGCDSourceCode];
[appleInc.Jobs laugh];
if (2ch.currentThread.waitingNewResponse)
[self writeToReverseSideOfFlyer];
});
0116名称未設定
2009/09/17(木) 00:18:00ID:/k9xozw+0クローズドにすると移植性ないから見向きもされない。
仮にこのオープン化で好評を受けたとして、使われ始めるだけだとまだメリットはない。
その時に、GCD提唱した会社として主導権握ると恩恵を探れるだろう。
GCDがオープン化しただけじゃダメなので、世の中のコンパイラ環境がBlocksサポートしていくのかどうかが気になる所だね。
翻訳スレにars technicaのGCD解説が上がってて判りやすいんだけど、
要するにOSXの現在のスレッド実装が重い(概ね各スレッドが管理用情報含めて512KB以上になっている)事に対する改善案に過ぎない。
OSにより統一された256バイトで済むキューモデル、一見良い物に見えるが実際のアプリとしての実績は皆無。Snow Leopard内部でどれくらい使われているのかもあまり明らかになってない。
マルチコア化の流れの中、煩雑化したスレッド実装を整理したいのは何もAppleだけじゃない。
今後とも継続的に他社やオプソからもアイデアが摸索されていきそう。いくかもしれない。いくといいな。いいのかな。
ここまで全部私見混じりなのでごめんなさい。
0117名称未設定
2009/09/17(木) 01:01:56ID:+rzBm4010arsの解説は抽象的すぎて肝心な事を言ってない
GCDはコード生成がJITに傾きつつある今、
スレッドもJITに任せてみようという試み
JIT threadingとでもいうか
JITのcode emitterを使って実行時にコードブロックをスレッドに突っ込む
0118名称未設定
2009/09/21(月) 00:00:37ID:H2PJYaaBiコード生成と並列化がどう関係あるの?
意味がある気がしない。
OpenCLの方はJITコンパイルすると言う記事はあって、それはわかるんだが、
GCDの方はblock単位でコンパイルしても粒度細かすぎて性能低下するだけじゃ...
0119名称未設定
2009/09/21(月) 00:30:01ID:qQMIPXSTiCにキューモデル処理できるコルーチン拡張的な言語拡張
軽い機構でスレッディング恩恵がある
そういうレベルなので粒度問わず動的最適化を担うLLVMに投げてる訳だ
性能低下はない。伸び白がある
AppleはUNIX系の根っこへ投資した訳だ
0120118
2009/09/21(月) 00:40:12ID:qU/IjgEB0JITコンパイルの性能低下がないわけがない。
そんなことよりコンパイル済みのコードのアドレスを関数ポインタみたいにキューに突っ込む(適当)ほうが楽だ。
軽いのはthreadと比べてキューだからという話であってだな...
っていうか適当に言ってないですか? ネタスレでしたか。釣られましたか
0122名称未設定
2009/09/21(月) 01:24:11ID:s8tK5Xej0いやだからJITコンパイルじゃなくてJIT threadingだって。
>コンパイル済みのコードのアドレスを関数ポインタみたいにキューに突っ込む
キューに突っ込んだ後は結局スレッドに割り当てる必要がある。
それをJITでやる。スレッドと比べてキューだから軽い、という事ではなく
既に作ってあるスレッドに任意のコードブロックを動的に割り当てられるから軽い。
0123名称未設定
2009/09/21(月) 01:33:59ID:qU/IjgEB0ああ、それならわかります。つまりスレッドプールということですね。
code emitterというからコードを生成するのかと勘違いしました。
0124名称未設定
2009/09/22(火) 02:40:50ID:tX+8zMkj0ここは2chですよ
間違いは認めずに意地を張って下さいw
0125名称未設定
2009/09/24(木) 00:49:22ID:mabvnunT00126名称未設定
2009/09/29(火) 11:18:35ID:dXS5MH8K010.6ではGCDで並列処理っていう風に作ることってできますか?
やっぱり10.6専用にビルドしないとダメ?
0127名称未設定
2009/09/29(火) 12:04:19ID:AzI+FENiiが生きているかチェックして、処理を振り
替えるだけでは。
10.6SDKを使い、deployment targetを
10.5にすれば良さそう。
0128名称未設定
2009/10/19(月) 16:45:50ID:gQXwCopP00129名称未設定
2009/11/14(土) 15:58:33ID:jjuc5OrY00130名称未設定
2009/12/12(土) 01:56:13ID:QVbGtQsO0今でもすぐにCPUいっぱいいっぱいになるんだけど。
OpenCLの方が速くなるの?
0131名称未設定
2009/12/12(土) 12:59:27ID:3WnTCMQ300132名称未設定
2009/12/12(土) 13:27:54ID:QVbGtQsO00133名称未設定
2010/02/18(木) 02:33:45ID:yYsCN7eG00134名称未設定
2010/03/28(日) 02:01:15ID:05CZap+200135名称未設定
2010/04/15(木) 20:35:13ID:bOXdTUBHP0137名称未設定
2010/04/16(金) 01:08:11ID:D7h3HGgM0GCは?
■ このスレッドは過去ログ倉庫に格納されています