How to compile a LAPACKE program on Windows 8.1 x64

 Windows 8.1 x64環境下でのIntel Parallel Studio XE 2016 + Visual Studio 2016を使ったLAPACKEプログラムのコンパイル方法のメモ。

1. 必要な環境変数一切合切を用意してくれるCUIショートカット「コンパイラ―16.0 Update 2インテル(R) 64 VS2015環境」を起動

スクリーンショット 2016-02-29 17.17.43

2. LAPACKEソースプログラム”lapack_dgesv_mkl.cを置いた”c:\lapack”へ移動

2016-02-29_190704

3. シリアル実行の時はicl (C/C++コンパイラ) を使って,例えば

c:\lapack>icl lapack_dgesv_mkl.c /link mkl_intel_lp64.lib mkl_core.lib mkl_sequential.lib

とする。

c:\lapack>icl lapack_dgesv_mkl.c /link mkl_intel_lp64.lib mkl_core.lib mkl_sequential.lib
インテル(R) 64 対応インテル(R) C++ コンパイラー (インテル(R) 64 対応アプリケーシ
ョン用)、バージョン 16.0.2.180 ビルド 20160204
(C) 1985-2016 Intel Corporation.  無断での引用、転載を禁じます。

lapack_dgesv_mkl.c
icl: 注意: この製品の評価期間は 17-mar-2016 UTC に終了します。
Microsoft (R) Incremental Linker Version 14.00.23026.0
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:lapack_dgesv_mkl.exe
mkl_intel_lp64.lib
mkl_core.lib
mkl_sequential.lib
lapack_dgesv_mkl.obj

c:\lapack>lapack_dgesv_mkl
Intel(R) Math Kernel Library Version 11.3.2 Product Build 20160120 for Intel(R)
64 architecture applications
Max Number of Threads: 1
Dim = 4
A =
  0:   1.000000   0.500000   0.333333   0.250000
  1:   0.500000   0.333333   0.250000   0.200000
  2:   0.333333   0.250000   0.200000   0.166667
  3:   0.250000   0.200000   0.166667   0.142857
B =
  0:   1.000000   2.000000   3.000000   4.000000
  1:   2.000000   3.000000   4.000000   5.000000
  2:   3.000000   4.000000   5.000000   6.000000
  3:   4.000000   5.000000   6.000000   7.000000
C =
  0:   4.000000   6.083333   8.166667  10.250000
  1:   2.716667   4.000000   5.283333   6.566667
  2:   2.100000   3.050000   4.000000   4.950000
  3:   1.721429   2.480952   3.240476   4.000000
X =
  0:   1.000000   2.000000   3.000000   4.000000
  1:   2.000000   3.000000   4.000000   5.000000
  2:   3.000000   4.000000   5.000000   6.000000
  3:   4.000000   5.000000   6.000000   7.000000
X - B =
  0:   0.000000   0.000000   0.000000   0.000000
  1:   0.000000   0.000000   0.000000   0.000000
  2:   0.000000   0.000000   0.000000   0.000000
  3:   0.000000   0.000000   0.000000   0.000000

4. Intel Threadを使ってパラレル実行の時はiclコマンドを使って,例えば

c:\lapack>icl lapack_dgesv_mkl.c /link libiomp5md.lib mkl_intel_lp64.lib mkl_core.lib mkl_intel_thread.lib

でコンパイル。
Core i5-2500 (4 cores)で実行すると下記のようになる。

c:\lapack>icl lapack_dgesv_mkl.c /link libiomp5md.lib mkl_intel_lp64.lib mkl_core.lib mkl_intel_thread.lib
インテル(R) 64 対応インテル(R) C++ コンパイラー (インテル(R) 64 対応アプリケーシ
ョン用)、バージョン 16.0.2.180 ビルド 20160204
(C) 1985-2016 Intel Corporation.  無断での引用、転載を禁じます。

