読者です 読者をやめる 読者になる 読者になる

HPCメモ

HPC(High Performance Computing)に関連したりしなかったりすることのメモ書き

ansibleで改行コードの変換

ansilbleのplaybookの中でpatchモジュールを使って転送したファイルにpatchをあててたのがあったのですが、なぜかパッチファイルと適用対象ファイルの改行コードがLFの時は動作するのに、CRLFだと駄目という現象が起きたので、急遽playbookの中で改行コード…

mac 上で vagrant + ansibleの環境構築

前回は、ホストマシンとしてWindows10を使った環境を作りましたが、そろそろLinux環境をゲストにしたものも必要になってきたのでサクっと作ってみました。hpcmemo.hatenablog.com 既に入っているものもありますが、必要なソフトをbrewでインストールします。 >…

vagrant で modernIE

「せっかくだから、俺はこの銀の弁当箱を選ぶぜ!」くらいの勢いでMac miniを導入した私ですが、初っ端からwindows環境のお客様が続いています・・・ MSDNを導入するには予算オーバーだし、Macを買ってそうそうにwindowsのパッケージを買うのも負けた感がある…

コンパイラ製品のコミュニティエディション

MSがVisual StudioのComunity editionをリリースしてはや3年(くらいだっけ?)が経ちますが、同じようなノリでIntelとPGIもCommunity editionを出してたようです。*1 MSのも合わせてとりあえずリンクを置いときます。 www.visualstudio.comwww.softek.co.jpQua…

Macの初期設定&備忘録

私事ながら、昨年末で5年ちょっと勤めた某社を退職し、自分で会社を立ち上げました。 というわけで、「あーこのネタをブログに書きたいけど会社の人にバレたら困るなー」みたいな制約が無くなりましたんで、今年からはもっと記事を書く頻度を上げていきたい…

python3でtrelloに登録したカードを読み出す(その2)

前回作ったプログラムですが、実行に10秒ほどかかっていて、これならブラウザで複数プロジェクトのボードを全部開いてまわってもたいして効率が変わらない感じです。 おそらく遅い原因はボード一覧の取得->ボード毎にリスト一覧の取得->リスト毎にカード一覧…

python3でtrelloに登録したtask(=カード)を読み出す

googleカレンダーのお気に入りの機能のひとつに、「毎日指定した時間にその日の予定をメールで送ってくる」というのがあります。 気分的には、オフィスのエレベーターを降りて自席まで歩いている間に、クリップボードを持った秘書さんが付いてきて今日の予定…

pythonのwebbrowserモジュール

2年ほど前に、「へび年だからpythonの勉強でもするか」とかいう冗談みたいな理由でpythonを使い始めたんですが、今日初めてこんな素敵なモジュールがあることを知りました。21.1. webbrowser — 便利なウェブブラウザコントローラー — Python 3.5.2 ドキュメ…

MPIライブラリ毎のプロセスマッピング指定方法

さっき、ひさびさにIntelMPIを使ってて、プロセスマッピングの指定ってどうやるんだっけと小一時間悩んでしまったので、自分用メモとして残しときます。IntelMPIの場合、プロセスマッピングを指定するには以下の環境変数を使います。 I_MPI_PIN I_MPI_PIN_MO…

Alces Flight

starclusterだのcfnclusterだのをいじっていたら、なんかまた新しいサービスが始まってたようです。Alces Flight: Effortless HPC is Born (Finally)AWS marketplaceから起動できるので、これはこれで便利そうですね。 こちらは、starclusterやcfnclusterと…

starcluster と cfncluster その2

続いてcfnclusterを使ってPCクラスタを作ってみます。starclusterと条件を合わせるために、c3.largeの4ノード構成でやってみます。 インストール(windows native版) 記事を分けたついでに、windows nativeのpythonでもインストールしてみます。 >python -m v…

starcluster と cfncluster その1

AWSのクーポンが5月末(つまり今日)で期限切れということに気付いたので、急遽starclusterとcfnclusterを触ってみることにしました。STAR: Cluster - Home CfnClusterどちらも、pythonで書かれたAWS上でEC2のクラスタを構成するツールなんですが、前者はMITで…

windows(cygwin)でansibleその3

