日記・備考録
Diary/Memorandum

2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011/ 1 2 3 4 5 6 7 8 9 10 11 12 | 2012
June July 2011
1 2
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
August | Home

2011/08/01〜

...................................................................................................................................

2011/07/30

N.Kubo et al., Performance evaluation of the effect of QZS on precise positioning, Coordinates, 2011

海洋大 久保先生らによるQZSSの測位性能改善効果の評価。筆者の一角に名前はあるけど私はほとんど何もやっていない。

...................................................................................................................................

2011/07/27

GPS World, Another Beidou/Compass Satellite Launched, July 26, 2011

2011/7/26 21:44 UTC, Compass (Beidou-2) IGSO-4号衛星, 中国西昌宇宙センタから長征3号ロケットで打ち上げ成功。これで軌道上のCompass (Beidou-2) 衛星は9機、打ち上げ順はMGGGIGIII (ただしGEO1機は軌道ドリフト中)。Compassは2012年までに14機構成でアジア太平洋地域の測位サービスを開始するとしてるが、この記事によればその内訳はGEO x 5 + IGSO x 5 + MEO x 4の構成の様だ。

補足: 公式サイトの打ち上げビデオ→参照。(11:02追記)

...................................................................................................................................

2011/07/23

必要あってLinux上でいろいろと計算性能を測っているのでメモ。

RTKLIBのライブラリ、行列乗算 matmul()と線型方程式解 solve()の実行性能。行列サイズを変えて実行時間を測る。参考のためWindows上のMatlabの同等演算の結果も示した。

Function RTKLIB
2.4.1
RTKLIB+
BLAS+
LAPACK
RTKLIB+
ATLAS 3.8.3+
LAPACK
RTKLIB+
GotoBLAS2 3.14+
LAPACK
RTKLIB+
MKL 10.3
(Matlab
R2011a 64bit
Windows 7)
matmul()
200x200
0.017 s
(0.939GFlops)
0.011 s
(1.451GFlops)
0.021 s
(0.760GFlops)
0.004 s
(3.990GFlops)
0.068 s
(0.235GFlops)
0.083 s
(0.192GFlops)
matmul()
500x500
0.162 s
(1.542GFlops)
0.028 s
(8.920GFlops)
0.010 s
(24.975GFlops)
0.014 s
(17.839GFlops)
0.006 s
(41.625GFlops)
0.009 s
(27.750GFlops)
matmul()
1000x1000
13.090 s
(0.153GFlops)
0.165 s
(12.115GFlops)
0.048 s
(41.646Gflops)
0.057 s
(35.070GFlops)
0.041 s
(48.756GFlops)
0.041 s
(48.756GFlops)
matmul()
2000x2000
133.491 s
(0.120GFlops)
1.278 s
(12.516GFlops)
0.354 s
(45.186GFlops)
0.349 s
(45.834GFlops)
0.322 s
(49.677GFlops)
0.316 s
(50.620GFlops)
matmul()
5000x5000
- 19.566 s
(12.776GFlops)
5.471 s
(45.691GFlops)
4.816 s
(51.905GFlops)
4.909 s
(50.922GFlops)
4.803 s
(52.04GFlops)
matmul()
10000x10000
- 153.822 s
(13.001GFlops)
42.940 s
(46.574GFlops)
38.590 s
(51.824GFlops)
40.155 s
(49.805GFlops)
38.262 s
(52.269GFlops)
solve()
200x200
0.015 s 0.010 s 0.005 s 0.014 s 0.026 s 0.019 s
solve()
500x500
0.278 s 0.042 s 0.040 s 0.046 s 0.012 s 0.013 s
solve()
1000x1000
17.352 s 0.263 s 0.268 s 0.272 s 0.070 s 0.078 s
solve()
2000x2000
217.048 s 1.893 s 1.903 s 1.885 s 0.507 s 0.548 s
solve()
5000x5000
- 27.259 s 27.099 s 26.972 s 7.105 s 7.378 s
solve()
10000x10000
- 220.094 s 215.254 s 214.877 s 61.601 s 78.79 s
CPU Core i7 2600 (4core, HT=off), Ubuntu 10.04.2 64bit + VMWare Player 3.1.4 + Windows 7 64 bit SP1 + gcc 4.4.3

