2024-07-01から1ヶ月間の記事一覧
OpenMPを使った並列プログラムを試していて,いろいろ疑問に思ったことなのだが,場合によっては全然性能が上がらないことがある. 簡単なプログラムを作って,その動作をか確かめてみたい: printf("# of threads: %d\n", nthread); printf("# of processor…
前のブログエントリの続き: msyksphinz.hatenablog.com msyksphinz.hatenablog.com msyksphinz.hatenablog.com 引き続き、以下の資料を読んでいく。 https://safari.ethz.ch/digitaltechnik/spring2023/lib/exe/fetch.php?media=onur-ddca-2023-lecture20-g…
前のブログエントリの続き: msyksphinz.hatenablog.com msyksphinz.hatenablog.com 引き続き、以下の資料を読んでいく。 https://safari.ethz.ch/digitaltechnik/spring2023/lib/exe/fetch.php?media=onur-ddca-2023-lecture20-gpu-beforelecture.pdf Block…
前のブログエントリの続き: msyksphinz.hatenablog.com 引き続き、以下の資料を読んでいく。 https://safari.ethz.ch/digitaltechnik/spring2023/lib/exe/fetch.php?media=onur-ddca-2023-lecture20-gpu-beforelecture.pdf -- プログラミングモデルは、プロ…
GPUアーキテクチャの基本について学ぶために、以下の資料を読んでいく。 https://safari.ethz.ch/digitaltechnik/spring2023/lib/exe/fetch.php?media=onur-ddca-2023-lecture20-gpu-beforelecture.pdf -- 以下の資料を読むことを強く推奨する Lindholm et a…
フロントエンドの命令の切り出し方法について、少し考えなおした。 RVCを展開してプリデコードされた命令は、FIFOに貯められる。 FIFOの各エントリはキャッシュブロックに貯められる命令の最大サイズで格納されるが、これをディスパッチできるサイズに切り出…
グラフアルゴリズムにおける幅優先探索(Breadth Width Search: BFS)というのは、グラフのスタート・ノードから始まって、ノードに隣接するノードを探索してから、さらにそのノードに隣接するノードを探索するというアルゴリズムだ。 グラフアルゴリズムの授…
RVC命令の切り出しの部分を改善について実装を進めていて、Dhrystoneでの基本的な動作を検証している。 もろもろデバッグして、一応最後まで動くようになった。しかしまだいろいろと問題がある。 分岐予測器と結合していない:フロントエンドの分岐予測の結…
RVC命令の切り出しの部分を改善について実装を進めていて、Dhrystoneでの基本的な動作を検証している。 Dhrystoneの最初の部分が動くようになってきた。いろいろデバッグしている。 今のところは想定内に動作しているが、次は分岐予測とのインテグレーション…
RVC命令の切り出しの部分を改善について実装を進めていて、Dhrystoneでの基本的な動作を検証している。 おおよそRVCの16ビットの切り出しについては動作するようになった。周波数的にも許容範囲だ。 問題はキャッシュブロックを跨いだ時だ。 キャッシュブロ…
RVC命令の切り出しの部分を改善について、もうちょっと考え直す。 ちょっと実装を進めて、ちょっとだけ動き始めた。 タイミング的にも、まだ余裕がある。
RVC命令の切り出しの部分を改善について、もうちょっと考え直す。 以下の記事だが、なんか違う気がしてきた。 msyksphinz.hatenablog.com RVCの位置を正確に計算するというのなら、以下のようなことを考えなければならないはずだ: 必要なのは、16ビットブロ…
RVC命令の切り出しの部分を改善して、とりあえずフロントエンドへのインテグレーションを始めた。 まだ全く動作しないのだが、信号を接続しながら動作を確認していこうと思う。 とりあえず、命令の切り出しとデコードの部分をチェックしていく。あとは、アデ…
ISCA 2024で発表された「Constable: Improving Performance and Power Efficiency by Safely Eliminating Load Instruction Execution」という論文を読んでみることにする。 arxiv.org どうやら Best Paper Awardはこの論文がとったらしい。 Congratulations…
ISCA 2024で発表された「Constable: Improving Performance and Power Efficiency by Safely Eliminating Load Instruction Execution」という論文を読んでみることにする。 arxiv.org どうやら Best Paper Awardはこの論文がとったらしい。 Congratulations…
ISCA 2024で発表された「Constable: Improving Performance and Power Efficiency by Safely Eliminating Load Instruction Execution」という論文を読んでみることにする。 arxiv.org どうやら Best Paper Awardはこの論文がとったらしい。 Congratulations…
前回の続きで,RVCを含んだ命令キャッシュブロックから命令を正しく切り出す方法について、まだちゃんとした実装や検証にはなっていないのだけれど,Vivadoで論理合成してクリティカルパスを確認していく. 命令の切り出しの部分と,最終的な命令をリネーム…
前回の続きで,RVCを含んだ命令キャッシュブロックから命令を正しく切り出す方法について、まだちゃんとした実装や検証にはなっていないのだけれど,Vivadoで論理合成してクリティカルパスを確認していく. 命令の切り出しの部分だけを見ると,以下のような…
前回の続きで,RVCを含んだ命令キャッシュブロックから命令を正しく切り出す方法を検討していく. ここでは,命令が128ビットであり命令のズレが起きていない(つまり過去のキャッシュブロックの16ビットを引きずっていない)ものとする. 128ビットの命令キャ…
HiFive Unmatched は SiFive が2020年(と記憶している) に発表したSBC(Single Board Computer) で,当時としては数少ない Linux を動作させることができる開発ボードだった. 問題はこのボードは異常に値段が高く,発表当時は667米ドル(当時の相場で考えても…