-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failing in runing "00-classification.ipynb" example GPU mode with ARM Mali GPU #118
Comments
@XiaoMaol First, let me explain what the
Now, what exactly is "unified memory subsystem" is open to interpretation. When people come from desktop and server background, they assumed that memory is unified in the OpenCL 2.0 sense: the host and the device can share the same pointers; therefore, no copy between the host address space and the device address space is required. As a consequence, you can see code like this:
(see syncedmem.cpp) Unfortunately, mobile GPU vendors started returning Now, the output you posted seems to suggest that disabling this property leads to an exception:
I believe, however, this is just an unfortunate intermixing of log info (which gets printed even when everything goes well) with the exception message. |
You may now ask, why do you have this Jupyter error in the first place? The honest answer is that I have no idea :). But if I were to guess, the device query seemed to be somewhat different for OpenCL. For example, for program:caffe, the
while the
So there may well be some difference in how a device gets selected too. Maybe @naibaf7 has a better idea? |
Without having read the whole context, it is just important to use |
From @XiaoMaol's initial comment, the order of these calls is reversed: caffe.set_device(0) # if we have multiple GPUs, pick the first one |
Sounds a lot like a faulty driver. Can you try an absolute minimal network with just one fully connected layer to differentiate if Caffe works on that driver at all or not? |
Hey @naibaf7, @psyhtest : and the memory of the device is The platform is
I am just wondering, Is 2GB of the memory too small to properly Caffe? |
@XiaoMaol On Odroid and similar system-on-a-chip platform, the total system memory (e.g. 2 GB) is shared between all the devices. The GPU doesn't have any dedicated memory like on desktop or server cards. When you run out of this memory, you cannot use the GPU either. |
Hey @psyhtest and @gfursin:
I really appreciate your help thus far. Sorry that I run into more problems again.
I installed my caffe as suggested by you with the command
I have some problems run the example "00-classification.ipynb," provided by Caffe in the directory
I run by the command
I can perfectly import caffe, and make the cpu load the weights, deploy, and run.
But I cannot make the gpu run. the program died in the line
it produced error message
when I opened the debugger, the error message changed into
Can you guys reproduce the error? Have you guy successfully run the Caffe Example on the Mali GPU ?
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
P.S.
Suddenly, it reminded me the command for the installation of ck-caffe in #114 sugggested by @psyhtest :
Espeically
what does flag do? why does it cause the kernel to die?
Furthermore, I have tried to install by command
without the flag
With this option, I can import caffe, but when I am trying to load the weights, the program's kernel died with after line
with error
the error in command line is
It died while attemping to load data for weights.
The text was updated successfully, but these errors were encountered: