External GPU for Mac - tensorflow

I'd like to buy an eGPU for my MaxBook Pro to use for simple deep learning tasks. My setup is:
MacBook Pro (15-inch, 2017)
Graphics: Radeon Pro 555 2 GB
Intel HD Graphics 630 1536 MB
Version: Mojave 10.14.5
I understand for Deep Learning (i.e. use of tensorflow-gpu) this is not currently supported for my Mac. Due to previous disputes between Nvidia and Apple I assume that Nvidia's support is reluctant to offer any kind of hacky solution with their graphic cards. On saying that, I was recommended to purchase the NVIDIA TITAN RTX or NVIDIA Quadro® GV100, but they're quite pricey at 1000s of euros/dollars a piece. At first, I just want something to play around with.
I watched this and this to see how to configure the Mac with an eGPU that is CUDA supported.
What Nvidia eGPU would you recommend for simple i.e. not mega large data sets for DL processing? There seems to be so many models to choose from that it's not clear what would satisfy my needs. Would a GIGABYTE GeForce® GTX 1050 Ti OC 4GB suffice?

I decided to ditch using my Mac for using an external Nvidia graphic card. There are apparently some hacky solutions but I figured - after reading a many forum posts and online articles - the best way to proceed is just to buy a new (gaming) Desktop PC. One reoccurring theme I did see come up was that in order to have an effective Deep Learning workstation, one should consider at least 16 GB Ram (32 or more is ideal, Intel i7 or better, and 0.5 TB of SDD).

Related

Weird graphical glitch after driver "crash" for AMD Radeon 5700 XT

first time here!
I've stumbled across a very weird visual glitch, consisting of big white "pixels" of white shown in almost perfect repetitive patterns, occurring after my graphics drivers crashed again. A friend of mine considered the way its displayed as too perfect for how it is presented. Photo of Glitch
My GPU has been acting this way for a long while already (I bought it new, no mining or extreme stress prior), initially on Windows 10 where I tried many steps from driver updates and clean re-installs to re-installing whole system.
Now I use Arch Linux on my friends recommendation but the error still occurs, although as of yet with lesser frequency. Just this time it had a distinct look to it, maybe because I haven't been booted to a BSoD?
The question I have now is if this is a case of GPU being broken, or if it is maybe some other hardware component acting up.
Might it be vbios issue? Vram? Maybe mobo? PCI slot was cleaned up by me on many times, temperatures don't seem to be an issue.
My PC specs:
CPU: AMD Ryzen 7 3700X
GPU: AMD Radeon 5700 XT 50th Aniv. Edition
RAM: 2x16GB DDR4
MB: MSI B450 Gaming Plus
PSU: Corsair VS650 650 Watt
Thank you in advance for any assistance!

When I running TensorFlow-GPU, it only uses 'Compute_0',Why?

'Compute_1' isn't working
I want to make full use of my GTX1060 6G, how can I solve this problem?
After reading this post from the MS DirectX blog and seeing that you have what seems to be a single GTX 1060 GPU installed, my best guess is "compute_0" refers to usage of the primary or first GPU card installed. As for "compute_1", it could display usage if you had a GPU with two "computing" or "rendering" units, or rather a second gpu installed that are linked to each other such as with Nvidia SLI and AMD Crossfire.

Vulkan: What could be causing very poor fps on an AMD card, but OK fps on an NVIDIA card

I am part of a team working on a 3D game engine which has a vulkan rendering system. So far we have been testing on NVIDIA graphics cards, like the GTX 970 and have had decent performance.
But recently we tested a scene on an AMD card and got really low fps:
For example, rendering a sponza scene:
AMD R9 Fury: 5 fps
NVIDIA GeForce GTX 970: 64 fps
The NVIDIA fps is not great, but much better than on AMD.
Do you guys have any idea what could be causing this difference in fps on the AMD card?
Or do you know how I could go about isolating what is causing the low fps on the AMD card?
Thanks in advance for your help.
AMD drivers have issues when accessing numerous vkDeviceMemory values per submission. This is particularly a problem on Windows 7/8, which do not have WDDM 2.0. In fact, if you use too many (~1000) on Window 7, it is easy to reproduce a BSOD. Nvidia drivers seem to be doing something behind the scenes, and aren't subject to these limitations. However, as a result, their driver implementation may be hiding some opportunity for optimization from the user.
Regardless, the recommendation is to pool your memory allocations, such that VkImage and VkBuffers are allocated from the same segmented vkDeviceMemory. There is a open source library, called Vulkan Memory Allocater which attempts to aid in implementing this behavior (and it is suspiciously authored by AMD!).