とりあえずparamikoで動くようになったものの、.ssh/configが使えないという致命的な欠点に気付いて、再トライしてみました。といっても、ぐぐれどもぐぐれども前々回みつけたこのblogと同じく、"-o ContorolMaster=no"を指定すればOKって記事しかひっかかり…

windows(cygwin)でansibleその2

ssh接続に成功したりしなかったりする問題は結局解決しないままなんですが、 OpenSSHがだめならparamikoを使えば良いじゃない ということで、paramikoで試してみました。 ansible hoge.huga.com -m ping -i hosts -c paramiko -k SSH password: <- 秘密鍵の…

windows(cygwin)でansible

ずいぶん前に、windows nativeなpythonに無理矢理ansibleをインストールしてみたら、pwdだのfcntlだのといったUnix固有の標準ライブラリに依存しまくってて、まったく歯が立たなかったので放置してたんですが、最近babunというcygwinの派生版を使い始めたの…

Intel版python

先日、VTuneのドキュメントを漁っていたら面白そうなものを見つけました。Python* Distribution | Intel® Developer Zoneドキュメントを見たところ、MKLとnumpy/scipyを同梱したpythonのようです。*1ダウンロードするためには、Technical Previewへ参加する…

git-hookを使ってコミット時にテスト

就職して以来CVS->subversion->gitと、かれこれ10年近くVCSを使ってきましたが、今だにcommitを忘れるという初歩的な問題が解決できません・・・ ソース作成/修正 ビルド テスト コミット という順番で作業してると、ビルド&テストしてる間に時間が空いてし…

cmderでIntel CompilerとVSを使う設定

数値計算というと、大学とかに置いてあるスパコンにログインして、Linuxのコマンドラインで作業してるイメージが強いかもしれませんが、時々windows上でVisualStudioとIntelコンパイラで開発してますっていう人にも出会います。*1となると、受託開発ではやっ…

pandas+matplotlibで3D棒グラフを作る

たとえば、こんな感じの表があったとするじゃないですか。 店 うし ぶた とり 肉屋 580 280 300 スーパー 420 260 320 これを、エクセルに入力して、挿入->3D-縦棒と選ぶとこんな感じのかっこいい(?)グラフが作れるわけですが、これをpandas+matplotlibでや…

windowsでのpython3のセットアップ

相変わらず仕事でpythonが絡むと「python2向けで」とか、下手すると「2.6で動作すること」とか言われますが、そろそろ自作のソフトくらいはpython3へ移行しようと思い立って、まずは環境を用意することにしました。まずは、chocolateyからpython2/3をまとめ…

chefをやめてchocolateyへ

単にパッケージをインストールするだけのこんな感じのレシピをいくつか書いた後でふと気づきました。 if platform_family?('windows') windows_package node['hoge']['display_name'] do source node['hoge']['url'] installer_type :custom action :install…

windowsの"PROGRAMFILES"環境変数

32bit windowsでは、プログラムのインストール先はたいてい"C:Program Files"ですが、64bit windowsでは、64bitプログラムは"C:Program Files"に、32bitプログラムは"C:Program Files(x86)"に分けてインストールするのがお約束になっています。この"Program …

cmakeでC++ルーチンを呼び出すFortranプログラムをビルドする

自作のライブラリ(C++で作成、C、Fortranのインタフェースあり)をFortranのプログラムから呼び出すサンプルコードを書いてたんですが、CmakeList.txtの作成ではまったので、メモcmake fortran c++ mixedlink あたりでぐぐると、 SET_TARGET_PROPERTIESで、LI…

chef -zeroでwindows用開発環境を構築(その4)

運用を始めてから気付いたことをバラバラとメモっときます。 gitでエラーになる gitのレシピを実行すると、こんなエラーが発生する時があります。 FATAL: Errno::EIO: git[C:\WORK\unix_home] (update_home_dir::default line 10) had an error: Errno::EIO:…

chef-zeroでwindows用開発環境を構築(その3)

再び続けてChef-zero on windowsの話です。前回までで、まだ足りないソフトがあるものの、windows8.1用のchef-repoを作成してOneDriveに放り込み、chefによる環境設定の運用を開始することができました。 今回は、OndeDrive経由で別のwindowsマシンにも同じ…

