最近はマークダウンで書くことが多くなりましたが,Bloggerでもできなくはないけど不便.
お世話になっているQittaに浮気しようと思います.
私の投稿プログラムに関することだし.
時々はBloggerの事も思い出してあげようと思います.
Hello Qitta, Goobye Blogger
2016年8月30日火曜日
2016年8月3日水曜日
ubuntu kernel update + nvidia = black screen になる場合
備忘録
nvidia のグラフィックボードを使っている場合,ubuntu のkernel updateの後にディスプレイは認識されているもののblack screenになる事がある.
nvidia 以外に原因は考えられないという事で対処法の備忘録
詳細はUbuntuでNVIDIAのディスプレイドライバが動作しない場合のチェック項目が非常に詳しく助かりました.
私の場合の症状は起動後メーカーロゴが表示,その後待てども暮らせどログイン画面が表示されないttyも表示されない,でもsshでログインできる状態.
主な原因はkernel updateでnvidiaのドライバーが重複して存在している事の様です.対処療法は以下の通り.
と見るとと複数のnvidiaのドライバが混在しているので
よりバージョンを確認.不要なnvidia_340.koとnvidia_340_uvm.koを削除(もしくはホームディレクトリなどに退避)
lightdmを再起動しても認識されないので,rebootを掛ける.
待てども暮らせどshutdown されないので,電源長おしで強制終了を掛ける.
無事login画面が表示される.
うーん忙しい時にこの手のトラブルはご勘弁願いたい.
何も考えずにupgradeを実行するのはよくないのかなぁー
nvidia のグラフィックボードを使っている場合,ubuntu のkernel updateの後にディスプレイは認識されているもののblack screenになる事がある.
nvidia 以外に原因は考えられないという事で対処法の備忘録
詳細はUbuntuでNVIDIAのディスプレイドライバが動作しない場合のチェック項目が非常に詳しく助かりました.
私の場合の症状は起動後メーカーロゴが表示,その後待てども暮らせどログイン画面が表示されないttyも表示されない,でもsshでログインできる状態.
主な原因はkernel updateでnvidiaのドライバーが重複して存在している事の様です.対処療法は以下の通り.
$ ls /lib/modules/カーネルバージョン-generic/updates/dkms/ nvidia_340.ko nvidia_340_uvm.ko nvidia.ko nvidia-uvm.ko
と見るとと複数のnvidiaのドライバが混在しているので
$ modinfo nvidia filename: /lib/modules/カーネルバージョン-generic/updates/dkms/nvidia.ko alias: char-major-195-* version: 340.96
lightdmを再起動しても認識されないので,rebootを掛ける.
待てども暮らせどshutdown されないので,電源長おしで強制終了を掛ける.
無事login画面が表示される.
うーん忙しい時にこの手のトラブルはご勘弁願いたい.
何も考えずにupgradeを実行するのはよくないのかなぁー
sphinx + ipython notebook (jupyter)
備忘録
すると
In[1]
Out[1]
などの情報が出力されずに困った.
http://nbsphinx.readthedocs.io/en/latest/usage.html
よりrstにconvertせずにipynbをそのままtoctreeで読み込む事によりこの問題を回避
sphinxの設定はデフォルトの場合,conf.pyがあるディレクトリで
python -m sphinx . _build/html
とすればよい
sphinx-autobuild が超便利
以上
2016年6月29日水曜日
4倍精度対角化
Lapackの前身にあたるeispackという一般複素行列の対角化を実行するfortrunのプログラムが有ります.3年ほど前に4倍精度に拡張して,別のプログラムに間接的にくっつけてgithubにあげていたんですが,需要があるらしい(?)ので単体でgithubにupしました.
(追記)gcc4倍精度に関するコーディングは昔のポストが参考になれば幸い
拡張と言っても宣言とリテラルを書き換えた位だった気がする.
もう昔のことで覚えていない.
今はmathematicaで多倍長対角化を実行していて,真面目にテストしてないのでバグが絶対混入していると思いますが,エルミートとユニタリーのクラスの対角化では,意図した計算結果を示すのでとりあえず良しとする.
将来的には任意精度まで拡張したいと考えていますが,速度がどうなることやら.
いやー,4倍精度演算がsoftwareレベルで実装されているので,計算速度が遅くなるのは仕方ないんだけど,やっぱりlapackめちゃくちゃ早くて素晴らしいな
(追記)gcc4倍精度に関するコーディングは昔のポストが参考になれば幸い
拡張と言っても宣言とリテラルを書き換えた位だった気がする.
もう昔のことで覚えていない.
今はmathematicaで多倍長対角化を実行していて,真面目にテストしてないのでバグが絶対混入していると思いますが,エルミートとユニタリーのクラスの対角化では,意図した計算結果を示すのでとりあえず良しとする.
将来的には任意精度まで拡張したいと考えていますが,速度がどうなることやら.
いやー,4倍精度演算がsoftwareレベルで実装されているので,計算速度が遅くなるのは仕方ないんだけど,やっぱりlapackめちゃくちゃ早くて素晴らしいな
2016年5月15日日曜日
クラウドストレージBoxをubuntu 16.04で使ってみる
Dropboxユーザー(無料)だが容量が足りない
それでも,ベータテスト参加した際の容量アップで9.8GB容量が有るのだが,
限界に近づいては圧縮を繰り返すという非生産的活動に時間を費やしたくない.
と言って有償版(2TB, 1200円/月)を使う程でもない.
50GB 300円/月とかあれば使うのだが・・・(昔はあった気がする)
実はCopy.comというDropboxと同等のサービスを使っていたのだが,
案の定(名前が悪いと思う.SEOの意味で)終了してしまったので,
boxなるサービスを使ってみる.
linuxクライアントが無いので若干のひと手間が必要.
一応dropboxと同様に使えるようになった.
いや正確ではない.このことは後述する
以下その備忘録
私の場合デフォルトで10GBまで無料
有料版は100GB で 1200円/月とDropboxより高めな印象
noを選択した場合
それでも,ベータテスト参加した際の容量アップで9.8GB容量が有るのだが,
限界に近づいては圧縮を繰り返すという非生産的活動に時間を費やしたくない.
と言って有償版(2TB, 1200円/月)を使う程でもない.
50GB 300円/月とかあれば使うのだが・・・(昔はあった気がする)
実はCopy.comというDropboxと同等のサービスを使っていたのだが,
案の定(名前が悪いと思う.SEOの意味で)終了してしまったので,
boxなるサービスを使ってみる.
linuxクライアントが無いので若干のひと手間が必要.
一応dropboxと同様に使えるようになった.
いや正確ではない.このことは後述する
以下その備忘録
1. boxサイトからアカウントを作る
電話番号を要求されるので,若干の抵抗感がある私の場合デフォルトで10GBまで無料
有料版は100GB で 1200円/月とDropboxより高めな印象
2. davfsをインストールする
$ sudo apt-get install davfs2root以外でも使えるようにするか効かれるのでyesとする.
noを選択した場合
$ sudo dpkg-reconfigure davfs2から再設定可能.
3. 何はともあれmountしてみる
適当にmount point
$ mkdir ~/Box
を作って,mountする
ただ,root権限でmountしておりユーザーは書き込みできないので修正する.
ここを参考にそのまんま設定すると上手くいったので詳細は省く.
最大ファイルサイズが250MBなのでデカイファイルのバックアップには向かない.
とりあえず,文献データ(5GB)を置いてみると,10MB/sec程度でコピーしてくれる.
dropboxはローカルストレージとクラウドストレージ間の双方向同期でありoffline下でも使える.
更に異なるマシーン間の競合も上手く処理してくれる.
しかし上記方法はクラウドストレージのマウント方法なのでoffline下ではそもそもマウントできない.
この違いは大きい,というかDropboxのようには使えない.
offline環境下でも使えるようにするためには,別に母艦を用意しておいて
rsyncなど適当に設定するか?rsyncで双方向同期できるのか?unisonか?
マシーン毎に設定が必要か?
win mac は box syncなるアプリが有るらしいがwineでも試してみるか?
うーん,凝りだすと時間かかりそうで面倒やな・・・
$ sudo mount -t davfs https://dav.box.com/dav /home/hanada/Box/username (メールアドレス)とパスワードを入力してmountできたらとりあえず良し.
ただ,root権限でmountしておりユーザーは書き込みできないので修正する.
ここを参考にそのまんま設定すると上手くいったので詳細は省く.
最大ファイルサイズが250MBなのでデカイファイルのバックアップには向かない.
とりあえず,文献データ(5GB)を置いてみると,10MB/sec程度でコピーしてくれる.
課題と問題点
Dropboxよりえらく早くファイルコピーするなーと思って,よくよく考えたらdropboxはローカルストレージとクラウドストレージ間の双方向同期でありoffline下でも使える.
更に異なるマシーン間の競合も上手く処理してくれる.
しかし上記方法はクラウドストレージのマウント方法なのでoffline下ではそもそもマウントできない.
この違いは大きい,というかDropboxのようには使えない.
offline環境下でも使えるようにするためには,別に母艦を用意しておいて
rsyncなど適当に設定するか?rsyncで双方向同期できるのか?unisonか?
マシーン毎に設定が必要か?
win mac は box syncなるアプリが有るらしいがwineでも試してみるか?
うーん,凝りだすと時間かかりそうで面倒やな・・・
2016年5月7日土曜日
ubuntu 16.04 へアップグレードした際の備忘録
linuxマシーンを何台かubuntu 16.04にする予定なので備忘録を残す.
なお,*マークが有る箇所はhomeを引き継ぎで実際には設定不要だった項目
前置き
ハードウェアーはthinkpad x1 carbon 3rdubuntu 15.10 install済みからubunt 16.04(日本語remix)のクリーンインストール
パーティション関係は
/
/home
swap
を分離
・homeをバックアップ
・usb bootable diskはstartup disk creatorから制作
・(NG):
これをやると /のパーティション上にhomeがつくられて
旧 /home パーティションが宙ぶらりんになっていた^^;
・インストール画面でその他を選びマウントポジションを指定して再インストール(OK)
無事終了
インストール自身は5分くらいで終わった.
昔はアップデート一日仕事だったけど3時間くらいに短縮されたなー
パーティション関係の失敗がなければ30分くらいで終わりそう
次のOS update 5年後になることを期待
以下インストール後の設定備忘録
いつもお世話になっているubuntu インストール直後に行う設定を参考に必要な設定を行う
wi-fiは非表示のネットワークから接続を構成しないと何故か繋がらない
システムの言語環境を英語に,特定のアプリを日本語環境で立ち上げる
ubuntuは日本語remix版をinstallしたが(オリジナル版はzipファイルに日本語名があると文字化けするらしい)が,ターミナルの出力が日本語だと,なんかエラーが出た際にstackoverflowなどでの検索に不都合.
またプログラムを書く際に,メニュー等やエラーを英語でどのように掛けばよいか悩む場合があるので,日頃から英語環境にしておく.
システム環境設定から言語サポート(?),使用する言語(English)を最上部に設定.
ただこれだと全てのアプリケーションが英語環境で立ち上がるので時に不便.
特定のアプリケーションを日本語でたちあげたい場合はlocale -a で ja_JP.utf8があることを確認してシステム環境設定から言語サポート(?),使用する言語(English)を最上部に設定.
ただこれだと全てのアプリケーションが英語環境で立ち上がるので時に不便.
$ locale -a | grep ja ja_JP.utf8
$ env LANG=ja_JP.utf8 application_nameみたいな感じて起動すれば日本語環境で起動可能.メーラーとかeclipseとか設定ファイルが巨大なアプリは日本語で開いたほうがミスが少なくてすむ.
日常的に使うアプリはショートカットを自作し設定.
なお,現在の言語環境の設定はターミナルより確認可能.
$ locale LANG=en_US.UTF-8 LANGUAGE=en LC_CTYPE="en_US.UTF-8" LC_NUMERIC=ja_JP.UTF-8 LC_TIME=ja_JP.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=ja_JP.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=ja_JP.UTF-8 LC_NAME=ja_JP.UTF-8 LC_ADDRESS=ja_JP.UTF-8 LC_TELEPHONE=ja_JP.UTF-8 LC_MEASUREMENT=ja_JP.UTF-8 LC_IDENTIFICATION=ja_JP.UTF-8 LC_ALL=
キーボード入力関係*
・macっぽい日本語/英語の切り替えにするMozc(fcitx)/入力メソットの設定/ホットキー
変換, カタカナひらがな:入力メソットオン
無変換:入力メソットオフ
全角半角: オフ
・句読点をコンマ,ピリオドに
dash からmozcの設定を起動.基本設定から変更
・ここを参考にCuplock をctrlに
覚書:fcitx-mozcの辞書(ユーザー辞書)でコメント内容を見るためには変換候補を選んだ際に(Ctrl+Alt+H)でコメント内容を表示させる事が可能
touch padのon/offショートカット*
$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=12 [slave pointer (2)]でidを調べて
$ xinput set-prop 11 "Device Enabled" 0 # disable $ xinput set-prop 11 "Device Enabled" 1 # enableあとはショートカットを設定
tex関係
ここを参考にパッケージをインストール$ sudo apt-get install texlive texlive-lang-cjk xdvik-ja dvipsk-ja gv texlive-fonts-recommended texlive-fonts-extra
$ sudo apt-get install texlive-publishers2番目はrevtexとのスタイルファイルが入っている.日本語及びrevtexは問題なく動く.
python 関係*
anaconda3をinstallノートのバッテリの電力制御
充電するタイミングを制御する為tlpをインストールする.$ sudo add-apt-repository ppa:linrunner/tlp $ sudo apt-get update
$ sudo apt-get install tlp tlp-rdwthinkpad userなので別途
$ sudo apt-get install tp-smapi-dkms acpi-call-dkmsをinstall.バッテリー情報を
$ sudo tlp-stat -bより確認.電源プラグを接続した際に充電するかどうかの制御は
$ sudo tlp setcharge 30 80 BAT0のようにすれば良い.意味はバッテリーレベルが30%になると充電を開始し,バッテリーレベル80%まで充電する.
プリンター関係 (canon LBP5000を動かす)
Canonからlinux用のinstallerをダウンロードして install.shを実行
The install procedures are the following:
extract the downloaded tar file
$ tar zxvf filename.tar.gz
The containing files in the extracted directory are
$ ls
64-bit_Driver Documents install.sh
In this directory, run
$ sudo bash install.sh
then type [y] to answer some questions.
ここで
extract the downloaded tar file
$ tar zxvf filename.tar.gz
The containing files in the extracted directory are
$ ls
64-bit_Driver Documents install.sh
In this directory, run
$ sudo bash install.sh
then type [y] to answer some questions.
ここで
OK: libglade2-0
OK: libstdc++6:i386
OK: libxml2:i386
OK: libjpeg62:i386
NG: libbeecrypt7:i386
NG: libbeecrypt-dev:i386
を入れろと言われるのでOKはaptからinstall.NGはpackageが見つからず.
$ sudo lpadmin -p LBP5500 -P /usr/share/cups/model/CNCUPSLBPCSERIESLJ.ppd -v lpd://192.168.64.68/LBP5500 -E
That's all for printer setting.
一応使えるので良しとする.
一応使えるので良しとする.
Evernote クライアント
nixnote (evernote linux クライアント)を入れる.
debは動かなかったのでtarからinstall.sh を実行.
起動するとopencvが無いと怒られる
ibopencv-dev (もしかしたらlibopencv-core-devも必要かも)をインストール
syncからevernoteにloginすればok
Ricty fontのインストール
ここを参考その他install した(する) packages
- dropbox:公式の配布を利用
- unity-tweak-tool: UIの拡張に
- emacs, yatex, emacs-mozc
- conky (gcal, lm-sensors, acpi)
- gnuplot5-x11
- duplicity : backup tool
dejadup-monitorが暴走しなくなったので,システムbackupで十分かも.遅いけど
- gufw (+ python-gi) :ファイヤーフォール
- eclipse: IDE
- geany: IDE
- kate:
editorは何が良いかいつも悩むんだけど,用途によって使い分けています.
- 中,大規模のプログラミング: eclipse
- 小規模,使い捨てプログラミング,tex(スペルチェック込): emacs
- プレゼンスライド作成(reveal.js, html, 要スペルチェック): kate
geditではなくkateを使う理由はショートカットを設定が楽なので.emacsのキーバインド(Ctrl-a= Home button, Ctrl-e: End button)を恒常的に使用しているので必須.
- okular: pdf viewer
- gfortran: fortrun コンパイラー
- nkf: 文字コードの変換
- libav-tools: (= ffmpeg) 動画の変換,作成に
- pandoc: (ipython convertで必要)
gnome-sushi: nautilus でスペースキーを押すとサムネイルをpopup表示
(gloobus previewのほうが良い感じ).macのquick lookのような機能.epsだろうがsvgだろうが表示させることができる.
透明画像が暗転してしまうが・・・
- gloobus preview: 複数枚のファイルをquick lookできる
透明画像が暗転するが,preview中に左右のキーを押せば次のファイルをpreviewするので非常に便利
参考: http://www.webupd8.org/2015/01/quick-file-previewer-gloobus-preview.html
- php:
php5からphp7になり,ブラウザからアクセスしてもソースコードが表示されるのでここを参考に再設定
Mathematica Benchimark
Benchmarkingパッケージを使ったMathematicaのベンチマーク
私物laptop
Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
# Core: 2
# Threading: 4
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.3.1",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.392,
"TotalTime" -> 9.945, "Results" -> {{"Data Fitting", 0.537},
{"Digits of Pi", 0.341}, {"Discrete Fourier Transform", 0.68},
{"Eigenvalues of a Matrix", 0.608}, {"Elementary Functions", 0.567},
{"Gamma Function", 0.467}, {"Large Integer Multiplication", 0.467},
{"Matrix Arithmetic", 0.334}, {"Matrix Multiplication", 0.754},
{"Matrix Transpose", 1.61}, {"Numerical Integration", 0.676},
{"Polynomial Expansion", 0.092}, {"Random Number Sort", 1.16},
{"Singular Value Decomposition", 0.765}, {"Solving a Linear System", 0.887}}}
------------------------------------------------------------------------------------------------
とあるサーバー1:
Intel(R) Xeon(R) CPU X5550 @ 2.67GHz
# Core: 4
# Threading: 8
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.332,
"TotalTime" -> 10.388, "Results" -> {{"Data Fitting", 1.059},
{"Digits of Pi", 0.507}, {"Discrete Fourier Transform", 0.545},
{"Eigenvalues of a Matrix", 1.001}, {"Elementary Functions", 0.389},
{"Gamma Function", 0.66}, {"Large Integer Multiplication", 0.668},
{"Matrix Arithmetic", 0.536}, {"Matrix Multiplication", 0.408},
{"Matrix Transpose", 1.022}, {"Numerical Integration", 1.002},
{"Polynomial Expansion", 0.136}, {"Random Number Sort", 1.159},
{"Singular Value Decomposition", 0.651}, {"Solving a Linear System", 0.645}}}
------------------------------------------------------------------------------------------------
とあるサーバー2:
Intel(R) Xeon(R) CPU E5607 @ 2.27GHz
# Core: 4?8?
# Threading: 8
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.056,
"TotalTime" -> 13.103, "Results" -> {{"Data Fitting", 0.962},
{"Digits of Pi", 0.648}, {"Discrete Fourier Transform", 0.6},
{"Eigenvalues of a Matrix", 1.076}, {"Elementary Functions", 0.481},
{"Gamma Function", 0.874}, {"Large Integer Multiplication", 0.916},
{"Matrix Arithmetic", 0.706}, {"Matrix Multiplication", 0.541},
{"Matrix Transpose", 1.485}, {"Numerical Integration", 1.342},
{"Polynomial Expansion", 0.14}, {"Random Number Sort", 1.542},
{"Singular Value Decomposition", 0.878}, {"Solving a Linear System", 0.912}}}
------------------------------------------------------------------------------------------------
Model Name: iMac
Processor Name: Intel Core i7
Processor Speed: 3.1 GHz
# Core: 4
# Threading: 8
{"MachineName" -> "--", "System" -> "Mac OS X x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.3.1",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.985,
"TotalTime" -> 6.975, "Results" -> {{"Data Fitting", 0.689},
{"Digits of Pi", 0.295}, {"Discrete Fourier Transform", 0.369},
{"Eigenvalues of a Matrix", 0.474}, {"Elementary Functions", 0.506},
{"Gamma Function", 0.353}, {"Large Integer Multiplication", 0.33},
{"Matrix Arithmetic", 0.632}, {"Matrix Multiplication", 0.259},
{"Matrix Transpose", 0.726}, {"Numerical Integration", 0.62},
{"Polynomial Expansion", 0.086}, {"Random Number Sort", 0.819},
{"Singular Value Decomposition", 0.435}, {"Solving a Linear System", 0.382}}}
------------------------------------------------------------------------------------------------
Model Name: iMac
Processor Name: Intel Core 2 Duo
Processor Speed: 3.06 GHz
# Core: 2
# Threading: 2(?)
{"MachineName" -> "--", "System" -> "Mac OS X x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 0.613,
"TotalTime" -> 22.586, "Results" -> {{"Data Fitting", 1.713},
{"Digits of Pi", 0.67}, {"Discrete Fourier Transform", 1.548},
{"Eigenvalues of a Matrix", 1.356}, {"Elementary Functions", 2.113},
{"Gamma Function", 0.768}, {"Large Integer Multiplication", 0.769},
{"Matrix Arithmetic", 2.632}, {"Matrix Multiplication", 1.646},
{"Matrix Transpose", 1.804}, {"Numerical Integration", 1.949},
{"Polynomial Expansion", 0.267}, {"Random Number Sort", 1.669},
{"Singular Value Decomposition", 1.992}, {"Solving a Linear System", 1.69}}}
-----------------------------------------------------------------------------------------------
raspberry pi 2
Coretex-A7
# Core: 4
# threading: 4(?)
{"MachineName" -> "--", "System" -> "Linux ARM (32-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 24, 2016", "BenchmarkResult" -> 0.029,
"TotalTime" -> 475.891,
"Results" -> {{"Data Fitting", 10.904}, {"Digits of Pi", 4.805}, {
"Discrete Fourier Transform", 30.977}, {
"Eigenvalues of a Matrix", 35.914}, {
"Elementary Functions", 25.479}, {"Gamma Function", 6.437}, {
"Large Integer Multiplication", 6.735}, {
"Matrix Arithmetic", 6.07}, {"Matrix Multiplication", 151.389}, {
"Matrix Transpose", 7.202}, {"Numerical Integration", 11.684}, {
"Polynomial Expansion", 1.086}, {"Random Number Sort", 8.376}, {
"Singular Value Decomposition", 75.031}, {
"Solving a Linear System", 93.802}}}
----------------------------------------------------------------------------------------------------
とあるサーバー
Intel(R) Xeon(R) CPU E5-1680 v3 @ 3.20GHz
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.4.1",
"Date" -> "June 1, 2016", "BenchmarkResult" -> 2.06, "TotalTime" -> 6.721,
"Results" -> {{"Data Fitting", 0.568}, {"Digits of Pi", 0.293},
{"Discrete Fourier Transform", 0.274}, {"Eigenvalues of a Matrix",
0.78}, {"Elementary Functions", 0.209}, {"Gamma Function", 0.395},
{"Large Integer Multiplication", 0.389}, {"Matrix Arithmetic", 0.214},
{"Matrix Multiplication", 0.282}, {"Matrix Transpose", 0.611},
{"Numerical Integration", 0.705}, {"Polynomial Expansion", 0.098},
{"Random Number Sort", 0.984}, {"Singular Value Decomposition", 0.589},
{"Solving a Linear System", 0.33}}}
私物laptop
Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
# Core: 2
# Threading: 4
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.3.1",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.392,
"TotalTime" -> 9.945, "Results" -> {{"Data Fitting", 0.537},
{"Digits of Pi", 0.341}, {"Discrete Fourier Transform", 0.68},
{"Eigenvalues of a Matrix", 0.608}, {"Elementary Functions", 0.567},
{"Gamma Function", 0.467}, {"Large Integer Multiplication", 0.467},
{"Matrix Arithmetic", 0.334}, {"Matrix Multiplication", 0.754},
{"Matrix Transpose", 1.61}, {"Numerical Integration", 0.676},
{"Polynomial Expansion", 0.092}, {"Random Number Sort", 1.16},
{"Singular Value Decomposition", 0.765}, {"Solving a Linear System", 0.887}}}
------------------------------------------------------------------------------------------------
とあるサーバー1:
Intel(R) Xeon(R) CPU X5550 @ 2.67GHz
# Core: 4
# Threading: 8
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.332,
"TotalTime" -> 10.388, "Results" -> {{"Data Fitting", 1.059},
{"Digits of Pi", 0.507}, {"Discrete Fourier Transform", 0.545},
{"Eigenvalues of a Matrix", 1.001}, {"Elementary Functions", 0.389},
{"Gamma Function", 0.66}, {"Large Integer Multiplication", 0.668},
{"Matrix Arithmetic", 0.536}, {"Matrix Multiplication", 0.408},
{"Matrix Transpose", 1.022}, {"Numerical Integration", 1.002},
{"Polynomial Expansion", 0.136}, {"Random Number Sort", 1.159},
{"Singular Value Decomposition", 0.651}, {"Solving a Linear System", 0.645}}}
------------------------------------------------------------------------------------------------
とあるサーバー2:
Intel(R) Xeon(R) CPU E5607 @ 2.27GHz
# Core: 4?8?
# Threading: 8
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.056,
"TotalTime" -> 13.103, "Results" -> {{"Data Fitting", 0.962},
{"Digits of Pi", 0.648}, {"Discrete Fourier Transform", 0.6},
{"Eigenvalues of a Matrix", 1.076}, {"Elementary Functions", 0.481},
{"Gamma Function", 0.874}, {"Large Integer Multiplication", 0.916},
{"Matrix Arithmetic", 0.706}, {"Matrix Multiplication", 0.541},
{"Matrix Transpose", 1.485}, {"Numerical Integration", 1.342},
{"Polynomial Expansion", 0.14}, {"Random Number Sort", 1.542},
{"Singular Value Decomposition", 0.878}, {"Solving a Linear System", 0.912}}}
------------------------------------------------------------------------------------------------
Model Name: iMac
Processor Name: Intel Core i7
Processor Speed: 3.1 GHz
# Core: 4
# Threading: 8
{"MachineName" -> "--", "System" -> "Mac OS X x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.3.1",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 1.985,
"TotalTime" -> 6.975, "Results" -> {{"Data Fitting", 0.689},
{"Digits of Pi", 0.295}, {"Discrete Fourier Transform", 0.369},
{"Eigenvalues of a Matrix", 0.474}, {"Elementary Functions", 0.506},
{"Gamma Function", 0.353}, {"Large Integer Multiplication", 0.33},
{"Matrix Arithmetic", 0.632}, {"Matrix Multiplication", 0.259},
{"Matrix Transpose", 0.726}, {"Numerical Integration", 0.62},
{"Polynomial Expansion", 0.086}, {"Random Number Sort", 0.819},
{"Singular Value Decomposition", 0.435}, {"Solving a Linear System", 0.382}}}
------------------------------------------------------------------------------------------------
Model Name: iMac
Processor Name: Intel Core 2 Duo
Processor Speed: 3.06 GHz
# Core: 2
# Threading: 2(?)
{"MachineName" -> "--", "System" -> "Mac OS X x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 31, 2016", "BenchmarkResult" -> 0.613,
"TotalTime" -> 22.586, "Results" -> {{"Data Fitting", 1.713},
{"Digits of Pi", 0.67}, {"Discrete Fourier Transform", 1.548},
{"Eigenvalues of a Matrix", 1.356}, {"Elementary Functions", 2.113},
{"Gamma Function", 0.768}, {"Large Integer Multiplication", 0.769},
{"Matrix Arithmetic", 2.632}, {"Matrix Multiplication", 1.646},
{"Matrix Transpose", 1.804}, {"Numerical Integration", 1.949},
{"Polynomial Expansion", 0.267}, {"Random Number Sort", 1.669},
{"Singular Value Decomposition", 1.992}, {"Solving a Linear System", 1.69}}}
-----------------------------------------------------------------------------------------------
raspberry pi 2
Coretex-A7
# Core: 4
# threading: 4(?)
{"MachineName" -> "--", "System" -> "Linux ARM (32-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 24, 2016", "BenchmarkResult" -> 0.029,
"TotalTime" -> 475.891,
"Results" -> {{"Data Fitting", 10.904}, {"Digits of Pi", 4.805}, {
"Discrete Fourier Transform", 30.977}, {
"Eigenvalues of a Matrix", 35.914}, {
"Elementary Functions", 25.479}, {"Gamma Function", 6.437}, {
"Large Integer Multiplication", 6.735}, {
"Matrix Arithmetic", 6.07}, {"Matrix Multiplication", 151.389}, {
"Matrix Transpose", 7.202}, {"Numerical Integration", 11.684}, {
"Polynomial Expansion", 1.086}, {"Random Number Sort", 8.376}, {
"Singular Value Decomposition", 75.031}, {
"Solving a Linear System", 93.802}}}
----------------------------------------------------------------------------------------------------
とあるサーバー
Intel(R) Xeon(R) CPU E5-1680 v3 @ 3.20GHz
{"MachineName" -> "--", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.4.1",
"Date" -> "June 1, 2016", "BenchmarkResult" -> 2.06, "TotalTime" -> 6.721,
"Results" -> {{"Data Fitting", 0.568}, {"Digits of Pi", 0.293},
{"Discrete Fourier Transform", 0.274}, {"Eigenvalues of a Matrix",
0.78}, {"Elementary Functions", 0.209}, {"Gamma Function", 0.395},
{"Large Integer Multiplication", 0.389}, {"Matrix Arithmetic", 0.214},
{"Matrix Multiplication", 0.282}, {"Matrix Transpose", 0.611},
{"Numerical Integration", 0.705}, {"Polynomial Expansion", 0.098},
{"Random Number Sort", 0.984}, {"Singular Value Decomposition", 0.589},
{"Solving a Linear System", 0.33}}}
2016年5月6日金曜日
fortran 4倍精度で,計算速度はどの程度遅くなるか?
大学の環境で利用可能なコンパイラー
gfortran, ifort (intel), xl fortran (IBM), PGI fortran (NVIDIA)で
倍精度から4倍精度にした際にどの程度計算速度が遅くなるか比較する.
なお pgi fortranでは4倍精度のプログラムがコンパイルできなかったので,
実際には残りの3つの比較.
計算内容は割り算と掛け算をひたすら繰り返しただけ.
最適化(オプション)なしの比較.
----------------------- 結果1 (intel cpu)--------------------------------------
gfortran quadruple/double ratio
real: 9.6 倍遅延
complex : 19倍遅延
ifort quadruple/double ratio
real: 16倍 遅延
complex: 28倍遅延
efficiency (gfortran calc. time/ ifort calc. time)
gfortran -> ifort
real: 5.988sec/4.963sec -> 1.2倍 高速化
complex 22sec/16sec ->1.3倍 高速化
(ifortの方がちょっとだけ早い)
--------------------------結果2 (ibm ワークステーション)------------------------
xlf90 quadruple/double ratio
real: 2.27倍遅延
complex: 5.83倍遅延
efficency (gfortran -> xlf90)
gfortran 4.7.3で4倍精度コンパイルできなかったので比較できず.
(4.6から対応だと思っていたが・・・)
pgf90 4倍精度コンパイルできず...
-----------------------------------------------------------------------------
ifortは倍精度は2-3倍オプションなしで早くなるが,
4倍精度では思ったより実力を発揮しなかった.
恐らく4倍精度はソフトウェア上での実装なので,最適化があまり意味がないのかと思う.
ただし,ifortの場合do文を自動並列化ができるので強制的に並列化してやれば,最大でcpu(thread)数倍くらい早くならないこともない.
gfortran, ifort (intel), xl fortran (IBM), PGI fortran (NVIDIA)で
倍精度から4倍精度にした際にどの程度計算速度が遅くなるか比較する.
なお pgi fortranでは4倍精度のプログラムがコンパイルできなかったので,
実際には残りの3つの比較.
計算内容は割り算と掛け算をひたすら繰り返しただけ.
最適化(オプション)なしの比較.
----------------------- 結果1 (intel cpu)--------------------------------------
gfortran quadruple/double ratio
real: 9.6 倍遅延
complex : 19倍遅延
ifort quadruple/double ratio
real: 16倍 遅延
complex: 28倍遅延
efficiency (gfortran calc. time/ ifort calc. time)
gfortran -> ifort
real: 5.988sec/4.963sec -> 1.2倍 高速化
complex 22sec/16sec ->1.3倍 高速化
(ifortの方がちょっとだけ早い)
--------------------------結果2 (ibm ワークステーション)------------------------
xlf90 quadruple/double ratio
real: 2.27倍遅延
complex: 5.83倍遅延
efficency (gfortran -> xlf90)
gfortran 4.7.3で4倍精度コンパイルできなかったので比較できず.
(4.6から対応だと思っていたが・・・)
pgf90 4倍精度コンパイルできず...
-----------------------------------------------------------------------------
上記比較はオプションなしの場合.
ifortは倍精度は2-3倍オプションなしで早くなるが,
4倍精度では思ったより実力を発揮しなかった.
恐らく4倍精度はソフトウェア上での実装なので,最適化があまり意味がないのかと思う.
ただし,ifortの場合do文を自動並列化ができるので強制的に並列化してやれば,最大でcpu(thread)数倍くらい早くならないこともない.
ibmのコンパイラーはibmのマシーンに特化してる気もする.
他にもNAGや富士通(販売終了),absoftがあるらしいが,使ったこと無い.
価格2016年5月時点
IBM: $3380
NAG: (63,000円) single user license
Intel: 10-30万くらい (Parallel Studio XE Composer Edition)
備考:intel compiler の非商用版(linuxのみ)は無償だったが,有償版だけになった模様.
学生に限りは無償使用のライセンスが在る模様.
学生に限りは無償使用のライセンスが在る模様.
2016年1月24日日曜日
Mathematica ベンチマーク @ Raspberry pi 2
Raspberry pi 2 を買ったのでMathematica(無償)のベンチマークを測ってみる。
mathematicaはnoobs から rasbian (jessei) installでデフォルトで導入されていた。
mathematicaはnoobs から rasbian (jessei) installでデフォルトで導入されていた。
--------------- 参考 (手元のノート core-i7)-----------------------
In[1]:= Needs["Benchmarking`"]
In[2]:= Timing@Benchmark[]
Out[2]= {14.596, InputForm[{
"MachineName" -> "----", "System" -> "Linux x86 (64-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.0",
"Date" -> "January 24, 2016", "BenchmarkResult" -> 1.197,
"TotalTime" -> 11.567,
"Results" -> {{"Data Fitting", 0.629}, {"Digits of Pi", 0.536}, {
"Discrete Fourier Transform", 0.728}, {
"Eigenvalues of a Matrix", 0.935}, {
"Elementary Functions", 0.774}, {"Gamma Function", 0.456}, {
"Large Integer Multiplication", 0.46}, {
"Matrix Arithmetic", 0.416}, {"Matrix Multiplication", 0.983}, {
"Matrix Transpose", 1.468}, {"Numerical Integration", 0.62}, {
"Polynomial Expansion", 0.092}, {"Random Number Sort", 1.104}, {
"Singular Value Decomposition", 1.268}, {
"Solving a Linear System", 1.098}}}]}
-------------- Raspberry pi 2 (オーバクロック無し) ----------------------
In[1]:= Needs["Benchmarking`"]
In[2]:= Timing@Benchmark[]
Out[2]= {551.620000, InputForm[{
"MachineName" -> "----", "System" -> "Linux ARM (32-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 24, 2016", "BenchmarkResult" -> 0.029,
"TotalTime" -> 475.891,
"Results" -> {{"Data Fitting", 10.904}, {"Digits of Pi", 4.805}, {
"Discrete Fourier Transform", 30.977}, {
"Eigenvalues of a Matrix", 35.914}, {
"Elementary Functions", 25.479}, {"Gamma Function", 6.437}, {
"Large Integer Multiplication", 6.735}, {
"Matrix Arithmetic", 6.07}, {"Matrix Multiplication", 151.389}, {
"Matrix Transpose", 7.202}, {"Numerical Integration", 11.684}, {
"Polynomial Expansion", 1.086}, {"Random Number Sort", 8.376}, {
"Singular Value Decomposition", 75.031}, {
"Solving a Linear System", 93.802}}}]}
線形代数の差がすごいな。topで観察する限りElementary Functions の計算でcpu使用率が400%になる。
Raspberry pi 2 は4コアなので、フル性能使えているんだと思うけど、並列計算用karnelの起動できない。(LaunchKarnels[]の実行結果が空)
(ParallelDoかなんか実行た際に並列計算用のパッケージ?みたいなのをダウンロード後使えるようになった)
一方面白いことに、有料版Mathematicaはライセンスの制約上フロントエンドカーネルは2つまで(mathematicaを独立に2つまで)しか起動できないが、
Raspberry pi の場合はその制限が無いようだ。
他に気づいたことは環境設定が無いといこと、MathematicaScript、MatheKarnelが無いこと・・・(残念)
追記:代わりにwolframというコマンドがあるっぽい
Raspberry 版のMathematicaは何かしら機能制限がありそうだと思ってはいたけどちゃんと確かめてなかったので他にも制約がありそうです。
本当はラズパイ並列して、mathematicaタスク分散とか・・・、もう少し遊べそうかと思ったけど無理そうだな。
まー遊び道具としてもうちょっといじってみるか。
速度の問題はあるけど5000円程度でmathematicaが使えると思うと非常に安いのでは?
Mathematicaは日本人特別価格の設定でHome edition で7万くらい(日本以外は$300,日本から海外版購入不可)だからね.
-----------
raspberry piを安価pcとして使用した際に気づいたこと。
microsdの相性の問題で起動しなかったので、調べて買うこと。
wikiにまとまっているのでそれを買えば問題ないはず。
os がarmなのでubuntuのようにパッケージが豊富でないこと
例えばfirefox、やchromeがaptになく代わりにiceweaseelやmidoriがある。
chromium-browserは一つ前のversionのosではあったようだけど、最新版ではaptに無いため、debを拾ってきて インストールする必要がある。
Adobe flashが無いので困る人には困るかもしれない。
操作性は思ったより遅くはないけど機敏ではないかな
(El captanよりは応答が良いと思うのは私だけだろうか)
動画を見るのは結構大変かも?
オーバクロックのturboモードはめちゃくちゃ不安定だったけどpi2は割と安定してそう。
-------------- Raspberry pi 2 (オーバクロック無し) ----------------------
In[1]:= Needs["Benchmarking`"]
In[2]:= Timing@Benchmark[]
Out[2]= {551.620000, InputForm[{
"MachineName" -> "----", "System" -> "Linux ARM (32-bit)",
"BenchmarkName" -> "WolframMark", "FullVersionNumber" -> "10.0.2",
"Date" -> "January 24, 2016", "BenchmarkResult" -> 0.029,
"TotalTime" -> 475.891,
"Results" -> {{"Data Fitting", 10.904}, {"Digits of Pi", 4.805}, {
"Discrete Fourier Transform", 30.977}, {
"Eigenvalues of a Matrix", 35.914}, {
"Elementary Functions", 25.479}, {"Gamma Function", 6.437}, {
"Large Integer Multiplication", 6.735}, {
"Matrix Arithmetic", 6.07}, {"Matrix Multiplication", 151.389}, {
"Matrix Transpose", 7.202}, {"Numerical Integration", 11.684}, {
"Polynomial Expansion", 1.086}, {"Random Number Sort", 8.376}, {
"Singular Value Decomposition", 75.031}, {
"Solving a Linear System", 93.802}}}]}
線形代数の差がすごいな。topで観察する限りElementary Functions の計算でcpu使用率が400%になる。
(ParallelDoかなんか実行た際に並列計算用のパッケージ?みたいなのをダウンロード後使えるようになった)
一方面白いことに、有料版Mathematicaはライセンスの制約上フロントエンドカーネルは2つまで(mathematicaを独立に2つまで)しか起動できないが、
Raspberry pi の場合はその制限が無いようだ。
速度の問題はあるけど5000円程度でmathematicaが使えると思うと非常に安いのでは?
Mathematicaは日本人特別価格の設定でHome edition で7万くらい(日本以外は$300,日本から海外版購入不可)だからね.
-----------
raspberry piを安価pcとして使用した際に気づいたこと。
microsdの相性の問題で起動しなかったので、調べて買うこと。
wikiにまとまっているのでそれを買えば問題ないはず。
os がarmなのでubuntuのようにパッケージが豊富でないこと
例えばfirefox、やchromeがaptになく代わりにiceweaseelやmidoriがある。
chromium-browserは一つ前のversionのosではあったようだけど、最新版ではaptに無いため、debを拾ってきて インストールする必要がある。
Adobe flashが無いので困る人には困るかもしれない。
操作性は思ったより遅くはないけど機敏ではないかな
動画を見るのは結構大変かも?
オーバクロックのturboモードはめちゃくちゃ不安定だったけどpi2は割と安定してそう。
登録:
投稿 (Atom)