UbuntuはVMWare上で4コア、優先モード=自動、RAM=4GBに設定。matmul()はBLAS dgemm() のラッパーなのでこれは結局dgemm()性能を測っているのと同じ。上記BLASはUbuntu 10.04の標準パッケージ。ATLASとGotoBLASは自分でビルドしたものでマルチスレッド版。MKLはOMP_NUM_THREADS=4にして4コアを使っている。FLOPSは (2*n-1)*n*n/(実行時間) で算出。

(1) RTKLIBネイティブの互換関数は1000x1000以上の行列計算で極端に性能が落ちている。これは最適化をほとんど考慮していないので使用メモリがキャッシュサイズを超えると性能がガクンと落ちるのだろう。ちょっと大きな計算に使うのはほとんど実用的ではない。
(2) Ubuntu標準BLASはシングルスレッドでしか動いていない様だがかなり速いので中身はATLASではないかと思う。
(3) マルチスレッド版のATLAS, GotoBLAS, MKLの行列乗算は大体似たような性能。ただ、AVXが有効になっていない様だ。(AVXは最大8演算/1clockなので最大3.4GHz x 8 x 4 = 108.8 GFLOPS) 特にMKL 10.3はAVX対応が売りなのでなんでAVXが有効にならないのか不明。最新カーネルのUbuntu 11.04で試してみたかったのだが、どうもVMware上で正常動作しない。AVXを使った最適化コードではもう少し速くなるはずなので、今後もう少し試してみたい。

(4) Matlab R2011aはMKLだと思うが、Linuxとの性能差はほとんどないので、Core i7だとVMWareの仮想環境オーバヘッドはほとんどない様。
(5) solve()はLAPACKのdgetrf(), dgetrs()を呼んでいるだけなので、ATLAS, GotoBLASの場合、LAPACKがネックとなっている。実際、CPU使用率を見るとほとんどシングルスレッドでしか動いていない。degetrf()は普通のLU分解なので、正規方程式を解くためにはコレスキー分解の方が速い。ここは専用コードを書いたほうがよいだろう。

補足:

> cat /proc/cpuinfo
...
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat

なのでLinux上でAVXが有効になっていない。Windows上では有効になっている様。ということで、色々と調べるとVMwareがまだAVXをサポートしてない様だ。Linuxのネイティブ環境を構築するという手もあるけど、仮想環境に慣れてしまうとこれはとても面倒。VMwareのバージョンアップ待ちかな。(21:03追記)

...................................................................................................................................

2011/07/19

VMWare player上のUbuntu 10.04 64 bitにIntel C++ Composer XE 2011for Linux (非商用フリー) をインストールしたのでメモ。

(1) Intel: download site (Non-Commercial Software Download)
(2) Select Intel C++ Composer XE 2011 for Linux
(3) Product for 32-bit/x86-64bit development (約1GB)
(4) > sudo apt-get install ia32-libs
(5) > sudo apt-get install openjdk-6-jre-headless
(6) > sudo tar xvfz l_ccompxe_2011.4.191.tgz
(7) > cd l_ccompxe_2011.4.191
(8) > sudo ./install.sh
(9)
~/.bashrcに環境設定用に以下を追加。
source /opt/intel/bin/compilervars.sh intel64

インストール途中でシリアル番号を入れる必要がある。これはダウンロード時に入力したメールアドレスに送られてくる。64bit版だとIA32LIBSとJREを入れないと正常インストールできない様だ。

コードの実行性能。(Benchmarkの内容が何かは内緒)。gccに比較して性能改善はせいぜい1-2割なので、やっぱり無理してインストールしなくてもgccで十分という感じ。

Benchmark gcc 4.4.3 icc 12.0.4 notes
eopget() 1.07 us 1.14 us  
ecsf2ecef() IAU1980 7.06 us 3.84 us  
ecsf2ecef() IAU2000A 95.18 us 97.86 us  
geopmodel() nmax=12 5.35 us 5.01 us  
plephpos() 1.33 us 1.14 us  
srpmodel() SRP_CODE 2.86 us 2.25 us  
dragmodel() 31.02 us 22.14 us  
odesolve() ODE_GRAGG 0.014 s 0.015 s  
obtgen() 3.172 s 2.610 s 240 H (300 s x 2881)
CPU Core i7 2600K (1 CPU), Ubuntu 10.04.2 64 bit + VMWare player 3.1.4 + Windows 7 64 bit SP1, Opt Option: -O3

