« April 2008 | Main | June 2008 »

2008.05.31

今日の日記

・ハスケル+FPGA
http://video.google.com/videoplay?docid=-1518197558546337776
http://www-users.cs.york.ac.uk/~mfn/reduceron2/

さわりだけでも HaskellとFPGAが両方分かる人間ってどれだけいるんだよと思ったら、心当たりが一人いました。
http://lambda.cocolog-nifty.com/blog/


・SystemVerilog VMM のソースコードが公開
ときどきの雑記帖 i戦士篇から

http://blogs.wankuma.com/katamari/archive/2008/05/30/140125.aspx
へぇー。AVMのイメージがあったから、とっくに公開されているとおもってました。最近、こっちの業界から若干遠ざかっているな。

・Transactional Memory
@hayamizがTwitterでつぶやく

てきとうにからむ

気がつくと東大生にフルボッコで涙目

社長に「複数のコントローラが同時に一つのメモリにアクセスするとき、パフォーマンスを落とさない良い方法無いの?」とタイムリーに聞かれる。

今はトランザクショナルですよ、と知ったかぶる

必死で論文読んでる ←今ここ

書き込み側から見るとライトの完了を待たないので、そこだけみるとPCIのポステッドライトが近いのかな。あとは、裏で必死に整合性を取っている感じ。

ここに論文まとまっているよ
http://www.cs.wisc.edu/trans-memory/biblio/index.html

パタヘネ、ヘネパタには記述無し。

・パーサ
まとまった時間が取れずに5月が終わりそう。このまま行くと、6月の後半からかな。電車の中ではいろいろと妄想中。

教科書的にプリプロセッサ→トーカナイザ→パーサと渡すと、僕の思っている使い方で困るときがある。

