Diary/2008-9
前の月<< 2008-9 >>次の月 | ||||||
---|---|---|---|---|---|---|
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 気づいたら | 2 大英帝国衰亡史 | 3 | 4 浜松 | 5 浜松2日目 | 6 lookup-logo.xbm | |
7 Windowsに慣れた | 8 C++ Annotations | 9 地の漂流者たち | 10 | 11 つま恋 | 12 寝坊 | 13 |
14 | 15 のぞみ171号 | 16 どっさり, | 17 | 18 | 19 コンパイルエラー | 20 |
21 BrainF**k/VHDL | 22 丸め誤差 | 23 七五三 | 24 | 25 小澤治三郎 | 26 スライド作成作成 | 27 帰省 |
28 のんびりと | 29 さっそく | 30 できる人 |
Diary/2008-9-30
できる人
すごい人とできる人の会合の場に立ちあってみた.最近,ちょっと向上心が落ちていないか,と自問自答.
そろそろ
洗濯とかしないとなあ.Diary/2008-9-29
さっそく
ゴミを出しそこねてしまった.Armadillo-500 FX開発セット
http://www.atmark-techno.com/news/press-releases/20080925_a500fx13万円弱という値段は高い気もするけど
これでいいんじゃないか?
NetBook
欲しいなあ,とか思ったけど,ThinkPad X60にSSDつければいいような気がしてきた.
http://shop.tsukumo.co.jp/goods/4981254162996/201514000000000/
120Gで,45kか.
あと,書き込み回数とかが心配になってしまうんだけど,
大丈夫なのかなあ.
epsに相当するobjをTgifで開く
TeXでドキュメントとかスライドとかを書いているときに,挿入している図を確認するために,
相当するobjファイルをターミナルからTgifで開いていた.
少し面倒になってきたので,
(defun open-figure-by-tgif (beg end) (interactive "r") (progn (copy-region-as-kill beg end) (start-process "tgif" "*tgif*" "tgif" (expand-file-name (concat default-directory (concat ((lambda (a) (substring a 0 (string-match "\\.eps$" a))) (car kill-ring-yank-pointer))))))))こんな感じのスクリプトを書いた.
で,
(global-set-key "\C-c\C-o" 'open-figure-by-tgif)とかして幸せ♪
Diary/2008-9-28
のんびりと
父母が子供にかまってくれるのをいいことにのんびりと.昼寝したり,本を読んだり.
淵田美津雄
本星亮一著,淵田美津雄 -真珠湾攻撃を成功させた名指揮官-(PHP文庫)
太平洋戦争開戦の真珠湾攻撃のときの空母にのっていた淵田美津雄の伝記.
淵田自身の伝記といよりは,太平洋戦争開戦までのごたごたや,
戦中,戦後の動向についての記述がおおかったためか,
ものがたりとしては,小澤治三郎の伝記の方が面白かったかなあ.
小澤治三郎の伝記にも,年功序列によって
南雲->小澤という出世順序をくつがえせなかったという記述があったが,
こちらでも,その年功序列についての問題が指摘されていて興味深かった.
ところで,淵田と小澤の戦後の活動は対照的ではあるが,
いづれにしても,戦後いたづらに自殺するなどせず,
自身の責任を果すべく活動するところには,
最近辞任の多い政治の世界などを鑑みても学ぶところが多いように感じた.
特に,小澤のキリスト教の伝道師としての新しい生活には,
文中にもさらっと"命ごいなどと軽蔑された"のような表現があったが
実際には,もっと風当たりは強かったのではないかと思う.
最近とみに,"出る杭は打たれる"風潮,しかもインターネットなんかにおける
軽々しいパッシングが多いように感じるけれど,
芯のある,あるいは芯を信じれる行動をとらないとなあ,なんて考えた.
淵田さん自身のミッドウェーや真珠湾に関する著述があるようなので
今度読んでみよう.
東京へ
妻子を残して東京に.家
広くすぎて,静かすぎる.Diary/2008-9-27
帰省
里帰り出産予定の妻と子と帰省.帰省中にトラブルが発生したらどうしようとか
思ったけど,何のトラブルもなく無事帰省.
ちなみに飛行機の中では子供も私もぐっすりでした.
ご対面
父母達と子供が約1年ぶりのご対面.ちっとも泣かず,不思議.
くしゃみが
とまらず,食事中もむずむずと...飛行機のったからか?
Diary/2008-9-26
スライド作成作成
とあるプレゼンのスライドを作成.最近,枚数多いスライドを作るときにつらくなってきたので,
スライドを作成するためのTeXソースを作成するスクリプトを作成.
Wikiっぽい感じで箇条書きとかできるので,便利になった気がする.
あとは,TeX->dvi->ps->pdfという流れをいかにして短時間でまわせるように,
あるいは,簡単に内容を確認できるようにするか,だな.
Spartan-3A評価キット
http://avnet.co.jp/products/kits/AES-SP3A-EVAL400-G.asp5980円って本当?これは安いと思う.
PCと接続しようとすると,USB-UARTになるのかな?
Diary/2008-9-25
小澤治三郎
本宮野澄著,小澤治三郎 果断・寡黙・有情の提督,PHP文庫.
海軍最後の連合艦隊司令長官の伝記.
「果断・寡黙・有情」という形容詞にぴたりはまるエピソードの他,
誠実で,とても賢い様が書かれている.
教科書にはない現場を大事にする姿勢や,
部下が受けいれやすいように指導をするエピソード,
プライドは高く(「誠」を大事にする),
そして,決っして高慢ではない様などに
感じるところが多かった.
子供の頃に兄の上官である牛島さんからもらったという手紙の
「過ちを改むるに憚ること勿かれ」
という言葉を,私も忘れないでいたい.
Diary/2008-9-23
七五三
子供の.Diary/2008-9-22
丸め誤差
いろいろあるという話.若手の会
思えば,はしゃぎすぎた.ごめんなさい.
Diary/2008-9-21
BrainF**k/VHDL
若手の会で,H/Wな話をしようと,FPGA,VHDL,並列化とアプリの話をつめこんだら
つめこみすぎて,よく伝えられなくて残念.
というわけで,日頃から馴染深いという噂のBrainF**kを
VHDLで書いたら,文法なんかの比較になるかなと思って書いてみた.
ちなみに,完成した後に,発表枠があいたみたいだったので,
うっかり手を挙げてしまい,まとまらない発表をしてしまった.
bf.tar.gz
休み時間とかつかって書いたので,命令はROMに埋め込み.
bf.rbの中で文字定数BFに実行したいbf命令列を書きこんで
ruby bf.rb > blockrom.vhdとして,命令ROMを作成します.
あとは,ModelSimとかでシミュレーションすると,
結果を確認できる.
動作は,単純なステートマシン.
NodeBox
NodeBox面白い.N88-BASICとか思いだした.
中学生の算数とか,高校の物理の授業にいいんじゃないかなあ.
imen
\[-x imenuチーザ
http://shop.glico.co.jp/products/cheeza.htmlおいしい
サイトウサン
というのを教えてもらった.Diary/2008-9-19
コンパイルエラー
ちょっと大きめの回路を合成しようとWebPackにかけたらなかなかコンパイルがおわらない.
で,3時間くらい待っていたらエラー.
Loading device for application Rf_Device from file '5vlx50.nph' in environment C:\Xilinx\10.1\ISE. ERROR:Portability:3 - This Xilinx application has run out of memory or has encountered a memory conflict. Current memory usage is 2072872 kb. You can try increasing your system's physical or virtual memory. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.だって.ちなみに実メモリは,4G.どうしよ.
もう少しシュリンクさせるべきだよな.
Diary/2008-9-16
どっさり,
久し振りに職場にきたら荷物がどっさりつんであった.明日必着の書類もあったりして,とりあえず慌てて処理して投函.
うーん,満足とはいえないけど仕方がない.
で,どっさりな荷物のなかに
Mouser ELECTRONICSのカタログが.
いやー,トランジスタとかコネクタとかの写真みてると和む.
で,にやにやしながら眺めていたら,
性癖は人其其だからと言われた.
博多-東京
7:30の新幹線にのって,12:30に東京についた.N700系は快適でいい.
Diary/2008-9-15
のぞみ171号
私的な用事で福岡へ移動.で,乗ったのぞみ171号には,
一番前の席にだけ電源がついてた.
福岡
冷たくて,固かった.ともすれば忘れてしまいそうだけど.
ふわふわしていてはいけない.
Diary/2008-9-12
寝坊
寝坊した...ありえん.じゃなくて,本当にごめんなさい.
Diary/2008-9-11
つま恋
掛川はつま恋にきてみた.- ごはんおいしい.「贅沢バイキング」
- お風呂綺麗,広い.檜風呂.
- 敷地がだだっ広いので移動が大変.
うっかり
なまいきな発言を,多種多量に.あああ.Diary/2008-9-9
地の漂流者たち
本沢木耕太郎さんの,
自衛隊,アングラ演劇,ピンク映画,歌謡曲,沖縄の人,
集団就職(川崎の人)の取材によるルポ.若者に焦点が当てられている.
先が見えない恐怖,
大きな力に身が委ねられている(そして気づいていない)恐怖,そんな話.
特に年代を意識せずに読んでいたら70年代の社会の話だった.
...あれ今とたいして変わらなくないか?
言い訳って恰好わるいな,とか,少くとも元気でいよう,とか,
そんなことを考えたりした.
ちなみに,電車の中で読んでいたため,ふと目にはいった
「総裁選,揺れる国会」とか「現代・性のすべて」なんていう
吊り広告が,いつもより生々しく感じられた.
Automatic Data movement and Computation Mapping for Multi-level Parallel Architectures with Explicitly Managed Memories{{fn http://doi.acm.org/10.1145/1345206.1345210}}
論文読みスクラッチパッドメモリのデータを自動的に効率良くマネジメント
複数のレベルでの並列性による一般のプログラムからの効率的な割り当て
- creation buffers in on-chip memories
- for holding portions of data accessed in a computation block
- automatic determination of array access functions
- generation of code
- that moves data between slow off-chip memory and fast local memories
- 3. Automatic Data Management in Scratchpad Memories
- automatic allocation of storage space in scratchpad memories for holding portions of data accessed in a block of a program
- determination of access functions of references to arrays in scratchpad memories
- automatic generation of code for moving data between scratchpad memory and off-chip memory.
- 3.1 Details of the Framework
配列をA,与えられたプログラムの各文S_{k}としたとき,read reference functionsの行列をF_{k}^{l},write reference functionの行列をG_{k}とすると,データスペースは,読み書きそれぞれ,
DS_{r}^{A} = F_{k}^{l} I_{k} DS_{w}^{A} = G_{k} I_{k}で,全体のデータスペースDS_{rw}^{A}はその和集合.
で,問題は,これをオーバラップなく最大のdisjoint setsに分割.
これは無向グラフ中のconnected componentsを探す問題に等しい.
無向グラフのノードは,DS_{rw}^{A}の各データ.
ノード間にエッジがあるのは,ノード同士の共通集合が空でないとき.
- 3.1.1 Determining Local Memory Storage
- When the rank of the access matrix of an array reference is les than the iteration space dimensionality of the statement in which it is accessed, the data elements of the array accessed in the reference are said to have an order of magnitude (ore non-constant) reuse.
- the partition is marked as beneficial to be copied to scratchpad memory
- Constatn reuse in the set is estimated by consdering each pair of data spaces, determining the volume of their intersection, and summing up thse volumes
- determined by a fraction \delta <= emprirically fixed a value of 30% for \delta
- 3.1.2 Determining Access Functions of Local memory Array References
- 3.1.3 Generating Data Movement Code
- We generate the loop structure of the code that moves data from global memory to local memory by scanning the selected data spaces using CLooG.
- CLooG scans the data spaces in an efficient way such that the generated loop structure leads to single load/store of each data element that is read/written even if the accessed data spaces of references are overlapping.
- 3.1.4 Optimizing Data movement
- The optimal strategy for determining data elements that need to be copied in and copied out requires data dependence information.
- In future work we plan to implement the optimization outlined above, based on data dependence information.
- 4 Tiling for Multiple Levels of Parallelism
- 4.1 Details of the Approach
- アーキテクチャ
- a slow global memory
- a set of parallel units at an outer level that communicate with each other thorough the global memory space
- a set of parallel units within each outer-level parallel unit
- a local fast explicitly managed scratchpad memory within each outer-level parallel unit shared by the inner-level parallel units
文献リスト
{{footnote_list}}作戦会議
楽しかった.Diary/2008-9-8
C++ Annotations
NetBSDのMLでC++ Annotationsが紹介されていた.ちょっとC++とか覚えてみようかなあ.
Maps: A Compiler-Managed Memory System for Raw Machines {{fn http://doi.acm.org/10.1145/307338.300980}}
論文読みRawプロセッサのためのデータ割り当てを
コンパイル時の静的な手法と,実行時の動的な手法を組み合わせて実現する.
「2. Background」では,Raw Processorのタイル間データ転送の手法や
オーバヘッドについての計測結果が示されている.
プログラムのポインタ解析には,
SPAN(a state-of-the-art pointer analysis package)を利用.
- 静的な手法
- Equivalence class unification
- ECU promotes all memory references in a single alias equivalence class by placing all objects corresponding to that class on the same tile.
- For structs, SPAN differentiates between accesses to different fields, so that fields of a struct can be in different alias equivalence classes and distributed across the tiles.
- Modulo unrolling
- the major limitation of ECU is that an array is treated as a single object belonging to a single equivalence class.
- 動的な手法
モジュロスケジューリングは過剰な展開を引き起こすことも
A[B[i]]みたいなのを分割するとロクなことにならない.
static synchronizationとsoftware serial orderingで実現
- Enforcing dynamic dependences
- A static-dynamic dependence can be enforced through explicit synchronization between the static reference and either the initiation or the completion of the dynamic reference.
- software serial ordering to efficiently ensure dynamic-dynamic dependences.
- it leverages the in-order delivery of messages on the dynamic network between any source-destination pair of tiles.
- Dynamic optimization
- Epoch = all the dynamic memory accesses to an alias equivalence class in a region of the program are independent from each other.
- without serialization
- by placing memory barriers before and after the region
- Epoch = all the dynamic memory accesses to an alias equivalence class in a region of the program are independent from each other.
- Update = memory handlers which implement simple read/modify/write operations on memory elements.
- the compiler migrates simple read/modify/wirte memory operations from the main program to the memory handlers.
- a program can dispatch an update just like a store and then proceed without waiting for its completion.
- an update collapses two expensive and serial dynamic memory operations, a load and a store, into one.
- the associativity and commutativity of the updates effectively removes dependences between different updates.
- the compiler migrates simple read/modify/wirte memory operations from the main program to the memory handlers.
- 関連研究
- Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory
- An Integrated Compile-Time/Run-Time Software Distributed Shared Memory System
- Maps turns sequential access from a single memory image into decentralized accesses across Raw tiles
A Dynamic Code Placement Technique for Scratchpad Memory Using Postpass Optimization {{fn http://doi.acm.org/10.1145/1176760.1176788}}
論文読みプログラムコードをSPMにどう格納するか.速度と電力の評価.
- バイナリイメージを解析してcodeをSPMにいれる
- ループを展開する(function abstractionを使う)
- ILP問題に落としこんで要求されたページに対するコードマッピングを取り扱う
Dynamic Overlay of Scratchpad Memory for Energy Minimization{{fn http://doi.acm.org/10.1145/1016720.1016748}}
論文読み- A Dynamic Code Placement Technique for Scratchpad Memory Using Postpass Optimizationで,様々なmemory objectsでSPMを共有する手法として引用されている.<= ソースコードが必要なのでよくないと言われている.
- we present a profile based approach which on the basis of live ranges of both variables and code segments, replenishes the contents of the SPM.
- ILPを使った静的解析.
- Memory Objects
- Global variables(both scalar and non-scalar)
- Non-scalar local variables
- they consume a space on the stack
- they are generally not assigned to the register file.
- Code segments called traces
- identified using the Trace Generation technique
- Liveness Analysis
- Memory Assignment Problem
- MOに{DEF, MOD, USE, CONT}なるAttrib_{STATIC}を定義
- DEF > MOD > USE > CONTな優先順位
- edgeに{LOAD, STORE}なるAttrib_{SPILL}を定義
- ILPで定式化,解く.
- Onchip Address Assignment Problem
- address assignment problemをILPで定式化
Assigning Program and Data Objects to Scratchpad for Energy Reduction{{fn http://portal.acm.org/citation.cfm?id=874376}}
論文読み- Dynamic Overlay of Scratchpad Memory for Energy MinimizationにSPMに対して静的に命令とデーを割り当てる手法として引用されている.
Data Partitioning for Maximal Scratchpad Usage{{fn http://doi.acm.org/10.1145/1119772.1119788}}
論文読み- Dynamic Overlay of Scratchpad Memory for Energy MinimizationにSPMに対して静的に命令とデーを割り当てる手法として引用されている.
- Assigning Program and Data Objects to Scratchpad for Energy Reductionに対し,配列が一つのオブジェクトとして割り当てられるのを解決するために分割する手法を提案.
文献リスト
{{footnote_list}}Diary/2008-9-7
Windowsに慣れた
ノートPCにUbuntuをインストールして以来,GNOME環境で生活していたら,
今まで,ちょっとひっかかっていたWindowsでの操作も嫌じゃなくなってきた.
もっとも22系のemacsの凄さが主な理由ではあるが.
というわけで,Windows使うことも増えたので,
HDDのEXT2領域にWindowsからアクセスできるように
Ext2 Installable File System For Windowsをインストール
図中の欧文フォント
IEEEのチェックで叱られたので,http://spalab.naist.jp/~yuu-t/wiki/index.php?tex_memo
を参考に設定.
以下,上記サイトより.(フォルダは自分の環境のもの)
/usr/local/share/ghostscript/8.62/lib/gs_pdfwr.psの
/.standardfonts [ /Courier /Courier-Bold /Courier-Oblique /Courier0BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats ] readonly defのフォント部分をコメントアウトした.
一仕事
締切りは少し先だけど,気持ち的にひっかかかっていた仕事を先にさっさと片付けてしまうことに.
いくつかトラブルが発生してしまったので,
問い合わせのメールをがさっと書いて一段落.
Diary/2008-9-6
lookup-logo.xbm
適当に他のコンピュータからlookupを持ってきて使おうとしたら,save-excursion: Search failed: "width "とかいって起動できなかった.
ちょっとlookupのソースとかみてみたら,lookup-type.elの中で,
それっぽいエラーを掃きそうな記述があるものの,
xemacsではないので,関係なさそう...
で,ふとバッファをみてみたら,空のlookup-logo.xpmがあった.
どうやら,lookup-logo.xpmがなくて空バッファだったから
ロゴを表示しようとしてwidthを検索してもみつからず
エラーになっていた模様.
しかし,imageって,xbmを正規表現で解析して表示していたのか.
Diary/2008-9-5
浜松2日目
ロビーで...結構な人に見られたみたいでだいぶ恥ずかしい.
おなかいっぱい
浜松で立ち寄った食堂での,友人と店員のちょっといい感じの会話友人「丼と定食の違いって何ですか?」
店員「定食は,おなかいっぱいになる感じです.」
ちなみに店員っていうのは,おばあちゃんです.
たしかにおなかいっぱいになりました.
ううう
有言不実行にならないように,がんばらなきゃ.Diary/2008-9-4
浜松
無事ついた.組み込みシステム開発の次の10年を考える
高田先生の基調講演.「いつかくることを,今やる.」あれ,なんか語感が違うぞ?
- 日本: 擦り合わせ型が得意
- 機能要素と構造要素が多対多
- ソフトウェア技術の特性
- モジュールプログラミング:組み合わせ型にしよう
- 組み込みソフトウェアは非機能要求も
- すりあわせ型で解決するしかないのでは?
- 日本のものづくりはなぜ品質が高いか
- 質は高いようだ
- 開発プロセス/管理がすばらしい...とはいえなそう
- 教育レベルが高い...とはいえなそう
- モラルに支えられているのでは?
- 技術者の品質意識/士気
- 研究者/設計者でも現場までフォローさせられる=>引き締まる
- 専属スタッフではない/擦り合わせ型の開発体制
- 単一民族・島国だから,阿吽の呼吸
- 仕事の部署の線引きをはっきりとしない
- 部分から全体
- 日本かの芸術は部分から全体へ(鈴木敏夫著:映画道楽)
- できたものは建て増し構造
- チーム開発向きではない
- 過剰な擦り合わせ
- 過剰品質・高コスト
発表メモ
- プロモーション用のプロジェクトが必要では?
- 名古屋大学 本田先生の協調シミュレータ
- windows com
- 医療用機器
- なかなか世代交代しない.コストが事前に評価できるなら嬉しい
- 速度を犠牲にしても速いシミュレータ
- 似たような箇所から類推
Diary/2008-9-2
大英帝国衰亡史
本世界の1/4を,人口の1/6を支配したという大英帝国が
滅亡するまでのプロセスについて述べられている本.
もちろん私が生まれたころには,米ソの二大大国時代だったので
大英帝国というムードに馴染はないが,何かイギリスには魅かれる.
史実や歴史研究家の文献が引用された小説ではない書ではあるが,
帝国形成時の政治的な局面での駆け引きにおける巧みな手法に心躍らされ,
また終焉に向かう中での葛藤や苦しみに同情してしまった.
あとアメリカの巧みさに対する嫉妬と憎みとか.
世界史はほとんど勉強してこなかったのだが,
様々な要素がからみあっていて面白いなあと今更ながら.
特に「なぜ戦争になった」という箇所への様々な考察は興味深い.
...日本はどうなるのかなあ.
Diary/2008-9-1
気づいたら
もう9月か.なんか8月は割と夏休み気分だったなあ.今年の9月はイベントが盛り沢山.負けないように頑張らないと.
勉強不足
というか,手を動かしていないというか...がんばらねば.
git/Cygwin
Cygwinでgitつかっていて,commitしようとしたら,trailing whitespaceと大量にエラーがでて困ってしまっていたのだが,
Backlinks for: git/git commitで編集したファイルがYou have some suspicious patch linesなどといわれてcommitできない
に解決方法が.
git-config core.autocrlf true git-config core.safecrlf trueとして,さらに,.git/hooks/pre-commitの
if (/\s$/) { bad_line("trailing whitespace", $_); }をコメントアウトする.
MPI講習会
http://www.cc.u-tokyo.ac.jp:16080/ha8000/- MPI-2
- 並列I/O
- C++,Fotran90インタフェイス
- 動的プロセス生成/消滅
- MPIの実装
- MPICH
- LAM
- OpenMPI
- YAMPII
- 注意
- MPI_Bcastを条件でくくって呼ばないPEがあるとロックされる.
- MPI_AllreduceはMPI_Reduceよりすごく遅い.あたりまえ.
- MPI_Gatherのirecvcountは1PEあたりのデータ数を書く
MPI関数メモ
- システム関数
- MPI_init
- MPI_Comm_rank
- MPI_Comm_size
- 通信
- MPI_Send/MPI_Recv
- ブロッキング
- MPI_Isend/MPI_Irecv
- ノンブロッキング
- MPI_Bcast
- 1対全通信
- MPI_Reduce/MPI_Allreduce/MPI_Barrier
- 集団通信関数
- 時間計測関数
- MPI_Wtime
- コミュニケータ
- MP_Comm_split
- コミュニケータの分割
赤門ラーメン
赤門の徒ではない私には,あまり合わなかった.四川屋台が恋しい.
Copyright (c) 2001-2008 Takefumi MIYOSHI, All rights reserved