lapack_dgesv_mkl.c
icl: 注意: この製品の評価期間は 17-mar-2016 UTC に終了します。
Microsoft (R) Incremental Linker Version 14.00.23026.0
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:lapack_dgesv_mkl.exe
libiomp5md.lib
mkl_intel_lp64.lib
mkl_core.lib
mkl_intel_thread.lib
lapack_dgesv_mkl.obj

c:\lapack>lapack_dgesv_mkl
Intel(R) Math Kernel Library Version 11.3.2 Product Build 20160120 for Intel(R)
64 architecture applications
Max Number of Threads: 4
Dim = 4
A =
  0:   1.000000   0.500000   0.333333   0.250000
  1:   0.500000   0.333333   0.250000   0.200000
  2:   0.333333   0.250000   0.200000   0.166667
  3:   0.250000   0.200000   0.166667   0.142857
B =
  0:   1.000000   2.000000   3.000000   4.000000
  1:   2.000000   3.000000   4.000000   5.000000
  2:   3.000000   4.000000   5.000000   6.000000
  3:   4.000000   5.000000   6.000000   7.000000
C =
  0:   4.000000   6.083333   8.166667  10.250000
  1:   2.716667   4.000000   5.283333   6.566667
  2:   2.100000   3.050000   4.000000   4.950000
  3:   1.721429   2.480952   3.240476   4.000000
X =
  0:   1.000000   2.000000   3.000000   4.000000
  1:   2.000000   3.000000   4.000000   5.000000
  2:   3.000000   4.000000   5.000000   6.000000
  3:   4.000000   5.000000   6.000000   7.000000
X - B =
  0:   0.000000   0.000000   0.000000   0.000000
  1:   0.000000   0.000000   0.000000   0.000000
  2:   0.000000   0.000000   0.000000   0.000000
  3:   0.000000   0.000000   0.000000   0.000000

c:\lapack>

2/21(日) 駿府・晴れ

 ふに~,ここの更新,だいぶ日が開いてしまったが,それだけ真面目に日々の業務に勤しんでいると思ってくれるとありがたいがそんなわけないのでまぁ適当にやっておるわけであります。

 とは言いながら,一応は今週末の締切に向けて「LAPACK/BLAS入門(仮)」をブラッシュアップしておるのでございますよ。一巡したところでもう一回磨き上げているところ。いろいろ不満があるけど,それつぎ込んでたら終わりそうもないし,ウソ書いちゃいそうになるので抑制しているのだ。ってすでに大嘘混入してたりして。その節はサポートページ経由でお知らせいただけると幸いでございます。

 とゆーことで,サポートページを多少でも見栄え良くしようと,トップページ以下にBootstrapを仕込む。一時はMovableTypeやWordPressで再構築しようと思ったのだが,あまりメリットがなさそうなので手動のままのマイナーバージョンアップで済ませることにした。トップ以下もメンテナンスが必要な部分は書き換えている。スケジュールページはだいぶマシになったかも。

 そういえば,ここの記事更新さぼっている合間にも,研究室の公式ページはチマチマメモを書き込んでいたりする。完全WordPressで構築したのでかなり楽させてもらってますが,抑制気味に書かざるを得ないのでつまらんところがありますな。ま,あちらは定年まで持てばいいから,Webプログラミングの勉強がてらチマチマやり続ける予定。

 つーことで,今週は山下達郎コンサート行って英気を養いつつ,原稿最終チェックに勤しむのであります。がんばんべー。

QDライブラリ文書の日本語訳

 QDライブラリの文書を日本語訳したので公開。Bailey先生にお伺い立てたら迅速なる対応を取って頂いてサクッと公開の許可が下りた。

 [PDF] http://na-inet.jp/na/qd_ja.pdf
 [TeX] http://na-inet.jp/na/qd_ja.zip

 どーも頭が固いもんで,一度日本語しないと頭に入った気がしないという年寄りの悪い癖。問題ありましたらお知らせ下さいませ。>QDに詳しい人

 以下はソースに同梱した文書(readme_ja.txt)。