...................................................................................................................................

2011/07/18

2日ほど、Python+Numpy+Matplotlibと格闘。ようやく、綺麗なグラフが描けるようになった。分る人には分ると思うけど、グラフの内容は秘密。Numpyもそんなに悪くはないのだけど、やっぱり行列操作にはMatlabに一日の長がある。特にインデックス操作。Matlabでスラスラ書けるところが、Numpyだとどうしても冗長になってしまう。まあ、これはまだPython+Numpyの経験値が低いだけという話もある。bash+gnuplot, octave+gnuplotも試したのだけど、記述の強力さやグラフの綺麗さでは今のところPython+Matplotlib以外に、Matlabに対抗できる選択肢はないと思う。早くMatlabを捨てたいので、Matlabで書きためたライブラリをチマチマとPython+Matplotlibに持っていく予定。

...................................................................................................................................

2011/07/16

Inside GNSS, Successful Launch for for Second GPS Block IIF Satellite, July 16, 2011

2011/07/16 06:41 UTC, 二機目のGPS Block IIF衛星, 米国ケープカナベラルからデルタ4ロケットで打ち上げ成功。当初は7/14の打ち上げ予定だったが、悪天候等のため二度延期されていた。現在運用中のGPS衛星は31機 (Block IIA×11, Block IIR×12, Block IIR-M×7, Block IIF×1) で新しい衛星はPlane D, Slot 2Aに投入される見込み (参照) 。以前の情報によればPRN1が割り当てられるのではないかとみられる。

補足: SpaceFlightNowによれば次のGPS衛星の打ち上げは2012年9月予定とのこと。(7/17追記)

...................................................................................................................................

2011/07/10

日経, JAXA、電波天文衛星の開発中止, 2011年7月6日

ASTRO-G開発中止。ダメそうという話はずいぶん前から聞いていたけど、改めて決定してみるととても残念。工学的にもチャレンジングな目標を掲げていたのだけど、結局アンテナの鏡面精度問題解決の目処が立たなかった様だ。

...................................................................................................................................

2011/07/09

NHK大阪, ニューステラス関西: 津波警報研究最前線, 2011年7月8日

7月8日のニュースでRTK-GPSを使った即時地震規模推定・津波予測の研究が取り上げられたのこと。直接東北大太田さんに教えてもらいました。

...................................................................................................................................

2011/07/06

RTKLIB 2.4.1に関して既に何件か問題レポートを貰っています。問題の一部はバグが原因と確認できています。できれば今週末に一括して再度内容を確認してパッチをリリースしますので、もう少しお待ちください。また、新たに問題を発見された方は問題レポートをサポートアドレスまで送って頂けると、早めに対応できると思いますのでよろしくお願いします。

...................................................................................................................................

2011/07/04

岸本, 準天頂衛星システム (QZSS) 技術実証実験の現状について, 平成23年6月22日, 第6回QZSSユーザミーティング

先日のQZSSユーザミーティングの資料がupされている。本資料12-13頁にSIS-URE (signal-in-space user range error) のヒストリがある。SIS-UREはおおざっぱに言えば放送されているエフェメリス精度を表す。大気の影響やマルチパス等のユーザ依存の誤差は含まれない。実験開始直後は幾つか問題が残っていたが、色々な改良により現在は仕様値 (2.6 m 95%) を十分満足する結果が得られているとのこと。13頁のグラフを見るとRMSで0.3〜0.5 m位ではないかと思うのだけど、この値は現状のGPSと比較しても十分良い。GPSのSIS-UREについては過去いくつか解析結果が発表されているが、全衛星平均で0.9 m RMS (SPS) というのがほぼ最新の値である。なお、GLONASSについてはGPSの概ね2〜3倍と考えればよい。「GPS補完」という観点からすると、GPSのSIS-UREと同等というのがまずは目標性能となる訳で、それを凌駕する精度を達成しているということは大変素晴らしい成果だと思う。QZSSの開発・運用に関わられている方々ご苦労様でした。

...................................................................................................................................

2011/07/01

RTKLIB: Download Statistics

ということで6月中のRTKLIB 2.4.1パッケージのダウンロード数は約3週間で計1895件でした。

-------------------------------------

いつのまにか7月だあ。

...................................................................................................................................

〜2011/06/30


Home by T.Takasu