SteamVR performance test says my GeForce GTX 980 Ti is not ready for VR

I am thinking about getting a Vive and I wanted to check if my PC can handle it. My motherboard and processor are pretty old (Asus M4A79XTD EVO ATX AM3 and AMD Phenom II X4 965 3.4GHz respectively) but I recently upgraded to a GeForce GTX 980 Ti graphics card.
When I ran the Steam VR test program, I was expecting it to say that my graphics card was OK but that my CPU was a bit too slow. Actually, it's the other way round. Screenshot of steamVR.
Your system isn't capable of rendering low quality VR and it appears to be >mostly bound by its GPU.
We recommend upgrading your Graphics Card
I've made sure I have updated my NVidia drivers.
When I look in GeForce Experience, I get the picture I was expecting to see:
GeForce Experience screenshot. It thinks my graphics card is OK but my processor doesn't meet the minimum spec.
But, since the Steam VR test is actually rendering stuff, whereas the GeForce experience is just going by the hardware I've got, it makes we think that my GPU should be capable but something about my setup is throttling it.
I'd love to know what the problem might be. Perhaps because I'm using an NVidia card in an AMD chipset MB?
Well, I never found out exactly what the cause was but the problem is now resolved. I bought a new Motherboard, processor and RAM but kept the graphics card. After getting everything booted up, the system is reporting "high-quality VR" for both CPU and graphics card.
So, for whatever reason, it does seem like the MB/processor was throttling the graphics card in some way.
Steam VR only tests if your rig is able to keep steady frames over 75fps. I can run VR on my laptop and it's only got a GTX 960m. My CPU is a little more up to date. I7 6700k 16gb of ddr4. I also have a buddy able to run VR on a 780ti.

What PC hardware is needed to try out GPU programming?

I am interested to try out GPU programming. One thing not clear to me is, what hardware do I need? Is it right any PC with graphics card is good? I have very little knowledge of GPU programming, so the starting learning curve is best not steep. If I have to make a lot of hacks just in order to run some tutorial because my hardware is not good enough, I'd rather to buy a new hardware.
I have a retired PC (~10 year old) installed with Ubuntu Linux, I am not sure what graphics card it has, must be some old one.
I am also planning to buy a new sub-$500 desktop which to my casual research normally has AMD Radeon 7x or Nvidia GT 6x graphics card. I assume any new PC is good enough for the programming learning.
Anyway any suggestion is appreciated.
If you want to use CUDA, you'll need a GPU from NVidia, and their site explains the compute capabilities of their different products.
If you want to learn OpenCL, you can start right now with an OpenCL implementation that has a CPU back-end. The basics of writing OpenCL code targeting CPUs or GPUs is the same, and they differ mainly in performance tuning.
For GPU programming, any AMD or NVidia GPU made in the past several years will have some degree of OpenCL support, though there have been some new features introduced with newer generations that can't be easily emulated for older generations.
Intel's integrated GPUs in Ivy Bridge and later support OpenCL, but Intel only provides a GPU-capable OpenCL implementation for Windows, not Linux.
Also be aware that there is a huge difference between a mid-range and high-end GPU in terms of compute capabilities, especially where double-precision arithmetic is supported. Some low-end GPUs don't support double-precision at all, and mid-range GPUs often perform double-precision arithmetic 24 times slower than single-precision. When you want to do a lot of double-precision calculations, it's absolutely worth it to get a compute-oriented GPU (Radeon 7900 series or GeForce Titan and up).
If you want a low-end system with a non-trivial GPU power, you best bet at the moment is probably to get a system built around an AMD APU.