アカウント名:
パスワード:
単純に繰り返しの代わりにスレッドを起こすだけで、結構な問題をカバーできる。# ループ間の依存関係があるとちょっと工夫しなければならないが。
そのためにはスレッドを簡単に起こす必要があって、スタックやTCBを割り当てたりなんてのでは困る。ではどうするかってーと、昔なつかしのスタックコンピュータならレジスタセットの代わりにスタックを積んでいるので命令一つでスレッドを起動できる。内蔵スタックが溢れたら例外起こしてメモリを割り当てればいい。
スタックコンピュータは連続した命令が非常に強い依存関係にあるというパイプラインによるスーパースケーラとしては致命的な欠点から廃れたのだが、SMTなりSMPなりが前提になるとスレッド間の依存関係がないのでスレッドから順繰りに命令を投入するだけで済む。ゆえにその欠点はまったく問題にならない。それどころか分岐予測やアウトオブオーダ、投機実行などのでかい回路が完全に不要になり、元々回路規模が小さいスタックコンピュータの小ささが際立つようになる。
挙げられているメリット程度ならGPUでよくね?
元コメのアーキテクチャでは条件分岐ペナルティがほぼゼロだよ?特性的にはCPUとGPUの中間みたいな感じになるだろう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
並列化 (スコア:1, すばらしい洞察)
効率的なのはもちろんだけど、あえて「ここは並列で!」なんて指示しなくても良きに計らってくれるくらいでないと、なかなか厳しいと思う。
#pragma omp parallelうねうね。
Re:並列化 (スコア:1)
単純に繰り返しの代わりにスレッドを起こすだけで、結構な問題をカバーできる。
# ループ間の依存関係があるとちょっと工夫しなければならないが。
そのためにはスレッドを簡単に起こす必要があって、スタックやTCBを割り当てたりなんてのでは困る。ではどうするかってーと、昔なつかしのスタックコンピュータならレジスタセットの代わりにスタックを積んでいるので命令一つでスレッドを起動できる。内蔵スタックが溢れたら例外起こしてメモリを割り当てればいい。
スタックコンピュータは連続した命令が非常に強い依存関係にあるというパイプラインによるスーパースケーラとしては致命的な欠点から廃れたのだが、SMTなりSMPなりが前提になるとスレッド間の依存関係がないのでスレッドから順繰りに命令を投入するだけで済む。ゆえにその欠点はまったく問題にならない。それどころか分岐予測やアウトオブオーダ、投機実行などのでかい回路が完全に不要になり、元々回路規模が小さいスタックコンピュータの小ささが際立つようになる。
Re: (スコア:0)
挙げられているメリット程度ならGPUでよくね?
Re:並列化 (スコア:1)
元コメのアーキテクチャでは条件分岐ペナルティがほぼゼロだよ?
特性的にはCPUとGPUの中間みたいな感じになるだろう。