憂鬱な午後のひととき
gcc 4.6.0をbuildしてたら途中でマシンごと落ちた. core solo 1.6GHz + 1.5GB memなマシンもぼちぼち限界か.
VCにある#pragma warning(disable)的な機能がよう~~~やく入ったか. 関数ごとに最適化オプションを変更する機能(#pragma GCC target)も4.4以降だったし,
gccってVCに比べてファイル内でのコンパイラに対する設定の自由度が少ない気がする.
void func1()
{
int a = 3; /* aが使われていないという警告 */
}
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
void func2()
{
int a = 3; /* 警告を出ないようにする */
}
#pragma GCC diagnostic pop
320x320→640と256x256→512整数乗算の理論コスト比が(320/256)^2 = 1.56で, とあるアルゴリズムの損益分岐点が1.62で仮実装での評価が1.6ぐらいというのは実に微妙だ.
メモリアクセスどこまで減らせるかなあ.
原発がどんなものか知ってほしいという文章がある.
相当怖い話が書かれているが間違いも多いらしい. でそれに対して反論のページがあったらしいが今は無い.
原発がどんなものか知ってほしい 第2版というページの最後にはそのキャッシュ[eifye.zip]が置かれている.
キャッシュを置いてあるページには, 『原発がどんなものか知ってほしい』と『Re:原発がどんなものか知ってほしい』を
前者と後者の重みづけは、0.1対99.9のレベルだろう。前者にはリンクする価値もない。
と書かれている.
原発に関する事実は正直細かいところは私には判断できないが全般的に『Re:~』の方が正しそうとは思う.
とは言え, たとえば『Re:原発がどんなものか知ってほしい』(上記キャッシュの0.html)には
放射線アラームメーターで一日の許容量を超過した作業が出来ないように設定、管理されています。(広報資料より)
これは自動的に設定されるものですから、どうしたって一日分以上の被曝をすれば例のアラームが鳴ってしまいます。
ですから、少なくとも現状では間違っても一週間分を一日で浴びせて作業をする事は起こりえません。
(中略)
無謀な方法で作業をしている事は見た事も聞いた事も無いです。
少なくとも現在はこんな方法の作業は絶対に無い(システム的に実施できない)と言えると思います。
と断言されていた. しかし今回それに反する作業事故が実際に起きてしまったように見える.
NHKの記事:
原子力安全・保安院は、事前に作業場所の放射線の測定を適切に行っていなかったうえ、作業員にも十分な装備をさせておらず、放射線の量を計測する線量計の警報が鳴っていながら作業を継続するなど、放射線管理の在り方に問題があったと指摘しました。
緊急事態というのは言い訳にならないだろう.
今, 私が正しいと思うのは上記原発がどんなものか知ってほしい 第2版の最後の章「今、この瞬間にも始められること」だ. 一部を引用する.
未来を信じ、気持ちを強く持とう。まずは気持ちで勝とう。無駄に不安をあおるだけのデマ情報・扇情的なマスコミ情報がいけないのは、心を混乱させ、頭をパニックにさせ、そうでなければできるはずの冷静な判断を妨害する点にある。不信に凝り固まり、ネガティブに考えるのも個人の自由だが、そこから何が生まれるのか。スパムは広めず、ストップさせよう。
なお上記文章は今ではなく2002年9月に書かれたもののようだ.
『新宿鮫』(大沢存昌)
食わず嫌いで読んだことなかったけどなんとなく読んでみた. 新宿にいる一匹狼の刑事が型破りな行動で事件を解決する話.
まあまあ面白い. 1990年に出た本なので通信手段が公衆電話. それはもちろん当然で不満はない.
ただ, 後半携帯電話が出てきてそれを肩にかけてるという部分がよく分からなかった. 振り仮名に「ショルダーフォン」とあったので調べると
これか.
そういやなんかテレビでそんなものを見たことがあるような. 本が出た次の年の91年にはムーバが登場してたのか. 技術の進歩って凄いな.
2011年4月号の『日経サイエンス』の記事によると, 煙草にはポロニウム210が含まれていて,
1日に1箱半を吸う人の場合, 肺に蓄積したポロニウム210によって, 年間300回の胸部X線撮影を受けたのと同じ量の放射線を被曝する
とあって, そんなに含まれてるのかーと驚いた. けどよくよく記事を読むと上記のペースでどれぐらい吸い続けるとそうなるのかという数値が無いんだな.
最初1箱半でそうなるのかと勘違いしたが, そうではないようだ.
自分は煙草の煙は嫌いだし, 害にしか思ってないし, 被曝するというのも多分そうなんだろう(引用されている論文とかにはあたってない).
でも記事としてはちょっとどうかと思った.
そういや
Xbyakにvcmppd系のalias命令も追加してbeta外しておくか → 単体テスト → nasmのvcmpeq_ospdなどのeq_osプレディケートがバグってるの発見 → バグ報告.
nasmダメダメだなあ. AVX系でもう4個ぐらいバグを見つけてる.
漸くAVXマシンをゲットしたので少しずつ触ってみる.
AVX初体験なのでまずはvzeroupperの効果を見てみよう.
#include <stdio.h>
#include <xbyak/xbyak.h>
#include <xbyak/xbyak_util.h>
const size_t N = 10000;
struct Code : public Xbyak::CodeGenerator {
explicit Code(int mode)
{
mov(eax, N);
L(".lp");
vaddpd(ym0, ym0);
if (mode & 1) vzeroupper();
addpd(xm0, xm0);
if (mode & 2) vzeroupper();
vaddpd(ym0, ym0);
sub(eax, 1);
jnz(".lp");
ret();
}
};
int main()
{
for (int mode = 0; mode < 4; mode++) {
Code c(mode);
void (*f)() = (void (*)())c.getCode();
Xbyak::util::Clock clk;
const size_t C = 1000;
clk.begin();
for (int i = 0; i < C; i++) {
f();
}
clk.end();
printf("mode=%d %7.3fclk\n", mode, (double)clk.getClock() / C / N);
}
}
実行結果は以下の通り.
vzeroupperありなしのペナルティの変化 [clk]
mode | AVX→SSE間に挿入 | SSE→AVXに間に挿入 | clk |
0 | 無し | 無し | 141 |
1 | あり | 無し | 8 |
2 | 無し | あり | 136 |
3 | あり | あり | 8.3 |
YMMレジスタの下位128bitはXMMレジスタと共用なので, 過去のSSE命令(レガシーSSE)を触ってる間は上位128bitは変化してもらっては困る.
しかしそうするとAVXとレガシーSSEがまざったとき内部的に状態を保持する必要があって困る. それを断ち切るための命令がvzeroupper.
intelのマニュアルにはAVX→SSEとSSE→AVXの間に挟めと書いてあるように見えた*けど,
vzeroupperが上位128bitをクリアーすることを明示するためのものならSSE→AVXの間には入れなくてもよいように思う.
上記のテストを見てもAVX→SSEの間だけで十分と思ってよいのかな.
w_oさんもそんな風に書いてはる.
* Intel Advanced Vector Extensions Programming Reference 319433-009:2.8.1
>To eliminate both of these delays, the user should execute the instruction VZEROUPPER prior to entering the legacy library and (after exiting the library) before executing in a 256-bit AVX code path
原発事故の対応は, ぎりぎりのところで作業員たちが命懸けで冷やそうとしてるのだから現時点で外野がとやかく言ってもせんない.
マスコミも「隠蔽体質」と非難するのは簡単だが, 平時につっこんだ取材をしていたのか.
周りは頭を冷やして落ち着いて正しい情報を収拾して見守るしかない.
(追記) 巨大津波が来ると冷却機器が動かなくなる可能性は指摘されていたのか(
福島原発10基の耐震安全性の総点検等を求める申し入れ).
計画停電に関して電車の混雑を見てると, 絶対外せない仕事がある人以外は自宅でじっとすべきだろう.
大体のところで停電が起きなかったのも電車が動いてなかったせいもあるだろうから, 停電してないなら電車を動かすべきだったというのも違うと思う.
下手に動かして計画じゃない停電になってしまうよりはずっといい. 電気は急に作れないし溜めとけない. 余っても困る.
私はキーパーソンじゃないので自宅で待機する.
新聞などで炉心溶融に関する恐ろしい見出しをつけるのもよいけど, 被曝がどの程度なのか, 日常生活のたとえばレントゲン検査何回分かと言った話も目立つようにした方がいい.
よく見ると書いてあるけど小さ過ぎる. やたら不安をあおるだけでは片手落ちだろう.
無事です. 安否を問い合わせてくださった方々, どうもありがとうございました.
VAIOのLシリーズが出た. Sandy Bridgeで24インチでダブルAVC録画対応だって.
出るって知ってたら先月テレビ買わなかったのになあ. 残念. まあ次のパソコンはテレビ無しにしとくか.
祖母が亡くなったので実家に戻ってた.
『遺伝子がわかる!』(池田清彦)
凄い面白かった. 自分が何も分かってなかったことがよくわかった. 以下メモ
歴史
- 1866 メンデルの法則(先駆的過ぎて忘れ去られる)
- 1869 DNAの発見(ミーシャー) しかし, このときはまだDNAが何かは不明
- 1910~ 遺伝子は染色体の中にある(モーガン)
- 1944 遺伝子はDNAである(エイブリー) それまではタンパク質と思われていた
- 1953 DNAの構造(ワトソンとクリック) まだ60年も経ってない!
DNA = 遺伝子 = ゲノムだと思ってたよ. ゲノムはDNAの全て. DNAのうちで, タンパク質やRNAを作る情報を持った(コードした)ものが遺伝子. 2%ぐらいしかない.
あとはジャンク.
...と思われていたが, ジャンク部分は, mRNA, tRNA, rRNA以外のRNAをコードしていることも多く, miRNAというのも重要な機能を持ってるそうな.
構造
- 2本の鎖は反対向きにくっついてる. 上流を5', 下流を3'という. 遺伝子は5'→3'の流れでしか作られない.
- それがファスナーみたいに分かれると, 3'→5'側には端から5'→3'の流れで複製が起きる(リーディング鎖).
- 反対の3'→5'には, 細切れに出来た5'→3'がくっつき(ラギング鎖), その断片(岡崎フラグメント)が後でくっつく.
- リーディング鎖はきれいにできるのでほぼオリジナルと同じ. ラギング鎖はたまに間違える.
- きれいなコピーと少し間違えるコピーで安全に, しかも多様性が生まれてるそうな.
- 実は端っこはうまくコピーできない. そこにはちぎれてもいいテロメアというものがついてる.
- でも何度かの分裂でテロメアが無くなると(ヘイフリック限界), 強制自殺命令が発動して細胞が死ぬ(アポトーシス).
羊のクローンの話でテロメアが無くなっていくというのは聞いたことがあって, それはテロメアが大事なものだから無くなったら死ぬのかと思ってたら単なるトリガーだったのか.
機能 : メンデル以来の古典的な遺伝子(形や行動を決定するもの)の概念と現在の遺伝子は全然違う.
遺伝子は生物の体を作る設計図ではない.
- スタートは母性因子(受精卵の中のDNAではない).
- 遺伝子の機能はタンパク質やRNAを作ることであって, それだけで形質は出来ない.
- 遺伝子と生きた細胞のシステムが必要.
- 遺伝子のプロモータとターミネーターの間の部分がmRNAに転写される.
- リボゾームの中でtRNAが材料のアミノ酸を運んできてタンパク質を作る.
- シャペロンというタンパク質が立体構造を作る.
- DNAの情報 + 環境バイアス(様々な外部要因)で各種の機能のオン・オフが決まる.
- DNAの一部にメチル基がくっついたり(メチル化), 離れたりすることでオン・オフも制御できる.
- トランスポゾンという物質がDNAの上を動いて制御することもある.
病原体
- 一般に新しい病原体は強い病原性を持つ.
- 毒性が強すぎるとすぐ死んで広がらないのでしばらくすると徐々に弱くなっていく.
- トリインフルエンザは新しくて非常に強力.
- 日本で流行ると2~300万人死ぬという試算もある(そんなに数値が大きいとあまり実感できない).
- 2000億円ぐらいでワクチン作れるので政府はけちらずに準備すべき.
性染色体
- 三毛猫. 白はデフォルト. Xがあると茶か黒. 雌はXXなので白, 茶, 黒の混合.
- 雄はXYなので白茶か黒茶のどちらか. 三毛猫の雄はいない.
- けどたまに現れる(小学生のとき見た本にはその理由は分からないとあった).
- その猫はXXYだそうな. この場合は三毛猫の雄になりうる. ほう.
人の場合
- 男はXY. 女はXX. だがこの違いが男女の形質の違いの要因ではない(なんだって!).
- Y上にあるSRYという遺伝子の有無で男女が決まるらしい.
- 普通はYの上にのみSRYがあるのでXYなら男. XXなら女.
- しかし, まれにSRYがないY(Y-)や, XにSRYがついたりする(X+)こともある.
- その場合, XY-は女になり, XX+は男になる.
- 更にまれにSRYがあっても外見が女になることもある. XXYとかもある. 単純には決まらない.
去年読んだ『インターセックス』にはそういう人が登場していた.
獲得形質
- ピアノが上手になったことは遺伝しない.
- ランダムなDNAの変異は獲得形質ではない.
- 遺伝する形質が生殖細胞のDNAだけに依存するなら, 「獲得形質は遺伝しない.」
- しかし, DNAにはよらない環境からのバイアスによる, なんらかのシステムの変化が遺伝することはある.
- いくつかの実験で「獲得形質は遺伝する」と言って良いような結果が出ている.
他にも中世のキリスト教会が絶対だったときにも, アリストテレスの自然発生説の権威は絶大で, 教会側が歩み寄ったという話とか,
いろいろてんこ盛り. 盛り込みすぎて多少消化不良気味になったけど, それはまた西尾さんに聞いてみよう.
夫婦別姓に対する反対意見(朝日新聞):
>「同じ姓という目に見えるつながりが, 目に見えない家族の絆を強めてくれると感じる. そんな私は古いのでしょうか?」
別に反論はしない. そういう人もいるだろう. でも, 別姓にしたいと思ってる人の気持ちを禁止する理由にはならないと思うのだが.
昔
御意見は光成滋生<herumi@nifty.com>までお願いします