トップ 一覧 Farm 検索 ヘルプ RSS ログイン

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|https://www.youtube.com/watch?v=GzZ-8bHsD5s]を視聴してのメモ.
* 32bit*8なベクトルレジスタを32本もつ(...の?)
* VLで,演算対象のレジスタを選択できる
* SIMDじゃないので,利用可能な演算器を再利用しながらぐるぐるまわす
** 全部を1クロックでできる = SIMD (08:20あたり)
* maskでifもベクトル演算で効率良く
** ベクトルレジスタの対応するスロットのLSBでマスク,など(12:10あたり)
* ストア/ロードで工夫
** ex. vldsで,メモリからストライド指定してベクトルレジスタにデータをストアできる(14:20あたり)