fortran66のブログ

fortran について書きます。

AWS Cloud9 で gfortran Ver.7 (EC2 Ubuntu)

Amazon Web Services の Cloud9 なるオンライン IDEFortran (その2)

我慢して How to を読んだら比較的簡単に出来ました。英語を読むのはだるいが、どうせ日本語訳で読んでも意味不明なので大差なしw

スマホからの初めての共同作業のスクリーンショット
f:id:fortran66:20171209024545p:plain


今回、簡単のためオレゴン地区上に ubuntu および Cloud9 のインスタンスを作りました。ubuntu 上に Cloud9 のソフトがインストールされるようです?

手順メモ帳

「AdBlockerを切る事!」

putty の設定(1.インストール、2.AWS がくれる pem ファイルを PuttyGen にて ppk ファイルに変換、3.Putty->connection->SSH->Auth-> Browse... で ppk ファイル読み込み設定。4.ホスト名は ubuntu インスタンス起動の時に表示される)

  • Cloud9 用の下準備をする

以下の9番参照
docs.aws.amazon.com

  • Python2.7 インストール

docs.aws.amazon.com

sudo apt install python-minimal

pipインストール

curl -O https://bootstrap.pypa.io/get-pip.py # Get the install script.
sudo python get-pip.py # Install pip.
rm get-pip.py # Delete the install script.

botoインストール

sudo python -m pip install boto3

  • node.js

Installing Node.js via package manager | Node.js

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

だったかw

  • SSH key 設定

vi ~/.ssh/authorized_keys

すでに何か書かれているので、それに付け加える形で、次のステップで得られる SSH KEY を足す。

  • AWS の サービス->開発者用ツール-> Cloud9 から Create environment

名前を付けた後のページで、connect and run in remote server (SSH) を選ぶ。
User 名 ubuntu
Host 名 ubuntu インスタンスの与えるアドレス
を記入。
また copy key to clipboard でSSH keyをコピーする。
ubuntu 端末に戻って vi で append して足してやる。

後は適当にクリックしたら何とかなった。

  • gfortran 設定

ubuntu 端末側から gfortran-7 の設定
fortran66.hatenablog.com

Cloud9 Fortran Run&Go ファイル設定
fortran66.hatenablog.com

fortran.run   gfortran-7 f2008 設定

// This file overrides the built-in C runner
// For more information see http://docs.aws.amazon.com/console/cloud9/change-runner
{
  "script": [
    "set -e",
    "if [ \"$debug\" == true ]; then ",
    "gfortran-7 -std=f2008 $file -o $file.o",
    "chmod 755 \"$file.o\"",
    "node $HOME/.c9/bin/c9gdbshim.js \"$file.o\" $args",
    "else",
    "gfortran-7 -std=f2008 $file -o $file.o",
    "chmod 755 $file.o",
    "$file.o $args",
    "fi"
  ],
  "info": "Running $file",
  "debugger": "gdb",
  "$debugDefaultState": false,
  "env": {},
  "selector": "^.*\\.(f90)$"
}

AWS Cloud9 で gfortran (ただし 4.8.5)

Amazon Web Services の Cloud9 なるオンライン IDEFortran

一応出来ましたので、途中経過をば御報告申し上げ奉り候。
f:id:fortran66:20171209001003p:plain

まず、Adblocker があるとうまくいきません。
Cloud9 の設定は全部デフォルトで行けます。
Cloud9 の IDE が起動すると、下部に bash console が出るので、ここで gfortran をインストールできます。Amazon Linux が動いているようです。

sudo yum install gcc-gfortran

で行けます。しかし、gfortran のバージョンは、大昔の Version 4.8.5 で Fortran 2003 の機能もほとんど使えません。

Build & Run のスクリプトを用意しなければならないのですが、調べる気にもならないので、C 言語用のものを表示させて、丸パクリで gcc -> gfortran 等の書き換えで使いまわします。

実行結果窓の右上の方に、RUNNER:C 等の表示が出るのでここをクリックするとスクリプトをいじくれます。適当に fortran.run というファイル名で save したらうまく行きました。

// This file overrides the built-in C runner
// For more information see http://docs.aws.amazon.com/console/cloud9/change-runner
{
"script": [
"set -e",
"if [ \"$debug\" == true ]; then ",
"gfortran -std=f95 $file -o $file.o",
"chmod 755 \"$file.o\"",
"node $HOME/.c9/bin/c9gdbshim.js \"$file.o\" $args",
"else",
"gfortran -std=f95 $file -o $file.o",
"chmod 755 $file.o",
"$file.o $args",
"fi"
],
"info": "Running $file",
"debugger": "gdb",
"$debugDefaultState": false,
"env": {},
"selector": "^.*\\.(f90)$"
}

f:id:fortran66:20171209003831p:plain

今後は、ubuntu に gfortran-7 等をインストールしたうえで、これに対して Cloud9 を動かせるようにしたいです。(追記:一応出来ました。)

fortran66.hatenablog.com

最近読んだ本など

サキの思い出: 評伝と短篇

サキの思い出: 評伝と短篇

新刊。
第一部は、サキの偏屈な姉が書いた、マジキチな叔母たちの描写を含む回想。および友人による死亡録。
第二部は、偏屈な叔母たちが投影された作品を含む、伝記的な事実の反映を含む短編集。
マジキチによるマジキチの描写w

ヘルメティック・サークル―晩年のユングとヘッセ

ヘルメティック・サークル―晩年のユングとヘッセ