%—————————————%
% qd_ja.tex tranlated by T.Kouya
% How to compile: platex qd_ja (in qd-2.3.x/docs directory)
% Translation Permission: 2016-02-02 (Tue)
% Translation Version: 0.1 2016-02-02 by T.Kouya
%—————————————%
1. 初めに
 本文書は,QDライブラリ (qd-2.3.17.tar.gz)のdocs/qa.texを日本語訳したものです。現著作権はQDライブラリに付属します。日本語訳は幸谷智紀(tkouya@cs.sist.ac.jp)が行いました。

2. 文書のコンパイル
 qd-2.3.17を解凍してできるdocsディレクトリにこのqd_ja.texを置いてplatexでコンパイルして下さい。図版は全てオリジナルのものを使っていますので,本文書の配布物には含まれていません。

3. 訳語について
 「double-double」については「倍々(倍倍)精度」という訳語が使われているケースが多いようですが,そうすると「quad-double」を「4倍々精度」とせねばならず,4倍精度と間違いやすい上に,「倍々」という語感が好きではないので(bye-byeに聞こえて仕方ない),本文書では「double-double」を「DD」に,「quad-double」を「QD」と簡略形を使って表記しています。

4. 謝辞
 本文書の公開に当たって関係各位に根回しして頂き,迅速なご許可を取りつけて頂いたDavid Bailey教授に感謝致します。

1/3(日) 駿府・晴

 新年あけましておめでとうございます。
 本年もよろしくお願い致します。

 年末から年明けまで例年通り,うま煮づくりと東照宮参拝と年始回りというスケジュールをこなすことができたので一安心していたら本日頭痛のため起き上がれずに,最後の浅間神社参拝が叶わなかった。つーことで夕方までゴロゴロしてゆったり過ごす。トシだなぁ。

 昨年のお仕事は昨年内に一応終えた。本年はその結果が続々と判明することになる。一応最善は尽くしたので結果を待つのみ。良くても悪くても淡々と受け流すのが精神衛生的には良いのだろうが,まだそこまで悟りたくもなし,せいぜい年相応に泣き叫んだり小躍りしたりすることにしよう。

 心残りはこれからの大きな研究テーマを開けてないこと。短期的なものはあるのだが,今後定年までの17年間を費やすに値するテーマに挑むべく勉強しないとな。定年後は趣味のWebプログラミングを続けつつ,多倍長数値計算で少しは仕事できるといいかなと夢想しているので,せいぜい体と頭が働くうちに勉強しておくことにしよう。もちろん,神さん奉公もしつつ,である。年に1~2回は温泉旅行に出かけたいものだ。今のところ,昨年仕込まれたあれこれの結果が出て成功したと判明すればそれを口実にあれしようこれしようと有言しているので,あとは実行あるのみである。

 3月並みの暖かさという正月も本日でおしまい。明日から仕事納めで1コマ目から講義である。さて頑張ろう。

 寝ます。

山本さほ「岡崎に捧ぐ①」「同②」小学館

dedicated_to_ozaki_the_friend_of_mine_vol1

dedicated_to_ozaki_the_friend_of_mine_vol2

① [ Amazon ] ISBN 978-4-09-179207-5, \787 + TAX
② [ Amazon ] ISBN 978-4-09-179209-9, \787 + TAX

 帯の煽り文句に「WEBサイト[Note]で短期10,000,000 viewを記録した話題作」とあったので,てっきりまた一迅社やメディアワークスあたりがトチ狂ってWeb漫画をまとめたのかなと思ったのだが,出版したのは天下の小学館,今はビッグコミックスペリオール誌で連載中というのだから,Web漫画の成り上がりぶりには慣れているワシとても素直にすげぇえなぁと感嘆したのである。
 で,買って読んでみたら確かに面白い。基本的には作者・山本の小学校~中学校時代の思い出話を描いているのだが,リアリティに溢れすぎていて現実のアンチクライマックスぶりに左頬の筋肉が引き攣る程だ。しかもこれ,10年ぶりに描いた漫画だというのだからビックリだ。一応美大を目指していたぐらいだから,絵心はあったろうが,面白い漫画を描く才能はそれとは別のものなのだから,漫画の執筆を勧めた同級生の杉ちゃんや岡崎さんは偉大だなぁ,持つべきものは友達だ,としみじみ感じ入るのである。
 糸井重里のマンガ読み能力は年季が入っているだけあってさすがと唸らされることが多い。本年も山本さほにとよ田みのる,simico,小山健の3人を加えて催された「私(し)まんが座談会」を催しており,よく読んでいるなぁと感心させられた。そこで糸井は次のようにこの4人が描いている「私まんが」を次のように定義している。

