Different machines have different hardware specifications but most likely the commodity servers have a high chance to equip with powerful multi-core Intel CPU which can go down to the pathway of compiled build against Intel MKL library, e.g. a boost to the deep learning performance via CPU.
CentOS 6.9 comes with older version of GCC compiler which is not helpful in compiling recent version of Tensorflow. So, first thing to do is installing newer version of GCC compiler:
$ yum install "http://ftp.scientificlinux.org/linux/scientific/6x/external_products/softwarecollections/yum-conf-softwarecollections-2.0-1.el6.noarch.rpm" $ yum install devtoolset-6
Here's how Tensorflow CPU version is compiled on CentOS 6.9 platform:
Assuming we are working in CONDA environment:
$ conda activate $CONDA_ENVIRNMENT_NAME $ scl enable devtoolset-6 bash $ cd tensorflow $ bazel build --linkopt=-lrt --config=mkl --copt="-DEIGEN_USE_VML" -c opt //tensorflow/tools/pip_package:build_pip_package $ bazel-bin/tensorflow/tools/pip_package/build_pip_package ../tensorflow_pkg $ pip install --upgrade --user ../tensorflow_pkg/<wheel_name.whl>
Funny thing is that Intel has similar instruction which actually recommend installing Tensorflow via CONDA command:
$ conda install tensorflow-mkl
They claimed that warning message like:
Warning: “The TensorFlow library was not compiled to use **** instructions, but these are available on your machine and could speed up CPU computations.”is actually not harmful at all. As we are installing things along with MKL-DNN library. This warning can be ignored since Intel MKL-DNN library with which the TensorFlow is compiled utilizes the latest Instruction sets available in your processor to perform compute-intensive operations.
It's up to you to trying either easy or hard way to set things up. The performance may not vary too much after all.
No comments:
Post a Comment