南米人がスイスに住んでた晩年のヘルマン・ヘッセとカール・G・ユングの家に押しかけて話を聞く本。
R・シュトラウスの4つの最後の歌のうち3つがヘッセの詩だが、合わせて死ぬ前の衰え感が楽しめる。

中国思想史 (岩波全書 73)

中国思想史 (岩波全書 73)

武内義雄支那思想史、年一回は読み返したい。今までは唐代仏教と宋学のところが面倒だったが、面白く読めるようになってきた。戦後版は参考文献が付いたのはいいが、鹽鉄論の旧字の塩とか活字が少し間違っている。また注釈の番号が抜けているところもある。支那を中国に改竄したのも許せない。

唯識思想入門 (レグルス文庫 66)

唯識思想入門 (レグルス文庫 66)

創価学会系の出版社なので買うのをためらったが、ままよと買った。近所の犬猫も信心を起こして動物革命。
大化の改新の年(西暦645年)支那では玄奘三蔵が天竺から唯識仏教を持ち帰っていたが、唯識は主観以外存在しない式の唯我論的マジキチで、五感の先に意識、末那識、阿頼耶識とさらなる知覚があることを唱えている。LSDをやると、始めは五感が狂い、次に時間や空間の感覚が狂い、さらに自我意識の感覚がおかしくなってゆくというが、奇妙に対応していて天竺の行者どもも中々トリップしまくりだと感心。しかし、途中から意味不明で斜め読み。

シンメトリーとモンスター 数学の美を求めて

シンメトリーとモンスター 数学の美を求めて

群論の本。昔買ったものが本棚の奥から出てきたので再読。何言ってるのか分からないが、前よりはちょっとだけ分かったw
すべての有限群は対称群の部分群なのだから、対称群さえ分かれば万事よいような気もするが、部分群の系統的なつくり方が分からないので、そうでもなく、色々見つけにくい隠れた部分群がいたようである。

メモ帳:AWS Amzon Web Service で Fortran

おっさんもすなる AWS なるものを、幼女もしてみむとてするなり。

やたらと amazon さんが無料で1年間やろうよ!と勧めてくるので、クリックしてみました。数年前から気になって、紹介スライドなどは見ていたのですが、全くわけわかめで手出しできませんでした。S〇ftBank 式に無料といって金をむしりとられかねないし。

今回、幼女蛇におじずで特攻したところ、Windows に remote desktop で接続するのはワンクリックで済みました。また Ubuntu に端末ソフトで接続して gfortran-7 を動かすのも何とか行きました。オンライン IDE の設定はうまくいきませんでしたw(Fortran が使えるのか分かりませんが) 統合環境をネット越しにブラウザで使いたいのですが・・・

Clound9 は adbocker が良くなかったのかもしれません。切ったらすんなりうまくゆきました。一応 gfortran もインストールでき、IDEスクリプトを設定することで、RUN ボタンで compile & go も行けました。

しかし、環境が amazon linux のために、よく分からず古い gfortran 4.x しか入れられませんでした。 既存のインスタンスへの接続は設定が面倒で、我慢強くファイルを読む必要があるようで幼女には難しい。

fortran66.hatenablog.com


後で、メモしておきたいと思います。

【乞食速報】Springer ケチになる!!

Springer クーポン SPRHOLIDAY17

例年 Black Friday セールで 9.99EUR だったのに、それも無く年末セールで 19.99EUR 。

1回限り使用可。ただし複数本可のはず。
www.springer.com

Guide to Fortran 2008 Programming

Guide to Fortran 2008 Programming

Introduction to Modern Fortran for the Earth System Sciences (Springerbriefs in Earth System Sciences)

Introduction to Modern Fortran for the Earth System Sciences (Springerbriefs in Earth System Sciences)

Numerical Algorithms with Fortran

Numerical Algorithms with Fortran

Introduction to Programming with Fortran: With Coverage of Fortran 90, 95, 2003, 2008 and 77

Introduction to Programming with Fortran: With Coverage of Fortran 90, 95, 2003, 2008 and 77

Introduction to Programming with FORTRAN

Introduction to Programming with FORTRAN

ACM SIGPLAN Fortran Forum12月号出る!

ACM SIGPLAN Fortran Forum12月号

有料記事です。
ACM SIGPLAN Fortran Forum

今号は記事二本、うち一本は実質連載のコンパイラ対応状況。1号分遅れの情報は Chivers のサイトで見られます。

今回のオリジナル記事は、Fortran コンパイラのチェック用オプションを使うと、MODULE のインターフェース部だけを生成出来るという機能を用いて、まずインターフェース部であるの mod ファイルだけを生成した後、実際のオブジェクトファイルを生成するとコンパイル時の相互依存性が無くなって、並列コンパイルできるようになり、全体としてのコンパイル速度が向上するという面白い記事でした。

Fortran2008 ではコンパイルのカスケードを防ぐために、sub_module という仕組みが導入されて、インターフェース部と実装部を分離して書くこともできるようになりましたが、それとも少し違うひとひねりで面白いアイデアだと思いました。

L. E. Busby
Pages: 4-11
doi>10.1145/3171572.3171573

  • Compiler Support for the Fortran 2003 and 2008 Standards Revision 22

Ian D. Chivers, Jane Sleightholme
Pages: 12-33
doi>10.1145/3171572.3171574

Fortran ハンドブック

Fortran ハンドブック

Fortran90/95プログラミング

Fortran90/95プログラミング

Guide to Fortran 2008 Programming

Guide to Fortran 2008 Programming

ザ・Fortran90/95 (NSライブラリ (12))

ザ・Fortran90/95 (NSライブラリ (12))