2020-05-01から1ヶ月間の記事一覧
MLIRについて基礎を学んだところで、実際に動かしてみたい。以下のページを読みながら少しチュートリアルを触ってみよう。 mlir.llvm.org mlir.llvm.org MLIRとのインタフェース 先ほどのtranspose()がどのようにMLIRに変換されたのかを以下に示す。 %t_tens…
MLIRについて基礎を学んだところで、実際に動かしてみたい。以下のページを読みながら少しチュートリアルを触ってみよう。 https://mlir.llvm.org/getting_started/ ビルドのためのリポジトリはLLVMのものと同じで良いらしい。 git clone https://github.com…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ15とステップ16。 ステ…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ13とステップ14。 ステ…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ11とステップ12。 ステ…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ9とステップ10。 ステッ…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ7とステップ8。 ステッ…
RISC-V Vector ExtensionのGitHubリポジトリに静かにv0.9のタグが打たれた。 v0.8とv0.9の間にどれだけの差分があるか、調べておかなければならない。 v0.8のタグの付いたRevision github.com v0.9のタグの付いたRevision github.com という訳でGitリポジト…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ5とステップ6。 ステッ…
LLVM IRについて調べていると、最近よくMLIRという言葉を目にするようになった。MLIRは"Multi-Level Intermediate Representation"の略称であって決して"Machine Learning"ではないのだが、LLVM IRを置き換えるために開発されている新しい中間表現形式である…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。DezeroのPython実装をRubyに移植する形で独自に勉強している。次はステップ3とステップ4。 ステッ…
ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅発売日: 2020/04/20メディア: 単行本(ソフトカバー) ゼロから作るDeep Learning ③を買った。昨年のQiitaでも自分でビルドシステムを作ってみた通り、こういうプラットフォームを作る話は大好…
前回のシミュレーションのトレース情報を確認していると、どうも途中から猛烈に例外に飛んでいることが分かった。 <FunctionCall 69225526 mcall_console_putchar (0x0000000080001b58)> <FunctionCall 69225538 htif_console_putchar (0x000000008000232a)> <Return 69225571 htif_console_putchar> <Return 69225576 mcall_console_putchar> <Return 69225582 mcall_trap> </return></return></return></functioncall></functioncall>
RISC-Vメーリングリストでアナウンスがあった。ウェブブラウザ上で動作するRISC-VパイプラインシミュレータWebRISC-Vが面白い。 論文も公開されている。正直何が新規要素なのかはよく分からないが、しっかりまとまっていることはいいことなので時間を取って…
これまでVerilog側からDPIを経由してC++の関数を呼び出したりする方法について調査した。 しかしよく考えたらDPIを経由してC++側の実装からVerilogのFunctionやTaskを呼び出す方法についてはあまり調べたことが無かったのでやってみることにする。 前回同様c…
リモートワークとは直接関係ないのだけれども、仕事をしていたり、ブログを書いたりするときにずっと机の前に座っているとお尻が痛くなる。 イケイケのベンチャー企業では、昇降デスクを導入するのが流行っているらしい。これはすごく魅力的で、電動の昇降デ…
GCC 10.1がリリースされた。GCCのバージョン自体はあまり真剣に追いかけていないので詳細にチェックしていないのだが、まずは自分の環境にインストールして動作を確認しておきたい。 x86向けにビルドを試す いつも通りtar.gzをダウンロードしてインストール…
前回の続き。前回はQEMUで動作させることができるようになったので、Spikeと自作RISC-V ISSで動作を確認していく。 あらかじめ断っておくがSpikeは今回のビルド環境に対するサポートはしていないので動作しないことは予想通りなのだが、一応確認していこう。…
RISC-V Getting Started Guideというページがある。目的ベースで、QEMUやLinuxなどのオペレーティングシステムを動かすための方法や、様々なツールキットを動かすための情報がまとめられている。 前回WSLでビルドを試行して上手く行かなかったので、次はVirt…
Verilog-HDLを使った検証では、C/C++のモデルとVerilogのモデルを接続した協調検証が頻繁に行われる。Verilatorでも同様の機能が搭載されており、DPI-Cを使ったC/C++とVerilogとの通信が実現可能だ。 ここでは前回作成したcounter_4bit.svに対してDPI-Cを経…
RISC-V Getting Started Guideというページがある。目的ベースで、QEMUやLinuxなどのオペレーティングシステムを動かすための方法や、様々なツールキットを動かすための情報がまとめられている。 risc-v-getting-started-guide.readthedocs.io ここに"Runnin…
Verilatorは論理シミュレータだけではなく、Lintとしても活用することができる。例えばこれまで使用してきたcounter_4bit.vをLintに掛けてみよう。 $ verilator --lint-only -Wall counter_4bit.v %Warning-DECLFILENAME: counter_4bit.v:1:8: Filename 'cou…
ふと気になって、RISC-Vの32ビットよりも大きな定数の作り方を調べることにした。これはRISC-VのISAの話というよりもコンパイラの話だ。 例えば以下のようなプログラムをGCCでコンパイルするとどのように定数を生成するのかチェックしてみる。 long_value.c …
Verilatorの使い方。基本的なデジタル回路のシミュレーション方法が分かったら、次は波形をダンプする方法だ。 Verilatorを使ってRTLシミュレーションをすべてフリーのツールで完結させたい場合、波形をダンプするためには主に以下の2種類の方法がある。 vcd…
私の開発したRISC-VシミュレータはLinuxを立ち上げることができる。シミュレータのデバッグ時には相当中身を読み込んだのだが、きちんと文章化していない挙句、大昔のプロジェクトなのでもう忘れかけている。 Linuxのブートの方法から各種プロセスの取り扱い…
Verilatorについて全く知らない人が、どのように使えば良いのかきちんとした文章が世の中に存在していない気がするので、少しまとめてみることにした。VerilatorはフリーでオープンソースのVerilogシミュレーションシステムなので、うまく活用すれば強力な武…
RISC-Vのコードモデルについていろいろ調べる機会があったのでまとめておく。 参考にしたのは、 www.sifive.com RISC-V Large Code Model Software Workaround https://sifive.cdn.prismic.io/sifive%2F15d1d90e-f60e-42a2-b6bf-c805c6c73b0d_riscv-large-co…
RISC-Vのコードモデルについていろいろ調べる機会があったのでまとめておく。 参考にしたのは、 www.sifive.com RISC-V Large Code Model Software Workaround https://sifive.cdn.prismic.io/sifive%2F15d1d90e-f60e-42a2-b6bf-c805c6c73b0d_riscv-large-co…
私の開発したRISC-VシミュレータはLinuxを立ち上げることができる。シミュレータのデバッグ時には相当中身を読み込んだのだが、きちんと文章化していない挙句、大昔のプロジェクトなのでもう忘れかけている。 Linuxのブートの方法から各種プロセスの取り扱い…
私の開発したRISC-VシミュレータはLinuxを立ち上げることができる。シミュレータのデバッグ時には相当中身を読み込んだのだが、きちんと文章化していない挙句、大昔のプロジェクトなのでもう忘れかけている。 Linuxのブートの方法から各種プロセスの取り扱い…