内容
Google ColabolatoryのPro版は今まではアメリカとカナダでしか使えませんでしたが、2021年3月26日にブラジル、フランス、ドイツ、インド、日本、タイ、イギリスで正式サービス開始しました!
さらに!いつの間にかterminalが使えるように!!
今回はとりあえず使ってみた感想と現状でのセットアップを紹介していきます〜。
感想
- 良いところ
- terminalが使える
- vimもzshもtmuxも普通に使える
- スペックの高いGPUが優先的に割り当てられる
- ハイメモリVMが使える
- 残念なところ
- 操作にタイムラグが生じる
- 毎度環境構築するのが面倒
-
何故かスレッド並列化できない(自分にミスがあるのかも)ハイメモリVMでなければできました!
登録
登録はめっちゃ簡単!使いたいgoogleアカウントでログインしてからColab Pro - Google Colabにアクセスして情報を入れるだけ!
Terminalの雰囲気
なんとterminalが使えるという話でした。今までも!
や%%bash
で出来てはいたものの、なんか面倒だし.py
動かすのも面倒だしvimは使えないし。それがかなり解決されました。
zshもapt
でinstallできましたし、.zshrc
をいじることで下記のようにカスタマイズもできましたよ!!(感激)
さらにvimのパッケージも使えました。vim使いとしては願ったりかなったり...。
今後の環境構築の見通し
とは言え、毎度カスタマイズしたりinstallしたりするのは面倒なもの。ということで、最善策ではないでしょうが、google driveにsetup.sh
なるshell scriptを作成し、毎度やる作業(install関係であればapt install xx
やファイル作成であればcat <<EOF > xx.ext
)を全て書き込んで、使う時にgoogle driveをマウントしてsh setup.sh
で環境構築することにしました。現状それで上手く行っています!
[追加]
現在はdotfilesというrepoでgit管理する体制に移行したので、colabでもgit cloneしてsymbolを張った方が良いですね。そちらも別記事にて追々書いていきたいと思います。
スペック
$N = 1$ですが。
- 通常のCPU
- memory: 13.7 GB
- Core数: 4
- ハイメモリVM
- memory: 27.4 GB
- GPU
- 種類: Tesla P100-PCIE
- memory: 16 GB
通常盤Colabでは同じタイプで複数セッションができなかったと思いますが、Colab Proではできました。Colab Proを2ヶ月ほど使ってのメモ(良い点 / イマイチな点)によれば、Colab ProでもGPUを使いすぎると制限かかるみたいなので、あまりにも並列して使おうとしては失敗しそうですね。とはいえ、研究ならば仮実験として、個人であれば簡単な実験やお遊びとしてはかなり使えると思います。
tmuxが使えたのは驚きでした。ですが、1つのセッションでtmuxを使い2つのプログラム回すと、コア数が少なくメモリを食い合うためか1つだけプログラムを回した時より倍近くかかりました。並列させるなら複数セッションで回すべきかもしれません(その場合は速度は落ちませんでした)。コア数がもっと多かったら並列して動かせて嬉しいんだけどなぁ...(欲張るな笑)。
ちなみに、CPUでは5つ、GPUでは3つのセッションを立ち上げることができました。それ以上では、アクティブなセッションが多すぎますと怒られてしまいました、、、
謎
- マルチスレッドが落ちる
- ローカルPCでは複数スレッドで動いていたシミュレーションが、Colab Proでは動きませんでした。Errorは出ず、途中から反応がない感じです。スレッドを1つにすると正常に動くので、スレッドの並列化あたりは何かトラップがありそうです。解決方法ご存知の方はご教授頂けますと幸いです。
- [2021/05/01 追記]
複数スレッドできました。どうやら、ハイメモリに設定すると理由はよく分かりませんが失敗するようです。あれこれ調べてみると、multiprocessing.queue()
のget()
で失敗していました。それ以上のことはよく分かりかねますが。スレッド並列化する場合で特にメモリに困っていない場合は、ハイメモリVMは使わない方が吉かもしれません。