chef-zeroでwindows用開発環境を構築(その2)

さて、前回の続きです。普段、windowsマシンを使う時には、次のような運用方針にしているんですが、このための設定をchefのレシピでなんとかしてみましょう。 C:\WORK を作成して、必要なファイル類はそこへ置く bitbucketに置いてあるドットファイルをC:\WO…

chef-zeroでwindows用開発環境を構築

最近、遅ればせながら入門Chef Solo - Infrastructure as Code作者: 伊藤直也出版社/メーカー: 伊藤直也発売日: 2013/03/11メディア: Kindle版購入: 16人 クリック: 1,027回この商品を含むブログ (19件) を見るを読んだので、chefで遊んでいます。普段利用す…

CPU affinityの制御

OpenMPを使ったスレッド並列プログラム実行時のaffinity制御方法を、以前blogに書いたような気がするんだけど、検索しても出てこなかったので、改めてメモしておきます。 CPU bindの方法 CPU coreに対してスレッドをバインドする(=マイグレーションさせない)…

zlib関連のメモ

zlib関連のlink集です。配布元 zlib Home Siteファイルフォーマットやアルゴリズムの解説など RFC 1950 - ZLIB Compressed Data Format Specification version 3.3 RFC 1951 - DEFLATE Compressed Data Format Specification version 1.3 RFC 1952 - GZIP fi…

AWSその3

最初に、前々回の記事を2ヶ所訂正します。 無料枠ではEBSは30GB以下に制限されているので、とりあえず30GB付けておく と書きましたが、後から減らすのは難しいので、SSDの下限である10GBか、CentOSのAMIで設定されている8GBのままで良かったかもしれません。…

AWSその2

OSの設定(続き) rpm -qa |wc -l すると 195行 とかいうコンパクトな構成なので、 とりあえず、片っぱしから使いそうなパッケージをインストールします。 yum install vim screen gcc gcc-c++ gcc-gfortran gdb wget git xeyes openmpi とりあえずこれで普段…

AWS

ずいぶん前にUdacityのparallel computing(という名のGPGPU)の授業でレポートを提出したら、AWSのクーポンをくれていたのを思いだして、インスタンスを作ってみました。構成は、t2.microでCentOS6.5にして、片っ端から使いそうなパッケージを突っ込んだだけ…

OpenMP+MPIハイブリッド実行 with OpenMPI

ひさびさにすっぽりとハマったのでメモOpenMPI 1.8.1な環境で、MPI/OpenMPのハイブリッド実行をしようとしてたのですが、 mpirun -np 1 ./a.out とやるとOMP_NUM_THREADSの値に関わらず1coreしか使われないけど、mpirunを使わないで ./a.out とすると、きっ…

python2.6@windows7 へ IPython を導入してみる

会社から支給されているお仕事PCには、某ソフトのインストール時に一緒に導入されたpython2.6が入ってるんですが、仕事の合間にちょろっと調査で使った時に windowsのコマンドプロンプトからコピペするのが激しく面倒 ということに今さらながら気付かされた…

cygwinのインストール

ここのとこteraterm+winscp+Xmingの代替として、MobaXtermってのを試してました。ローカルでgccとかも実行できて便利そうだし、sshとsftpとXサーバを1アプリにまとめられるから、持ち歩きも簡単そうと思って期待してたんですが、 高負荷時にちょくちょく落ち…

MPIライブラリ毎のコンパイラ指定方法

たいていのMPIライブラリには、伝統的にmpi{cc,f90,cxx}といったコンパイラのラッパーが付いています。-Iとか-Lとか-lを適当に設定したうえで、コンパイラを呼び出してくれる便利なものですが、 これが最終的に呼び出すコンパイラを切り替える方法がライブラ…

lower_boundとupper_bound

