「Gctf」の版間の差分
(ページの作成:「* GPUで動作するCTF推定プログラムです。 * Gctf: real-time CTF determination and correction, Kai Zhang, 2016 == インストール == * https://www.mrc-lmb...」) |
(→インストール) |
||
行4: | 行4: | ||
== インストール == | == インストール == | ||
+ | 2019年5月17日、Ubuntu 16.04.6 LTS | ||
+ | |||
* https://www.mrc-lmb.cam.ac.uk/kzhang/ | * https://www.mrc-lmb.cam.ac.uk/kzhang/ | ||
− | ** | + | ** Gctfのビルド済みバイナリがダウンロードできる。 |
− | ** Gctf_v1.18はphase | + | ** Gctf_v1.18はphase plate用と書いてありますが普通の画像にも使える。 |
* 理由はよくわかりませんがソースコードがネット上に見当たりません。公開されていないかもしれません。 | * 理由はよくわかりませんがソースコードがネット上に見当たりません。公開されていないかもしれません。 | ||
行12: | 行14: | ||
− | Gctf_v1.18のリンクをクリックするとIndex of /kzhang/Gctf/Gctf_v1. | + | Gctf_v1.18のリンクをクリックするとIndex of /kzhang/Gctf/Gctf_v1.18_b2というタイトルのページに飛ぶ。そこにbin/とlib/というディレクトリへのリンクがあり、中身はそれぞれ各computing capability(sm)とCUDAバージョン(cu)用のビルド済みバイナリとなっている。 |
+ | |||
+ | |||
+ | 自分の使用しているGPUのcomputing capabilityはNVIDIAのページで確認できる([https://developer.nvidia.com/cuda-gpus https://developer.nvidia.com/cuda-gpus])。GeForceの場合、CUDA-Enabled Geforce and TITAN productsをクリックすると各GPUとcomputing capabilityの対応表が展開される。私の場合、GTX1080なので、Computing capabilityは6.1である。ファイル名に"sm61"と書いてあるGctfバイナリを選ぶ。 | ||
+ | |||
+ | |||
+ | また、私の環境でインストールしてあるCUDAは10.1だが、2019年5月17日現在、GctfバイナリはCUDA 8.0, 9.0, 9.1, 9.2についてしか公開されていない。 | ||
+ | |||
+ | |||
+ | 一応 CUDA 9.2対応のバイナリが動くか動作検証してみます。 | ||
+ | |||
+ | <b>インストール</b> | ||
+ | <pre> | ||
+ | $ mkdir Gctf; cd Gctf | ||
+ | $ wget https://www.mrc-lmb.cam.ac.uk/kzhang/Gctf/Gctf_v1.18_b2/bin/Gctf_v1.18_b2_sm61_cu9.2 | ||
+ | $ wget https://www.mrc-lmb.cam.ac.uk/kzhang/Gctf/Gctf_v1.18_b2/lib/libEMcore_sm61_cu9.2.so | ||
+ | $ chmod +x * | ||
+ | </pre> | ||
+ | |||
+ | <b>動作実験</b> | ||
+ | <pre> | ||
+ | $ ./Gctf_v1.18_b2_sm61_cu9.2 --help | ||
+ | |||
+ | ./Gctf_v1.18_b2_sm61_cu9.2: error while loading shared libraries: libcufft.so.9.2: cannot open shared object file: No such file or directory | ||
+ | </pre> | ||
+ | |||
+ | やはりCUDA9.2の動的ライブラリを探しに行き、それが見つからないのでエラーとなった。 | ||
+ | |||
+ | |||
+ | 複数のCUDAバージョンを1つの環境で共存させることは困難か、できない様である。 | ||
− | + | 私がすぐ思いつく対処策は以下2つ。 | |
+ | * CUDAインストールやり直し | ||
+ | ** すでにCUDA10.1にリンクしてビルドしたプログラムが大量にあるので、この方法はとりたくない | ||
+ | * NVIDIA Dockerを用い、CUDA9.2をインストールしたコンテナで作業する | ||
+ | ** これはこれで手間はかかりますがこの方法が一番綺麗かと | ||
+ | ここではNVIDIA Dockerを用いた方法で対処することにします。 | ||
+ | → [[DockerでRELION & Gctf]] | ||
== CUDAバージョンの問題 == | == CUDAバージョンの問題 == | ||
* 2019年5月17日現在、Kai Zhangにより公開されているGctf v1.18バイナリのCUDAバージョンは 8.0, 9.0, 9.1, 9.2に限られています。 | * 2019年5月17日現在、Kai Zhangにより公開されているGctf v1.18バイナリのCUDAバージョンは 8.0, 9.0, 9.1, 9.2に限られています。 | ||
* CUDA10.1など最新のCUDAをインストールしている環境では動作しないかもしれません。 | * CUDA10.1など最新のCUDAをインストールしている環境では動作しないかもしれません。 |
2019年5月17日 (金) 06:18時点における版
- GPUで動作するCTF推定プログラムです。
- Gctf: real-time CTF determination and correction, Kai Zhang, 2016
インストール
2019年5月17日、Ubuntu 16.04.6 LTS
- https://www.mrc-lmb.cam.ac.uk/kzhang/
- Gctfのビルド済みバイナリがダウンロードできる。
- Gctf_v1.18はphase plate用と書いてありますが普通の画像にも使える。
- 理由はよくわかりませんがソースコードがネット上に見当たりません。公開されていないかもしれません。
- ソースコード非公開のプログラムが嫌いな方はCTFFINDを使いましょう。
Gctf_v1.18のリンクをクリックするとIndex of /kzhang/Gctf/Gctf_v1.18_b2というタイトルのページに飛ぶ。そこにbin/とlib/というディレクトリへのリンクがあり、中身はそれぞれ各computing capability(sm)とCUDAバージョン(cu)用のビルド済みバイナリとなっている。
自分の使用しているGPUのcomputing capabilityはNVIDIAのページで確認できる(https://developer.nvidia.com/cuda-gpus)。GeForceの場合、CUDA-Enabled Geforce and TITAN productsをクリックすると各GPUとcomputing capabilityの対応表が展開される。私の場合、GTX1080なので、Computing capabilityは6.1である。ファイル名に"sm61"と書いてあるGctfバイナリを選ぶ。
また、私の環境でインストールしてあるCUDAは10.1だが、2019年5月17日現在、GctfバイナリはCUDA 8.0, 9.0, 9.1, 9.2についてしか公開されていない。
一応 CUDA 9.2対応のバイナリが動くか動作検証してみます。
インストール
$ mkdir Gctf; cd Gctf $ wget https://www.mrc-lmb.cam.ac.uk/kzhang/Gctf/Gctf_v1.18_b2/bin/Gctf_v1.18_b2_sm61_cu9.2 $ wget https://www.mrc-lmb.cam.ac.uk/kzhang/Gctf/Gctf_v1.18_b2/lib/libEMcore_sm61_cu9.2.so $ chmod +x *
動作実験
$ ./Gctf_v1.18_b2_sm61_cu9.2 --help ./Gctf_v1.18_b2_sm61_cu9.2: error while loading shared libraries: libcufft.so.9.2: cannot open shared object file: No such file or directory
やはりCUDA9.2の動的ライブラリを探しに行き、それが見つからないのでエラーとなった。
複数のCUDAバージョンを1つの環境で共存させることは困難か、できない様である。
私がすぐ思いつく対処策は以下2つ。
- CUDAインストールやり直し
- すでにCUDA10.1にリンクしてビルドしたプログラムが大量にあるので、この方法はとりたくない
- NVIDIA Dockerを用い、CUDA9.2をインストールしたコンテナで作業する
- これはこれで手間はかかりますがこの方法が一番綺麗かと
ここではNVIDIA Dockerを用いた方法で対処することにします。
→ DockerでRELION & Gctf
CUDAバージョンの問題
- 2019年5月17日現在、Kai Zhangにより公開されているGctf v1.18バイナリのCUDAバージョンは 8.0, 9.0, 9.1, 9.2に限られています。
- CUDA10.1など最新のCUDAをインストールしている環境では動作しないかもしれません。