私小説(ししょうせつ)という言葉がありますよね?
「わたくし」の身辺や考えを
書いていくのが私小説だとすると、まんがにも
そういうものがあるんじゃないでしょうか。

 私小説と言えば,猫猫先生こと小谷野敦が盛んに門人を集めては執筆を勧めている文芸作品である。文学に造詣が全く深くないワシとても,「へぇ~この人がねぇという下種の勘繰りを満たしつつ,ひょっとして自分もこういうことをやらかしそうだという共感神経を逆なでする,事実に基づくエッセイやマンガが大好きなのだが,それ以上に浅はかな作り物を超えた不条理的ストーリー展開に魅せられるのだ。本作を含む「私まんが」が糸井重里翁のトレンディアンテナに引っかかったのも,過剰なフィクションに食傷したワシら日本のマンガ読みの秘せられた欲求を満たす一筋の光をそこに見たからではないか。ワシはそう確信しているのである。

 本作,「岡崎に捧ぐ」は「ちびまる子ちゃん」のようにマンネリ化したホームドラマでは決してない。そこに描かれるのは赤裸々な凡人たる主人公=作者・山本の平凡ぶりであり,それを際立だせる親友・岡崎さんの存在なのである。家庭環境が荒れている岡崎さんは,それに対抗するように屹立した個人として成長していく。対して山本は平和な家庭環境で平々凡々と日常を過ごし,平均値を脱しないまま2巻の最後で岡崎さんと同じ高校受験して失敗する。描かれているのは,当時の中三の山本のお気楽な態度なのだが,それを描いている作者・山本はその後の人生の波乱を経験しているだけに作中の山本に突っ込みを入れまくるのだ。気楽な思いでエッセイマンガの体裁をとっているのだが,ワシも含む大多数の煩悩を断ち切れない凡人の大人は,自身の若い頃をのぬるま湯っぷりを思い出してしまい,ある意味,読んでいて辛くなる作品でもあるのだ。

 中核となる山本と岡崎さんを取り巻く人間模様もまことにアンチクライマックスで,劇的感からほど遠い。教師に暴力をふるった不良学生は感動的な許しを請うも「お前らまたやるだろ」の一言で警察に通報され,更生の機会を逃すことになるし,所有しているプレステ目当てで家まで上がり込んだ同級生に対しては,ゲームをクリアした後の付き合いをあっさり絶ってしまうし,まことに「あったあった!」というエピソードに満ちている。人格円満でないワシら凡人にとってはちと切ない,思い出したくもない記憶を掘り出してしまう効果が高い漫画なのである。

 新年を迎えるにあたり,それにふさわしいファンタジー漫画を毎年大みそかに紹介している訳だが,本書は心をシバキ倒した擦過熱で熱くなる作品であるから,まぁ一種のブラックユーモア的ファンタジーと言えないことはない。今後の山本と岡崎の関係が大いに心配になるが,それは2016年に刊行される第3巻以降で次第に明らかになるであろう。つまり,来年が待ち遠しくて仕方なくなるシャブのような効果のある作品でもある。まことに新年を迎えるにふさわしい強烈な「ファンタジー」ではないか。ヘタウマ的センスあふれる山本さほの今後の活躍に期待しつつ,2015年を〆ることにする。

 本年は誠にありがとうございました。
 来年もよろしくお願いいたします。