`define WIDTH 16 の場合を考える。input q[`WIDTH-1:0]を展開して、input q[16-1:0]にしちゃうと、doxygenみたいなのを作ろうとするときに良くない。ドキュメントは、input q[`WIDTH-1:0] のまま出してくれた方がうれしい。

定数の時だけ展開しないで、プリプロセッサ専用テーブルを持とうと思ったけど、そうすると`BYTE_NUM `WIDTH/8 みたいに、前に定義した値を使うマクロに対応できない気がする。

早く仕事を終わらせて、何でも良いから書き始めないとな。

| | Comments (2) | TrackBack (0)

2008.05.27

今日の日記

・仕事がきつい。
ストレスをTwitterにはき出そうとするが、Twitterが不安定だと余計にイライラする。この前東大生に合ったときは希望に満ちあふれていたのに、この落差はなんだろう。Blogを我慢しているのが原因の気がしたので、我慢せず書いてみる。

・幻霧ノ塔ト剣ノ掟
買いました。ハルヒ、あさくらさん、みくる、ながとの4人パーティ。なんていうか、店頭で売ってはいけないレベルの酷いUI。ファミ通で4点はある意味当然。どうしようもないな、と思いながら3時間ほど夢中で遊ぶ。夢中かよ!。ダークゾーンで、壁にぶつかっても「いてっ」という表示がない→電車の中では音を出せないので、ダークゾーンが突破できない。暗闇で前に進んでも、一歩進んだのか、壁にぶつかって止まっているのかが判別できないなんて。

==== 終了 ====

・1000スピーカーズ
仕事中にふとアクセスしてみたら、なんと「DAPDNA」の文字が。
知っているのか雷電!
の乗りだったので、チャットの方ではいっぱい質問に答えてみた。
FPGAの認知度が低いことに絶望した。もっと頑張ろう

・Javaのバイトコード
ときどきの雑記帖 i戦士篇から

> 余談であるが、JAVAのバイトコードはドキュメントに書かれた命令の順に、1番から順番にOPコ
> ードが割り振られている。
ひでぇーw
この発想は無かった。Parrotはどうなんだろう。

・立命館へ行く
 無駄に広い。学生恵まれすぎ。
 あまり面白い話は出来ず、次があるのなら次に期待。なつたんの知名度は、東大の方が高い。
 社長:「夏休みに一つテーマ決めて、(なつたんが講師で)1週間ほどの集中講義を開いてみてはどうでしょう」
 先生:「それはいいですね」
 社長:「ちゃんと夏休みあげるから、頑張ってみたら。どう?」
 の流れ。 

 業務扱いじゃないのかよ!

 次は@yaottiのいる京大を目指す。

・ひげぽんさん武勇伝
http://www.web-career.com/contents/buyuden/24.html
> 会社を40歳くらいで作るかもしれない確率が、0%から0.5%に上がったのがかなり大きい影響でしたね。
ひげぽん☆ラボですね。わかります><


大分、気持ちが落ち着いた気がする。
Blog中毒ですねっ♪

| | Comments (0) | TrackBack (0)

FPGAに夢を見るを読んで

FPGA に夢を見るを読みました。
素晴らしい。

無条件に応援するので、わからないところはどんどん聞いて欲しい。アンテナに入れたので、それっぽいタイトルならチェックします。

FPGAは超並列マシンそのもの。今からCコンパイラ作っても、はいはい車輪車輪だけど、FPGAなら未開拓の土地がいっぱいある。某(上野氏)もFPGAボードを手に入れたという極秘情報をつかんだ今、空前FPGAブームが来ていることは間違いないです。

今のFPGA業界は、ビルゲイツは要らないがMS-DOSを切実に求めている。内部がそれなりに公開されていて、統一的なバス規格だ。AMBAは確かに良いんだけど情報が少なすぎるし、仕事でAMBA使っている人はBlogにAMBAの記事を絶対に書けないという事情もある。簡単に使えるバスはいっぱいあるけど、これぞと言うのがないから、毎回バスのI/Fを決めてデバッグしてという作業が発生し、Webでフリーのデザインを見つけてもI/Fのドキュメント読むの面倒だから自分で作る、になってしまう。

@alohakun から応援もらいました。http://twitter.com/alohakun/statuses/820028691
ビルゲイツにはなれないけど、ビルゲイツになろうとしている人を応援することはできるよ。

僕は気軽に超並列マシンが構成できる今、FPGAで出来ることがどう広がるかに興味がある。今、ハッカーの人たちってのはPCに複数の言語処理系が入っていると思う。将来は、ハッカーと言えばPCに複数のFPGAが接続されていて、用途に応じて回路を組み替えるようなそんな世界を夢見ています。毎日のように「たとえばActelを避ける」って罵り合う世界って素敵だと思う。

みんなもFPGA始めればよいと思うよ。

| | Comments (2) | TrackBack (0)

とらドラ (Modern Compiler Implementation in C と Compilers: Principles, Techniques, and Tools 的な意味で)

ざっとModern Compiler Implementation in C(タイガーブック)目を通しました。Compilers: Principles, Techniques, and Tools(ドラゴンブック)との比較してみます。実際に比較できるのは、ある程度内容を理解しているレキサーとパーサーの部分だけですが、参考にはなるかと思います。

全体的にタイガーブックは、ドラゴンブックに比べると、内容が実践的で練習問題がわかりやすいです。ドラゴンブックの練習問題は、抽象的(本質的)な問題が多いように思いますが、タイガーブックは実践的な問題が多いように感じます。

タイガーブックの方が、小さい処理系を作るという目的がある分、説明に筋が通っています。例えば、C言語の#include や#pragmaは、トークンでないという説明はタイガーブックにはありますが、ドラゴンブックにはありません。ドラゴンブックは特定の処理系を想定していないのでしょうがないと思います。パーサーに関しても、ドラゴンブックはLALRを特別扱いはしていないのですが、タイガーブックは処理系で使うためLLよりもLALRの説明に力が入っています。

タイガーブックは、コンパイラで使うC言語の型宣言が書いてあり、実際にコンパイラを書く上ではとても参考になります。教科書のソースコードは、http://www.cs.princeton.edu/~appel/modern/c/ からダウンロードできます。

最適化以降の話でも、ドラゴンブックが一般的な話をして、タイガーブックはある程度内容を絞ってでも、実践的な所を選んで書いてあります。例えば、パイプラインを考慮した最適化では、MIPSアーキテクチャをターゲットにスケジューリングの話が載っています。MIPSのシミュレータも、http://www.cs.princeton.edu/~appel/modern/c/ からダウンロードできます。ドラゴンブックも、見るからにMIPSアーキテクチャに対する最適化なのですが、MIPSという文字列は出てきません。

まとめると、広くコンパイラに関する勉強をしたいならドラゴンブック、すぐにでも何か作ってみたいならタイガーブックかなと。

| | Comments (3) | TrackBack (0)

2008.05.18

張ってみる


| | Comments (0) | TrackBack (0)

2008.05.16

shinhさんと会えた

僕の仕事の雰囲気は伝わったと思う。

・会社に着いたらターミナルを立ち上げたりしない。すでに立ち上がっている。素晴らしい。
・G社のメモリの半分はFireFoxに使われている。
・FireFoxのアクセラレータを作ろう。
・YAPCはやっぷく!
・TwitterとMixiがつぶせるなら、Googleがつぶれても良い。

いろいろと話を振ってもらったのに上手く返せなかった気がする。今から思うと、プログラミングの話をリアルでするのが約10年ぶり。関西に来てからは、そんな話をする相手がいない。

ヘネパタについて、もう少し考えてみた。ヘネパタが勉強したくなるのは、FPGAで実装するときに、このレベルがぎりぎり意味があるからだと思う。ヘネパタ以降の高速化の技術(分岐予測、投機的実行、レジスタリネーム、アウトオブオーダーくらいから)になると、FPGAでやっても苦労の割に報われない感が高い。回路が複雑になればなるほど、リソース食うし動作速度も遅くなる。レジスタフォワーディングですら、性能に寄与するか微妙なところ。FPGAのソフトコアが軒並みヘネパタMIPSアーキテクチャ止まりなのは、そういう理由かもしれない。

| | Comments (5) | TrackBack (0)

東京で東大生に囲まれる会

東大生にある物を渡して、2~3人で夕ご飯でも食べようかと思っていたら、卒業生まで来てくれて完全に包囲されました。

・shinhさん、@heppokoの両名が来てくれて、YAPCなんか目じゃない盛り上がりに。面白い話がたくさん聞けました。

・あこがれの某社のイメージががた落ち。

・みんな頭の回転が速い。ベースクロックが違う感じ。

・東大生同士で「もっと勉強しろ!」の流れ。ひゃー。

・@tencubeの研究の話が、全然分からない。笑うしかないくらいに分からない。また今度教えてください。

・若者向けに好きなゲームを言ったら、shinhさんがさりげなく突っ込んでいて、こっそり笑った。

・@naoya_t, @yadokarielectric, @mesa_edw に遭遇。今度ゆっくり話しましょう。

とても楽しかったです。次は6月の中頃ですね。
一個くらいLTネタを用意しようかと思っています。

| | Comments (0) | TrackBack (0)

2008.05.10

今日の日記

土日も仕事なのでちょっとだけ。

・FPGAボード
Nios II エンベデッド評価キット Cyclone III エディション
ALTERAで行こうを見て、これにしようかなと思う。同じボードでノウハウが共有できたらいいな。

・ライバル登場
IT戦記の人がコンパイラに挑戦しているみたい
僕も頑張ろう。

| | Comments (0) | TrackBack (0)

2008.05.07

GW終わった

ある意味カレンダー通り3日と4日だけ休む。休んだ日は実家へ帰り、地元の祭りに参加するなどして家族充。やりたいことだけ爆発中。

・コンパイラの勉強
 切りの良いところで終わっているので、仕事が山を越えるであろう6月から再開予定。5月は忙しい。

・ぱた☆へね
 GWに一問でも解きたかったが残念。まったり頑張ろう。

・簿記の勉強
 社長から言われているのだが、モチベーションがわかない。2週間くらいで集中して終わらせないと。頑張れ。

・バイオネタ
 FPGAでバイオシミュレーション。Twitterで教わる。
http://web.cecs.pdx.edu/~strom/onr_workshop/berger.pdf
いろいろTwitterすごい。リアルでウィキノミクスだ。鶴屋さんの叫び>http://twitter.com/T_Hash/statuses/804599832
雰囲気はこのあたりでhttp://d.hatena.ne.jp/yun__yun/20080506/1210094378

後で書くよ

・Common Lisp
 いろいろ考えると、商用Common Lispが欲しい。欲しい。昨日の夢は、Common Lispのdisassembleを使いこなし、「JOJO、俺はガベコレ付きの高級アセンブラを手に入れたぞ~」と叫んでいた。商用が欲しい理由はすぐ動くGUIライブラリとか、いろいろ。xyzzyで勉強しながら、退職金でLispWorks行くか。

Nios II エンベデッド評価キット Cyclone III エディション $449.00
 Cyclone III FPGA スターター・キット$199と基板同じみたい。価格的な意味で、買うとすればスターター・キットにしたい。回路図を見ると、USB経由でCycloneにデータを渡せなそうだ。むう。Nios Development Board, Cyclone Editionの方が、SDRAM、MAC/PHY、CFがある分、いろいろ出来そうな気がする。

謎電の人はパソコンとFPGAボードの通信はどうしているんだろう。

$1,495出すとCyclone III FPGA 開発キットが買える。USBの接続は理想的。でも、これならLispWorks($1,500)買える。

| | Comments (0) | TrackBack (0)

« April 2008 | Main | June 2008 »