FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2020-06-01から1ヶ月間の記事一覧

"Modern Computer Architecture and Organization" を買った

今年の5月に発売された新刊。Google検索しているとたまたま引っかかってちょっと調べたかった情報が載っていたので買ってみた。日本でも発注可能。 サブタイトルの「Lear x86, ARM, and RISC-V architectures and the design of smartphones, PCs, and cloud…

QEMUに入門してみる(1. RISC-V用ビルドの確認)

QEMUのソースコードをGitHubからダウンロードして中身を見てみる。riscvと名のつくディレクトリがどの程度あるか探してみた。 $ find . -name riscv ./hw/riscv ./include/hw/riscv ./linux-user/riscv ./target/riscv ./tcg/riscv ビルドするには以下を実行…

QEMUに入門してみる(0. ドキュメントの生成)

命令セットシミュレータ以外で仮想エミュレータというものに触れたことが無い。そもそもQEMUがどのようなものなのか全く触ったことが無いので中身を見てみることにした。 私はRISC-Vが得意なのでまずはRISC-Vの実装だけを見ていこうと思うが、 https://githu…

レイトレーシングアルゴリズムについて基本を学ぶ(3. 実ソースコードの読み解き)

前回オリジナルLLVMバックエンドを使ってレイトレーシングのプログラムをコンパイルして動かしたのだが、実は「レイトレーシングとは何なのか」良く知らない。コンピュータグラフィックスの授業などは殆ど取ったことが無く、これまでの経験でも使用すること…

レイトレーシングアルゴリズムについて基本を学ぶ(2. アルゴリズム・反射・屈折)

前回オリジナルLLVMバックエンドを使ってレイトレーシングのプログラムをコンパイルして動かしたのだが、実は「レイトレーシングとは何なのか」良く知らない。コンピュータグラフィックスの授業などは殆ど取ったことが無く、これまでの経験でも使用すること…

レイトレーシングアルゴリズムについて基本を学ぶ(1. 画像の生成とは)

前回オリジナルLLVMバックエンドを使ってレイトレーシングのプログラムをコンパイルして動かしたのだが、実は「レイトレーシングとは何なのか」良く知らない。コンピュータグラフィックスの授業などは殆ど取ったことが無く、これまでの経験でも使用すること…

オリジナルLLVMバックエンドでレイトレースプログラムを実行する

オリジナルLLVMバックエンドの話の続き。もう少し高度なプログラムとしてレイトレースのコードをコンパイルして実行してみようと思う。 レイトレースのプログラムは非常に複雑だが、これがきちんとコンパイルできるだろうか。 レイトレースのプログラムは以…

オリジナルLLVMバックエンドでマンデルブロ曲線を描くプログラムを実行する

久しぶりにオリジナルLLVMバックエンドの話だ。少しずつ調整を進めているのだが一つのマイルストンとしてマンデルブロ曲線を描くプログラムをコンパイルしてみ実行してみようと思った。 マンデルブロ曲線は言わずと知れた数式をベースとした非常に奇妙な柄を…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(PyCallでのNumpyインポートの問題)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。ステップ47では新しいFunctionを実装しなければなら…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ46)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。今回はステップ46。この付近から重たいので1章ずつ…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ45)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。今回はステップ45。この付近から重たいので1章ずつ…

David Patterson教授の提唱しているベンチマークスイートEmbenchでコードサイズを比較する

少し興味があって各種アーキテクチャでのコードサイズの比較をやってみたくなり、良いベンチマークスイートが無いかを調べていたのだが、RISC-V Summit 2019でDavid Patterson教授の発表したEmbenchを試してみることにした。 Embenchはその名の通り組み込み…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ43/ステップ44)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。今回はステップ43とステップ44。 ステップ43:ニュ…

AlibabaのRISC-VアウトオブオーダプロセッサXuantie-910の論文を読む

ISCA 2020で発表されたAlibabaのXuantie-910の論文を読む。 www.iscaconf.org Xuantie-910: A Commercial Multi-Core 12-Stage Pipeline Out-of-Order 64-bit High Performance RISC-V Processor with Vector Extension https://www.iscaconf.org/isca2020/p…

RISC-VのアウトオブオーダプロセッサSonicBOOM (BOOMv3)の論文を読む

SonicBOOMというのはBOOM(Berkeley Out-of-Order Machine)の第3世代で、なぜSonicという名前を付けたのか謎だが、IPCを向上させるための技術が詰め込まれている。 carrv.github.io SonicBOOM: The 3rd Generation Berkeley Out-of-Order Machine https://car…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ41/ステップ42)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。今回はステップ41とステップ42。 ステップ41:ベク…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ39/ステップ40)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。今回はステップ39とステップ40。 ステップ39:和を…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ37/ステップ38)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。今回はステップ37とステップ38。 ステップ37:テン…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ35/ステップ36)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。計算グラフが表示できるようになって、いよいよ難し…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ33/ステップ34)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。計算グラフが表示できるようになって、いよいよ難し…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ31/ステップ32)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。計算グラフが表示できるようになって、いよいよ難し…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ29/ステップ30)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。計算グラフが表示できるようになって、いよいよ難し…

ゼロから作るDeep Learning ③ のDezeroをRubyで作り直してみる(ステップ27/ステップ28)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。計算グラフが表示できるようになって、いよいよ難し…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(ステップ25/ステップ26)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③のDezero実装、勉強のためRubyでの再実装に挑戦している。Rubyのライブラリだけでは厳しいということが分かっ…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(Ruby + Numpyを試行3)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) Rubyで作るDeZero、ステップ24まで進んだのだがかなり厳しい。Numpyを使う方法にだいぶ慣れてきたので、いっそのこと実装をすべてRubyとNu…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(Ruby + Numpyを試行2)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) Rubyで作るDeZero、ステップ24まで進んだのだがかなり厳しい。Numpyを使う方法にだいぶ慣れてきたので、いっそのこと実装をすべてRubyとNu…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(Ruby + Numpyを試行)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) Rubyで作るDeZero、ステップ24まで進んだのだがかなり厳しい。とにかくRubyに数値計算用のライブラリが無く、行列の計算がとにかく煩雑に…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(ステップ19/ステップ20)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ21とステップ22。 ステ…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(ステップ19/ステップ20)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ19とステップ20。 ステ…

ゼロから作るDeep Learning ③ のPython実装をRubyで作り直してみる(ステップ17/ステップ18)

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ17とステップ18。 ステ…