Is my graphics card suitable to run deep learning with MATLAB? - matlab

I would like to run deep learning functionality with MATLAB, and my graphics card needs to have compute capability 3.0 or higher. How do I find out whether it is supported? I checked my PC, and it says Intel HD graphics.
Does my PC support this functionality?

If you're running MATLAB, you can type the command gpuDevice to return information about your graphics card, and it will tell you whether it's supported by MATLAB (i.e. compute capability 3.0 or higher). To run this you'll need to make sure you have a CUDA driver for your card installed (but if you run the command and you don't have the driver installed, MATLAB will give you an error message pointing you to the website where you can install the driver).
If it's a supported card, it should be capable of running MATLAB's deep learning functionality. Bear in mind that this functionality requires not only MATLAB, but also Parallel Computing Toolbox and Neural Network Toolbox as well.

Related

Change parameters during robot learning using simulators (Webots, Gazebo, etc)

I am searching a simulator for my robot learning research.
In the learning process, I need to change parameters of both environment (friction coefficients, terrain height in the world) and robot itself (mass, inertia).
How can simulators like Gazebo and Webots realize it?
(another problem: bisides physics engine, I also need visual reality for computer-vision-aided algorithms.
Is there any simulator that could provide both functions? )
Webots allows you from a supervisor program to easily change any parameter of a simulation (including friction coefficients) while it is running. Moreover it has a VR interface. I don't know about Gazebo.

Is there any alternative to NVIDIA graphics card for deep learning with GPU computing?

Now I am working on a deep learning problem. I am trying to use Convolutional neural network in matlab. But the documentation says, we need NVIDIA graphics card for gpu computing.
My laptop has Intel HD graphics 2600 card for graphics processing. So can someone advise any other options we have in this case to run the deep learning algorithms and convnet algorithms.
Can i run those algorithms without GPU computing and what will be the effect(in time difference).
You are not going to be able to achieve much with an integrated Intel graphics card. First, most deep learning frameworks use CUDA to implement GPU computations and CUDA is supported only by the NVidia GPUs. There were several attempts to extend the standard deep learning frameworks to OpenCL, notably Theano has an incomplete OpenCL backend and Caffe has been ported to OpenCL by the AMD research lab. However, these are either incomplete at this point or not as actively maintained.
The other issue is performance. Depending on your application, you might require a much better GPU than what your laptop can provide. It is not uncommon to use multi-GPU machines equipped with NVidia Titans to train networks for days or even weeks.
My recommendation is to either buy a dedicated machine for deep learning computations (a single GPU machine with the just released NVidia GTX 1080 can be purchased for the price of a standard laptop) or rent GPU instances on Amazon EC2.
You can use Googles Tensor Processing Units with Google Colab where you can get a GPU for "free" they have a pretty cool cloud GPU technology
You can stat working with your google accounts
with a Jupiter notebook: https://colab.research.google.com/notebooks/intro.ipynb
Kaggle (Google Owned Data Science competition site) also has this option to create Jupiter notebooks + GPU, but only in limited cases:
notebooks: https://www.kaggle.com/kernels
Documentation for it: https://www.kaggle.com/docs/notebooks

How can I use matlab code in C# to work in windows phone?

I'm hopping to run some signal processing algorithm in windows phone app. So I need to combine matlab m files with C# gui.
You have two options to integrate MATLAB code into a Windows phone app.
Deploy your code to a web service on a remote server with MATLAB Builder NE, and have your C# app call that.
Use MATLAB Coder to convert your algorithm to C, and integrate that C code directly into your C# app. You would need to make sure that your algorithm falls into the subset of the MATLAB language supported by MATLAB Coder, but if it is primarily a signal processing algorithm it is likely that it will.
I'm not familiar with a specific example that I can point you to of a Windows phone app, but I know that MathWorks have examples of how to apply the second option to generate C code that is integrated into an Objective C application on iPhone.
Ignore the possibility of deploying your code with MATLAB Compiler and integrating the result into your C# app. The executables/libraries created by MATLAB Compiler depend on MATLAB Compiler Runtime (MCR), which has a much larger footprint than is suitable for a mobile app.
You can not run matlab code in windows phone. For windows phone you must write code in c# ( silverlight, xna) or native c++.
You wont have any runtime environment for your Matlab code in windows phone.
Hack: there are .net bindings for Matlab. You can try them.

OS basic graphic driver

I was told that GPU vendors make actual DirectX/OpenGL API implementation in their driver. However,
Windows use DirectX to draw itself (OpenGL in Linux case), but OS can draw itself even when GPU driver
is not installed. So, does Windows contain some base DirectX implementation that works on all GPUs?
No. Without GPU drivers, windows will use an API standard called VESA that all modern GPUs implement that allow standard non-accelerated drawing.

Newbie: Basic Communication using Simulink and USRP2 devices

I would like to start a semester project related to Matlab Simulink and USRP devices. I am new in this field and studying regularly about it...
The first step to setup the devices is completed and now I would like to check if both device can communicate properly. For this Reason can any one suggest a simple Communication Module...
anything would be OK to start with. e.g sending text, Image, Voice, Video etc etc...
Regards
I suggest you take a look at the communications toolbox in matlab:
USRPĀ® Support Package from Communications System Toolbox
There seem to be some code snippets for simulink available as well.
BR
Magnus