Hi,
The eGPU doesn't seems to be used on my MacBook Pro using an Image Classification model.
During the training of an Object Detection model the GPU is used correctly.
I believe this should work. @FedeGens are you sure the GPU is not getting used at all while creating an image classifier model?
If you don't have many images you may not even notice the GPU getting used while creating an image classifier model. An image classifier gets created in three stages, see the "tranfer learning" section of this doc. Only the second stage will use the GPU. Creating an object detection model will utilize the GPU much more.
Thank you for your reply.
The problem is that only the internal GPU is used for the work, when I expected to see the external GPU working on it.

As you can see from the image, the AMD Radeon Pro 560 (the internal one) is doing all the work, when the RX Vega 64 (the external) is sleeping.
That's the behaviour while creating an image classification model.

This is what happens when I try to create an object detection model.
I'd like to have the same behaviour with image classification models.
Is there a way to decide which GPU must be used?
I already tried with:
turicreate.config.set_num_gpus(-1)
but there's only 1 GPU working at time.
Thanks.
We've found that this issue relates to another team within Apple - we've reported it to them through our internal tracking system, and are closing the issue here. Thanks for your patience.
Thanks.
How can I know when this will be fixed?
Re-opening it. We will close this when it lands in CoreML.
Thanks again for your support.
Hi,
How did you get it to work with the internal AMD Pro 560? In my case the Turicreate select the Intel UHD graphic when I train a image classification model with 30 000 pictures. I have a MacBook Pro 15" 2018, Mojave beta 10 and Xcode-beta 6. I use Jupyter to run my python code. I have tried to use a eGPU also. Same results as you but internal Intel GPU is running. If I use PlaidML as backend to Keras or Apples Create ML it will use the internal AMD card or eGPU without any problem.
@aicts Your issue seems to be a different issue from the one in this post. We seem to be picking the wrong GPU card. I've made a separate issue for this #1063. We should be picking the AMD Pro 560 card.
I am having the exact same issue as FedeGens. In image classification, Turi will prefer my 2018 13" Pro's internal Iris graphics over the RX 580 eGPU.
I'm not very well versed on GitHub Issue tracking etiquette, so I apologize if this comment is redundant. I just wanted to make it clear that the issue was not isolated.
Yes, for image classification specifically, Turi Create relies on the Core ML framework in macOS to perform a neural-net-based feature extraction. Core ML doesn't support eGPU in this case. We'll update/close this issue when the situation is resolved.
MacOS 10.15 Catalina now has API allowing us to specify the eGPU here:
https://developer.apple.com/documentation/coreml/mlmodelconfiguration/3222915-preferredmetaldevice?language=objc
Looking for the same function. Still cant use eGPU for image classification training.
Here is a demo repo to recreate the eGPU preference: https://github.com/noahgift/amd-tensorflow-osx. It does appear that while yes, an eGPU can be used it is preferred. So if you have a higher-end Mac Pro, and an eGPU also plugged in, you will need to unplug it to get it to prefer the better GPU.
Most helpful comment
Re-opening it. We will close this when it lands in CoreML.