6 ms·
AMD dropped the ball by not dedicating the sort of resources that nvidia has on the deep learning space (and playing the long, but risky move of throwing all in
by endorphone 8y ago
AMD dropped the ball by not dedicating the sort of resources that nvidia has on the deep learning space (and playing the long, but risky move of throwing all in with ROCm). Similarly, Apple dropped the ball by being so wed to AMD.
Coincidentally I was just digging through the Tensorflow code to find where it delegates to CUDA -- an enormous task given that it is a huge volume of dependencies many layers deep -- because ultimately most neural nets entail a significant amount of simple math. It seems, and I say this in the nonsensical, overly confident way that we do when we look on from the outside, that it should be trivial making it work with OpenCL or even just a branch for AMD.
- dragontamer 8y agoROCm, or more specifically HCC, is comparable to CUDA: AMD needs to develop it more before anything else. Its the fundamental structure to GPU-coding. AMD can't even write a comparable library unless it is built on top of ROCm / HCC. Like, how would you even start to implement Tensorflow 2.0.0 for AMD Graphics cards otherwise? OpenCL was theoretically an option. But the old AMDGPU-pro driver had the OpenCL compiler as part of the driver stack. Which means OpenCL Compiler issues would appear and disappear as you updated your graphics card. Uhhhh... not good for deployment to say the least. Lots of OpenCL code with "This causes the compiler to enter an infinite loop on AMD Driver 12.5.whatever". There are serious issues about OpenCL's fundamental design. You really shouldn't have a full OpenCL compiler hidden inside of your device drivers. Its a nightmare to test and deploy, especially in a world of changing device drivers. -------- ROCm is a proper compiler stack and a proper development environment. If anything, AMD's mistake was taking so long before ROCm became usable. Even today, there are some issues (it doesn't work with Blender 2.79 OpenCL code yet), but at least its a proper development environment where you can build libraries on top of. AMD needs to get its compute stack in order if it wants to be taken seriously. Fortunately, it seems like they understand the issue. Hopefully the next year or two will be helpful, since they're ramping up on ROCm development.
- zdw 8y agoAMD is a far smaller company than either nVidia or Intel, its two main competitors. There are a variety of reasons for this - anticompetitive behavior from those competitors, chip designs like Bulldozer that focused on many wide execution units at the expense of single threaded performance, etc., but what it comes down to is that they just don't have a comparable amount of resources dedicated to ROCm compared to what nVidia has invested in CUDA. I'm quite impressed with their current and near future designs in the CPU space, but GPU design is hard and beginning to hit a performance wall - witness the lackluster reaction to nVidia's current RTX chips in many areas.
- rolleiflex 8y agoI think the reason for the lackluster reception NVIDIA has gotten to the current RTX designs is only in a small part caused by the actual poor design. Yes, real-time ray tracing, the new feature in these cards, is so bad that it's barely usable — but we're used to that, v2 will be better. I have a lot of sympathy for NVIDIA engineers trying to improve the state of the art, it's never easy. However, the issue with NVIDIA is that they have adopted the antics of the game development space they cooperate with, and they have a poor attitude towards their customers as a result. So far as outright saying that their customers are stuck, so that the pricing doesn't matter, you'll just pay for it and get on with your life anyway. One major example of this is the banning of their 'gaming' cards from data centres via an EULA, because they couldn't sell their 10X-priced 'enterprise' cards, since they performed within 10% of each other. Another example is RTX, again. They've stopped producing their 10xx series cards to sell more RTXes at a higher margin, because, boy it turns out people still want and prefer older cards compared to the RTX ones, in consideration of the price-bloat that NVIDIA has saddled the RTX with.
- izacus 8y ago> Yes, real-time ray tracing, the new feature in these cards, is so bad that it's barely usable — but we're used to that, v2 will be better. I have a lot of sympathy for NVIDIA engineers trying to improve the state of the art, it's never easy. Can you explain this more? All the tests of RTX in actual games have been very positive and showed significant improvements in visual quality.
- dragontamer 8y agoThe results I've seen show the $1200 GPU playing at 1080p resolution with less than 60FPS. RTX is clearly a compute-hog: its barely usable even if you pay for the best-of-the-best GPUs. I mean, not to knock Nvidia down or anything, raytracing is one of the most computationally difficult problems in existence right now. But from a practical and pragmatic perspective, you suffer a major loss in frame-rates and force the GPU to drop in resolution to make the jump to raytracing. Even if you spent $1200 on the card... ----------- I'm personally excited to see offline renderers use the RTX features to accelerate offline raytracing. That's probably the more important use of the technology. As it is, RTX isn't quite fast enough for "real time" yet. Just grossly accelerated offline raytracing (which is still impressive)
- sdenton4 8y ago'...it should be trivial...' ...but incredibly time consuming. Developing bug free, high performance op implementations takes time and elbow grease. It's worth comparing the gradual progress of tf lite (inference on arm devices) and the tpu architectures: rolling out a full set of ops for a new platform is a multi year project. When it's only partially done, you get inconsistent support and weird performance bottlenecks; so maybe a minimal mnist model is fast, but many other things pass back to cpu for lots of intermediate ops, killing performance.
- sseveran 8y agoTheoretically AMD has done at least some of the work via ROCm. I have not tried using this so I don't know how tested it is. https://rocm.github.io/tensorflow.html https://rocm.github.io/tensorflow.html