STlの便利アルゴリズムlower_boundとupper_boundですが、何回説明を読んでも混乱するので、自分でテストプログラムを書いてみました。とりあえずコード vector<int> v={0,2,2,4,6}; cout << "v = {"; std::for_each(v.begin(), v.end()-1,[](int x)->void {cout<</int>

BOM有りUTF8で保存されたソースコードのコンパイル

ぐぐると、VSがBOM有りUTF8でファイルを保存するけど、gccが対応していないから困ったみないな話ばっかりひっかかるけど gccではBOM有りUTF8には2008年頃(ver. 4.1.2)対応済の模様 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33415じゃインテルコンパイラ…

理論ピーク性能

巷では、ゴミ箱呼ばわりされたり、スパコンに該当するとか言われてなんか話題になっていたMAC Proが発売されてたようです。 発表直後に話題になってた、政府調達手続におけるスパコンの定義はなにかというとhttp://www.kantei.go.jp/jp/kanbou/24tyoutatu/in…

グラフツール

非構造格子の領域分割とか、疎行列のオーダリングにつかわれるグラフ理論にもとづいたツールとして有名なものにMetisとScotchってのがあります。それぞれ公式?webページは次のとおりMetis http://glaros.dtc.umn.edu/gkhome/views/metis Scotch http://www.l…

VMwareからUSBメモリへの移行(その3)

さて、前回まででほぼインストール&環境設定は終わりなのですが、2つほど後回しにしていたものがあるので、落穂拾いを。 ネットワークの設定 インストール後の設定の時は手動でdhcpcdを立ち上げてましたが、なんせUSBメモリにインストールしてるので、起動す…

VMwareからUSBメモリへの移行(その2)

さて、前回まででVMware playerからUSBメモリにインストールしたArchLinuxが起動できるようになったので、続きのインストール作業を行います。 といっても、後はほぼインストールガイドのここから先をやるだけ。 https://wiki.archlinux.org/index.php/Insta…

VMwareからのUSB boot

USBメモリにArchLinuxをインストールして、ネイティブでもVM環境でも同じように使えるようにしよう! ということで、前回はArchをインストールしてたのですが、実はVMPlayerは(VirtualBoxも)BIOSレベルではUSBメモリからのブートをサポートしてません。 この…

VMwareからUSBメモリへの移行

ここ1年くらいは、Windowsマシン上でVMware playerを立ちあげて、その中でArch Linuxを使ってたんですが、ホストのPCがメモリ4GBしか積んでいない上にWindows用に1.5GBくらい使われるので、そろそろネイティブ環境に移行しようと思ってました。 しかし、普通…

redmineのインストール

しばらく前から、redmineをインストールしといてと頼まれてたんですが インストール先はRHEL 5.3 インターネットには接続不可 gitのリポジトリはすでにあるので、そこと連携したい root権限は渡せん たぶんパッケージは色々足りない という、なかなか面倒な…

TOP500list

HPC

ふと気付いたらISC13でTOP500リストが公開されてました。http://www.top500.org/lists/2013/06/事前情報どおり中国のTianhe-2Aが1位で、2~5位は前回の1~4位が順当にランクインしてます。Tianhe-2はXeon E5-2692にIntel Xeon Phi 31S1Pというインテルプロセ…

CentOS 6.3へgcc4.8.0をインストール

仕事でCentOS 6.3な環境でテストプログラムを書いていて、乱数が必要になったので、ふと思いたってc++11のメルセンヌツイスタを使ってみようとしました。 ところが、標準でインストールされているg++は $ g++ --version g++ (GCC) 4.4.7 20120313 (Red Hat 4…

MPI_Finalize()後の世界

ほとんどのMPIプログラムで、おまじないとしてmainルーチンの最初と最後に置かれてる*1MPI_Init()&MPI_Finalize()ですが、ふと思いたって、MPI_Finalize()の後でもう一回MPI_Init()してみたらどうなるのか試してみました。テストコード なんとなくF77で書い…

最近作ったバグ

年度末の納期の山に追われて、年始以来更新してなかったこのブログですが、最近、我ながら間抜けなバグを2つほど作ってネタができたので、恥を晒しに来ました。 派生クラスのコンストラクタがもらった引数を基底クラスの引数付きコンストラクタに渡すには? …

Xeon-Phiについて

しょっぱなから、他人のBlogの紹介記事ですが STREAM Benchmarkの作者であるJohn McCalpin先生のブログにXeon-phiに関するコメントが、昨年の11月頃に上がってました。 http://blogs.utexas.edu/jdm4372/2012/11/17/some-comments-on-the-xeon-phi-coprocess…