実装してみた」カテゴリーアーカイブ

ValgrindとGDBでプログラムのメモリアクセスをみてみる

プログラムの動的な振る舞い、特にメモリアクセスの様子をみてみたくなることがあります。

たとえば、2017年のデザインガイアで発表されていたFPGAアクセラレータ開発を支援するためのツール環境では、ValgrindとGDBを使ってメモリアクセスの様子を可視化していて、面白そうだな、やってみたいなと思わされます。

とりあえず Valgrind + GDBでメモリアクセスを確認する方法を、ちょっと試してみました。

続きを読む

シストリックアレイな行列演算器

GoogleのTPU論文で界隈が賑わっていますが,いくつか目をひくポイントの一つが256×256のシストリックアレイな行列演算器ではないでしょうか.

というわけで(?)シストリックアレイな行列演算器をSynthesijer.Scalaで書いてみました.

ソースコードは mkSystolicMatrixMultiplicationUnit.scala です.

続きを読む

ジグソーモデルな計算のHW実装,ことはじめ

ジグソーモデルは中野先生が提案された,ジグソーパズルを利用したメタモルフィズムの計算機構,です.

計算の途中の状態をジグソーパズルのピースに見立て,入力と時々の状態に対してうまく当てはまるようにピースを並べていけば計算が終わるという楽しい計算機構です.データの与えられ方によっては並列に計算できたり,入力が中途半端に与えられた状態でもできる部分から計算できたり,という特徴があります.

2013年のプログラミングシンポジウムで話を聞いたときに,HDLで書いてハードウェア化してみるのもいいかなーと思いながらも,なんとなく2016年の今日までそのままに…

とりあえずは最初の例題くらいは実装しておこうと,ふと試してみました.

続きを読む