2016-02-01から1ヶ月間の記事一覧
Ubuntu on ZedBoard、コンソールが出るところまで到達し、とても感動している。さて、コンソールが出たら今度は何をやろう(ちゃんとGUIを立ち上げろ、というところではあるが)。 という訳で、最近流行りのTensorFlowだって、Ubuntuが動作しているんだからイ…
RISC-V界隈の調査をしていたところ、なかなか面白い文献を発見した。 3rd RISC-V Workshopにて発表されたものだが、なんでもFPGA上に400個ものRISC-Vプロセッサを実装し、動作させたようだ。 その意味や、何に使うの?というのはともかく、実装面の挑戦とし…
前回の記事で修正。U-Bootのビルドについて、以下のサイトを参考にする必要がある。どうやらブートアドレスなどの仕組みが変わっているらしい? qiita.com zynq_common.hなどの修正はこれを参考にすること。それ以外は、これまでやってきたことで問題ない。 …
前回に引き続き、今回はU-bootのビルドにトライした。 1. ZedBoard向けU-bootのビルドにトライ U-Bootのビルドも、marseeさんのブログとほぼ同一の内容で成功した。 ブランチをxilinx-v2015.2に変更するだけで、それ以外はほぼ変えるところが無い。 FPGAの部…
ZedBoardを使ってARM上でUbuntu Linuxを動作させたい。数年前に FPGAの部屋のmarseeさんによって既に実現されているのだが、同じ過程を辿ろうとすると、当該記事ではPlatform BuilderとPlanAheadが使われており、現在のVivadoの環境では使えないことが分かっ…
前回のTensorFlow ServingをVagrantで自動的に構築する話、もう一度自分でやってみると、いろんな部分で動作しない部分があった。bazelとか、grpcとかのバージョンはいろいろ注意深くやらなければならない。 特にPythonのバージョンで引掛った。Ubuntuのバー…
仕事で機械学習の知識を生かせるかというと全然そんなことはなく、最早趣味の領域で勉強している機械学習だが、Googleがまた粋なサービスを公開したようだ。 googledevjp.blogspot.jp それこそ去年の暮れに勉強を始めたばかりだし、趣味の領域でまだまだ初学…
TensorFlow Serving、思ったより騒がれてませんね(笑)まあ、API群というか、機械学習本体ではなく、その外部の話なので、ちょっと話題性は低いのかもしれない。 とはいえ、TensorFlow Servingを使ったチュートリアルもしっかり公開されている。今回は、そ…
珍しく技術系以外の話だけれども、僕は仕事用のノートPCと、家のプライベートのデスクトップPCを使っている。 で、こじんまりと生活するのが大好きな僕は机もちょっと狭く、ちょっと窮屈な生活をしているのだが、ノートPCって結構な場所を消費する。 キーボ…
ブログを始めたのは去年の1月4日なのだが、それから一年と二ヶ月で400記事に到達した。おおよそ一日に一本のペースで推移させることが出来ている。 最近(というか去年も)はずっと実装の方針についてブログに書いていたりしているが、もうちょっと調査した内…
RISC-Vには、32ビットと64ビットの実装が定義されている(ちなみに128ビットもある)が、それぞれにおいて実装の違いが存在する。 それにより、ISSの挙動も変わるし、ちょっとした違いというか、ビット長が異なることにより様々な取扱も変わってくる。そのあた…
前回に引き続き、cocotbによりテストパタンを書いている。 AXIの挙動を真似るのは大変だ。でも、このあたりがうまく攻略できるようになると、例えばISSにPythonのIFを供えれば、ISSとの協調シミュレーションも可能になるのではないか。 あとは、なるべくラン…
久し振りにVerilogで回路を書き始めている。ユニットずつ実装をしているのだが、まずはAXI経由でメモリにアクセスする回路を書かなければ。 その際、バッファが溢れないようにAXIインタフェースをちゃんと制御できるか、ちゃんと設計結果を検証することは、…
Verilogで久し振りに回路設計をしているのだが、ビルドの標準環境としてCMakeを使いたい。 CMakeでVerilogを構築する手法については、以下の日記でトライしてみた。これを今度は実用してみよう。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com 1. Vi…
毎度のネタである。最近はCNTKばかりやっていたのだが、TensorFlowにも新しい話題が上がってきた。TensorFlowを使うためのフレームワーク、というかTensorFlowを内包するアプリケーションを開発するためのフレームワークが公開されたようだ。その名をTensorF…
RISC-VのISSのメンテナンスを継続している。前回から殆ど調整していなかったが、RISC-VのテストパタンをパスできるようにISSを調整していこう。 github.com github.com ISSの実装を進めていった結果、Failになっているパタンは以下となった。 The following …
前回、CNTKをGPGPUで動作させることに成功した。今回は、標準的なMNISTを使って、どのようにしてGPGPUが呼ばれているのかを解析していこう。 利用したのは、NVIDIAのプロファイラであるVisual Profilerだ。このツールはGPGPUでどのような関数がどれくらいの…
前回の記事でCNTKをWindowsに無事にインストールできたので、早速GPGPUで実行してどれくらい加速されるのか確かめてみよう。 CNTKの威力は、GPGPUで実行されたときのその速度にある。それを確認するためには、関数のプロファイリングとかを取ってみたいとこ…
やはりCNTKは、GPGPU付きで使いたい。そのためには、今までのようにVagrantの上で動作するLinuxで動かすより、Windows上で動作させる方が良いだろう。 Windows上にCNTKの環境をセットアップする方法について探っていこう。 1. Windows上にCNTKをインストール…
MIPSのシステムレジスタ読み書きの機能を実装する xv6のデバッグをしていて、何か動作がおかしいなと思っていたら、システムレジスタを定義していたものの、読み書きの動作を定義していなかった! そりゃ、うまくいかない。 github.com とりあえず、システム…
xv6のプロセス切り替えの仕組み xv6をMIPSに移植しながら、プロセス切り替えの仕組みを確認しているんだけれども、ISSの機能が実装できてなさ過ぎて泣けてくる。 xv6が最初に立ち上がったとき、処理はmpmain()へと移り、それからスケジューラに移動する。基…
デバッグを効率的に進めるためには、ウォッチポイントの実装が不可欠だ。GDBでは、以下のウォッチポイントが実装されているようだ。 watch : 特定のメモリアドレスに対して書き込みが発生すると停止する rwatch : 特定のメモリアドレスに対して読み込みが発…
いままで文字列検索ツールといえばgrep、grepは古いといえばag、だったが、それよりも高速なhighwayというツールがあるらしい。 どれくらい速いのだろう?早速導入してみよう。 github.com highway という高速検索ツールを作りました · けんごのお屋敷 マル…
プロセスが開始される前に、xv6ではinitlog()が起動し、ログをディスクに書き込むための準備が行われる。 msyksphinz.hatenablog.com msyksphinz.hatenablog.com proc.c if (first) { // Some initialization functions must be run in the context // of a …
xv6のデバッグを進めるためにGDBの整備は進んだのだが、ディスクアクセスなどの機能がまだサポートできていない。 また、重要な問題として、割り込みの機能を実装ができていないのだ。ディスクアクセスについて、ディスクからの読み込みが完了すると割り込み…
最近仕事が忙しく徹夜続きになってしまっている。あまり趣味の実装が続かないのだが、とりあえず勉強のために読んでいる資料を読み解いていこう。 http://research.microsoft.com/pubs/226641/CNTKBook-20160121.pdf この資料には、CNTKの使い方はもちろん、…
前回、GDBの挙動を確認したので、ISSの実装に移っていこう。 ブレークポイントを設定する際、PCの位置としては、 ブレークポイントを設定した位置で停止する ただし当該命令は実行されていない という位置で止まるのだった。これを実現すれば良い。 msyksphi…
以下のやってみた日記は、機械学習初心者が書いているため、間違っている内容が含まれている可能性があります。 間違いがあれば、ご指摘頂ければうれしいです。 前回、CNTKを使って、シンプルなネットワークを構築して関数のフィッティングに挑戦した。 その…
以下のやってみた日記は、機械学習初心者が書いているため、間違っている内容が含まれている可能性があります。 間違いがあれば、ご指摘頂ければうれしいです。 CNTKのリファレンスとして、チュートリアルをたくさんやってきたが、まだCNTKを理解できている…
今日は月曜日から飲み会になってしまい、進捗が少ない。。。 msyksphinz.hatenablog.com GDBの動きは結局どうなっているんだろうね?命令の実行前で止まるのか、そしてそのときのPCはどこを差しているのか? まあ、あれこれ文献調べるよりも、実際に試してみ…