未踏スーパークリエイターに認定された
どうも、まるさ@maruuusa83です
昨年の6月ごろに平成29年度未踏IT人材発掘・育成事業に 採択され,2月末に納品を済ませて育成期間が終わりました.
そしてなんと,スーパークリエイター認定を頂きました.わいわい.
※2018/05/11 技術詳細のスライドの表紙が「2018年度」になってたので「2017年度」に修正して差し替えました
やったこと
Reactive Programmingなパラダイムで記述されたプログラムからFPGA向けのVerilog HDL記述を合成する技術の開発に取り組みました. 2017年度未踏事業プロジェクト成果
未踏事業最終成果報告でのスライド(ササっと読みたい人向け)
www.slideshare.net現状の技術をまとめたスライド(技術に興味がある人向け)
資料がいくつかあるので詳細はここでは述べません.
あんまり外で話せてない部分を一つだけピックアップ
自動テストとファインチューニング
自動テストについては,高位合成技術に取り組んでいる人々が集まる高位合成友の会でも少し話題になりましたので ちょっとだけ紹介します.
テストベンチの生成にはまだ取り組んでないのですが,高級言語を使ったハードウェア設計の利点はテストの楽さにあるんじゃないかなあと 思っています.
内部で色々なツールが絡んでいるのでテストを自動化するまでそれなりの努力が必要でしたが,一度自動化してしまうと非常に捗ってよかったです.
結局のところファインチューニングしたくなってしまうので,今後のMulveryでは次のような設計フローが実現できることを目指しています.
- 大局的なアーキテクチャをLLで手早く設計
- 自動テストで常に動作とタイミングチャートの確認
- 生成されたHDLに手を加えてファインチューニング
ことMulveryについて言えばほとんどメタプログラミングなのでファインチューンしやすい環境に仕立てることが十分可能ではないかと思っています.
スレッドをステートマシンで組む都合でモジュール間のタイミング制御のチューニングに少し癖があるので,もう少しうまくやっていきたいです.
未踏期間中の取り組み
未踏期間中は,「どう実装するのか」「どう応用するのか」に集中して取り組んできました.
実のところFPGAに取り組み始めたのは採択の1年ほど前で,かなり経験の浅い状態でした.
さらにRubyに至ってはこのプロジェクトのために真面目に使い始めた,という初心者っぷりです.
そんな中である程度の形にできたのは良かったと思います.
開発にあたっては,なるべく多くの人にヒアリングすることを心掛けました.
似た取り組みをしている方々はもちろん,専門外の方やプログラミング言語に詳しい方や型理論を専門にしている方のご意見などから Mulveryの取り組みを正しく言語化して組み立てることに努めました.
未踏事業で取り組まなければここまで具体的なものにすることはできなかったなあと感じます.
ほぼ毎月プレゼンと議論をしてたと思うので,自身では気づき得なかった問題点やニーズを次々に発見することができました.
いやあ,参加できて本当に良かった.
スパクリ認定を頂いて
正直に言って今回スーパークリエイター認定を頂けるとは思っていませんでした.
なかなかMulveryの完成度が上げられなかったことは本当に悔しい点で,取り組みの開始が早かったのに対して十分なアウトプットが 出せなかったと感じています.
ただ,議論の質と量をなるべく高める努力をしてきました.荒っぽくてもとにかくコードを起こして,具体的なデータや手法を重視 しながら本質を探る議論に努めてきたと感じており,技術だけでなくメタな部分での成長もかなりあったと思います.
加えて,Mulveryの今後が研究やこれからの取り組みなどに繋がったのは間違いないことで,実りのある育成期間にできたものと確信しています.
同時に行っていた他の取り組みもすべて一本化して「ぼくのかんがえるさいきょうのつーる」みたいなのが作れるとイイナアと思いながら コツコツと研究と開発を続け,精進していきます.
それっぽいこと書きましたが,素直にスパクリ認定は嬉しいです.
その名に恥じぬようまるさらしいまるさでいたい
それでは今回はこのへんで
まるさ