how to get full cpu utilization from MXNET in mac os x ? - multithreading

We are playing mxnet for a while. still couldnt get full cpu utilization as we have in tensorflow in default.
we have:
python 3.6
mxnet 1.2.1 pos1
mxnet-mkl 1.2.1 pos1
installed via pip (in Pycharm).
mac os x Sierra 10.12.6
we have only 2 core of the cpu used out of the 8 cores.
Thanks

MXNET has a number of environment variables that determine the thread count. Try increasing MXNET_CPU_WORKER_NTHREADS. (The default value is 1.)
For more information:
MXNET: Environment variables
MXNET: Some tips for improving MXNET performance

Related

Issue Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

I met this issue when I running my python file in linux.
I searched some answers in google like use the code below:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
The system can be running but without ant out information. Actually I found the 2 measn ignore all information while 1 means give all information like error or normal output.
because I need to use GPU so my original code is:
os.environ["CUDA_VISIBLE_DEVICES"]="0"
But if I keep the code my output would be an error information like the title.
How can I do? and of course I need use the GPU and the codes can be running in colab which indicated that my code has no problem.
some guys even said uninstall tensorboard...that must a wrong way.
Or should I download tensorflow gpu not tensorflow in m,y virtual enviroment? when I USE THE tensorflow gpu version, the error is core dumped.
If when forcing the os.environ["CUDA_VISIBLE_DEVICES"]="0" doesn't work, then this means that your tensorflow gpu installation did not succeed. You must ensure you have the right combination of TensorFlow + CUDA + CUDNN. That is why you get the error, because due to improper versions/installation TF falls back on CPU.

Tensorflow: switch between CPU and GPU [Windows 10]

How can I quickly switch between running tensorflow code with my CPU and my GPU?
My setup:
OS = Windows 10
Python = 3.5
Tensorflow-gpu = 1.0.0
CUDA = 8.0.61
cuDNN = 5.1
I saw a post suggesting something about setting CUDA_VISIBLE_DEVICES=0 but I don't have this variable in my environment (not sure if it's because I'm running windows or what) but if I do set it using something like os.environ it doesn't effect how tensorflow runs code.
If you set the environment variable CUDA_VISIBLE_DEVICES=-1 you will use the CPU only. If you don't set that environment variable you will allocate memory to all GPUs but by default only use GPU 0. You can also set it to the specific GPU you want to use. CUDA_VISIBLE_DEVICES=0 will only use GPU 0.
This environment variable is created by the user, it won't exist until you create it. You need to set the variable before tensorflow is imported (usually that is before you start your script).

Tensorflow instalation on Windows 10 Intel Core i3 Processor with nVIDIA GEFORCE 920M GPU

I am trying to install using the instructions here
I have a compatible nVIDIA GEFORCE 920M GPU and the CRUD DNN toolkit and the driver both installed on the System.
when I do the step on the python program to test tensorflow installation on GPU:
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
The output I get is:
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
2017-05-28 09:38:01.349304: W c:\tf_jenkins\home\workspace\release-
win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45]
The TensorFlow library wasn't compiled to use SSE instructions, but these
are available on your machine and could speed up CPU computations.
2017-05-28 09:38:01.349459: W c:\tf_jenkins\home\workspace\release-
win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45]
The TensorFlow library wasn't compiled to use SSE2 instructions, but these
are available on your machine and could speed up CPU computations.
2017-05-28 09:38:01.349583: W c:\tf_jenkins\home\workspace\release-
win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45]
The TensorFlow library wasn't compiled to use SSE3 instructions, but these
are available on your machine and could speed up CPU computations.
2017-05-28 09:38:01.349705: W c:\tf_jenkins\home\workspace\release-
win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45]
The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these
are available on your machine and could speed up CPU computations.
2017-05-28 09:38:01.354312: I c:\tf_jenkins\home\workspace\release-
win\device\cpu\os\windows\tensorflow\core\common_runtime\direct_session.cc:257] Device mapping:
My pin pointed questions to you are:
Why is the nVIDIA GPU not getting detected when all librariries and toolkits are installed without errors?
Why is it the output saying "TensorFlow library wasn't compiled to use SSE4.1 instructions, but these
are available on your machine and could speed up CPU computations" and how do i rectify this?
Please give a step by step solution. None other.
Thanks in advance for your answers.
Okay my pinpointed answers:
Why is the nVIDIA GPU not getting detected when all librariries and toolkits are installed without errors?
Ans: Go to NVidia GEFORCE Application and update the driver then the libraries will start getting detected and the errors will go away.
Why is it the output saying "TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations" and how do i rectify this?
Ans: Once you have done the above update the TensorFlow Library will stop giving the SSE errors. This will resolve your issue.
Please give a step by step solution. None other.
Ans: Given above should work it has worked for me.

Theano falls back to CPU

I am training a model in Theano 0.9 and Lasagne 0.1 and want to run it on GPU. I've set THEANO_FLAGS as follows:
THEANO_FLAGS=device=gpu0,force_device=True,floatX=float64
Theano prints it is using GPU
Using gpu device 0: GeForce GTX 980 Ti (CNMeM is disabled, cuDNN 4007)
However, I noticed it's not, profiling shows that it's using CorrMM operation which is according to the docs
CorrMM This is a CPU-only 2d correlation implementation taken from caffe’s cpp implementation and also used by Torch.
I have CUDA Toolkit 7.5 installed, Tensorflow works perfectly on GPU.
For some reason Theano is falling back to CPU, it is supposed to cause an error due to force_device flag but it's not.
I am not sure where the problem is as I'm new to Theano, I appreciate your help.
Issue is floatX=float64.
Use floatX=float32. GPU supports 32 bit only yet.

Theano Installation On windows 64

Im new in Python and Theano library. I want to install Theano on windows 7-64. I have a display adapters :
Intel(R) HD Graphics 3000 which is not compatible with NVIDA.
My QUESTIONS:
1-Is obligatory to install CUDA to i can use Theano?
2- Even if i have an Ubuntu opearting system, with the same display adapters, CUDA still mandatory?
Any help!
Thanks
You do not need CUDA to run Theano.
Theano can run on either CPU or GPU. If you want to run on GPU you must (currently) use CUDA which means you must be using a NVIDIA display adapter. Without CUDA/NVIDIA you must run on CPU.
There is no disadvantage to running on CPU other than speed -- Theano can be much faster on GPU but everything that runs on a GPU will also run on a CPU as long as it has been coded generically (the default and standard method for Theano code).

Resources