Diary/2018-4-8
NVIDIA DockerでTensorFlow
NvidiaのDockerイメージ nvidia/cuda:9.1-cudnn7-devel-ubuntu16.04で
TensorFlowをビルドしようとしたら若干手間どってしまったのでメモ
(0) 準備(ここは問題ない)
apt update && apt upgrade -y apt install git python python-dev python3 python3-dev python3-pip -y apt install curl openjdk-8-jdk sudo vim -y pip3 install --upgrade pip pip3 install tensorflow-gpu pip3 remove tensorflow-gpu
で必要なものをいれて,
https://docs.bazel.build/versions/master/install-ubuntu.html
に従ってBazelをインストール.
で,https://www.tensorflow.org/versions/master/install/install_sources に従って
ビルド...すると,libcuda.so.1がない,とかいわれた.
みてみると,/usr/local/cuda/lib64/stubs以下に
いくらかのライブラリファイルが格納されているので,/etc/ld.so.conf/nvidia.confに
/usr/local/cuda/lib64 /usr/local/cuda/lib64/stubs
を追加して,ldconfigを実行.再び,
./configure bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
とすると,とりあえずビルドできたので,よかった.
RISC-Vのベクの命令
RISC V Vector Extension Proposalを視聴してのメモ.
- 32bit*8なベクトルレジスタを32本もつ(...の?)
- VLで,演算対象のレジスタを選択できる
- SIMDじゃないので,利用可能な演算器を再利用しながらぐるぐるまわす
- 全部を1クロックでできる = SIMD (08:20あたり)
- maskでifもベクトル演算で効率良く
- ベクトルレジスタの対応するスロットのLSBでマスク,など(12:10あたり)
- ストア/ロードで工夫
- ex. vldsで,メモリからストライド指定してベクトルレジスタにデータをストアできる(14:20あたり)