2014/05/29(木)ubuntuインストール (vim)
sudo apt-get install vim
/etc/vim/vimrc.local を、
set encoding=utf-8 set fileencodings=euc-jp,sjis,iso-2022-jp,utf-8 colorscheme ron set ambiwidth=doubleの内容で作成。
最後の行の設定で、gnome-terminal上で○や→の幅がおかしくなる現象が直る。
2014/05/28(水)ubuntuインストール (TeX関連)
10.04と違って、ちゃんとUTF8でtexソースを書くようになった。
sudo apt-get install texlive-lang-cjk
sudo apt-get install texlive-fonts-recommended
sudo apt-get install texlive-fonts-extra
sudo apt-get install xdvik-ja
sudo apt-get install dvipsk-ja
sudo apt-get install gv
pdfを見るのに、acroreadはパッケージになく、evinceかfirefoxの内蔵ビューアを使うことにする。ところが、明朝になるべきところがゴシックになってしまう問題あり。そこで、 /etc/fonts/local.conf を
<fontconfig> <match target="pattern"> <test qual="any" name="family"> <string>Ryumin</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPAexMincho</string> </edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>GothicBBB Medium Identity H</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPAexGothic</string> </edit> </match> </fontconfig>の内容で作成。
更に、文書作成関連として、
sudo apt-get install nkf
sudo apt-get install gnuplot
sudo apt-get install gnuplot-x11
sudo apt-get install gnuplot-doc
sudo apt-get install tgif
sudo apt-get install gimp
sudo apt-get install inkscape
sudo apt-get install mimetex
sudo apt-get install latexdiff
あたりを。
2014/05/28(水)ubuntu 14.04LTSインストール
存在と思っていて、普段は仮想マシンのubuntuで生活しています。
こうすると、PCを買い替えたときも仮想マシンだけのコピーで済むので環境の移行が圧倒的に楽です。
しかし、楽をしすぎてubuntuは10.04LTSをずっと使い続けていました。10.04は2013年3月でサポートが
切れていて、一年間サポート切れの状態で使っていたことになります。
4月に14.04LTSが出たので、思い切って環境を作り直すことにしました。今度の
LTS (Long Time Support) は5年間らしいので、しばらく耐えられます。
以下、だらだらとインストールメモ。
https://www.ubuntulinux.jp/
から、Ubuntu 14.04 LTS日本語 Remix (4月28日リリース)の64bit版をダウンロード。
vmwareで、新規仮想マシン、標準、後でOSをインストール。
インストールが終わったら、vmware toolsのインストールをクリック。
CDがマウントされてファイルブラウザが開くので、homeにコピーして展開
sudo ./vmware-install.pl
質問には基本的にreturnを押すだけ。
共有フォルダを有効にし、/mnt/hgfs に共有フォルダが見えているのを確認。
2014/05/27(火)HaswellとFMA
ついでにvmwareを最新にし、vmwareの中で飼ってるubuntuを14.04に。
CPUがSandyBridgeからHaswellになったので、ちょっとFMAで遊んでみました。
Haswellの新機能の一つに、FMA命令の追加があります。
FMA = Fused Multiply Add です。乗算と加算のフュージョンですね。
a * b + cをいっぺんに計算してくれる機能で、内積計算なんかが高速になりそうですが、
精度保証的には「a*bをいったん無誤差で計算してからcを加算し、最後に一回だけ丸める」という
動作が重要です。これを使うとtwoproductが非常に簡単に書けたりします。
で、ちょっと動くかどうか試してみました。
#include <stdio.h> #include <immintrin.h> double fma(double a, double b, double c) { double d; __m128d va = _mm_set_sd(a); __m128d vb = _mm_set_sd(b); __m128d vc = _mm_set_sd(c); __m128d vd = _mm_fmadd_sd(va, vb, vc); _mm_store_sd(&d, vd); return d; } int main() { printf("%f\n", fma(1., 2., 3.)); }こんな感じで動きました。gccだと-mfmaとか-march=nativeとか必要。VCは特に要らない?
AVXなので4並列で実行する能力がありますが、このコードは1つだけ計算してます。
1つだけ計算するのに128bitレジスタを使わなきゃいけないのはちょっと違和感?
twoproductに用いたときの性能評価とかはこれからぼちぼちやっていきましょう。
2014/04/16(水)kv-0.4.3
CardanoとFerrariを書いたときに気付いた複素数やdd周りの問題点を修正しています。
また、-DKV_NOHWROUNDをつけたときにハード的な丸めモードの変更を使わずに方向付き丸めのエミュレートで区間演算を行う機能が、ddの場合でも有効になりました。あまりスピードは出ないけど、IEEE754Std.に従う全てのCPUで動かせるようになりました。