15 ms·
PyTorch 1.8, with AMD ROCm support
- blackcat201 6y agoThe supported ROCm version is 4.0 which only the latest AMD instinct supports it. There's still a long way before its supported in the latest consumer RDNA 2 GPUs ( RX 6000 series )
- porphyra 6y agoLack of ROCm support in consumer RDNA 2 GPUs really makes it impossible for regular people to use ROCm. As an owner of an AMD Radeon RX 6800 I'm pretty salty about it.
- krastanov 6y agoI am getting some conflicting messages about support. There is a small group of people working on ROCm for Julia (in AMDGPU.jl) and while that work is still alpha quality, they seem to expect even devices as old as RX 580 to work. Are all of these support issues something that is on the ROCm/AMD/driver side, or are they on the side of libraries like pytorch?
- snovv_crash 6y agoRX580 had a pro version which got ROCm support. It's the newer cards and older cards which aren't supported.
- dnautics 6y agoCan confirm, I made an 8x rx580 rig for an r&d project specifically for that reason.
- my123 6y agoRX580 is out of support for ROCm nowadays, which only supports Vega and Instinct now. https://github.com/RadeonOpenCompute/ROCm/issues/1353#issuecomment-753772733 https://github.com/RadeonOpenCompute/ROCm/issues/1353#issuec...
- jpsamaroo 6y agoThis is an issue with AMD not wanting to long-term support the code paths in ROCm components necessary to enable ROCm on these devices. My hope is that Polaris GPU owners will step up to the plate and contribute patches to ROCm components to ensure that their cards keep working, when AMD is unwilling to do the leg work themselves (which is fair, they aren't nearly as big or rich as NVidia).
- Dylan16807 6y agoAt least they promised support. They're actively refusing to comment on 5000-series.
- jiehong 6y agoIndeed. Yet, the amdgpu-pro driver supports the 5000 series. I managed to get it to work for my 5500 XT, but only in Ubuntu and for the 5.4 kernel and it wasn’t straightforward. It would be nice if a project like Mesa would exist for OpenCL. In the future, I suppose Vulkan will be used instead for compute though.
- cranium 6y agoIt's the last thing that keeps me on Nvidia with proprietary Linux drivers. I wouldn't mind ML training on a AMD card to be slower but I need my workload to be at least GPU-accelerated.
- carlmr 6y agoI mean I wouldn't worry too much about it, I think if something big like PyTorch supports it AMD might rethink their strategy here. They have a lot to gain by entering the compute market.
- meragrin_ 6y agoAMD only cares about data center. Anything below that, they don't care. They don't care about supporting anything other than linux. God forbid some person try to experiment with their hardware/software as a hobby before putting it to use in a work setting.
- carlmr 6y agoEh, not sure if that's correct. Their Ryzen consumer CPUs work amazingly well on Windows. The gaming graphics cards also still target Windows. And if they do care about the data center that much and ROCm becomes a thing for compute, they will want as many people as possible to be able to experiment with ROCm at home. So that they demand data centers with ROCm.
- sorenjan 6y agoROCm has been a thing for four years now, Cuda had been around almost a decade before ROCm was conceived, and AMD still doesn't show any interest in an accessible compute platform for all developers and users. I think they should focus on OpenCL and Sycl.
- carlmr 6y agoWell it's a chicken and egg problem. Without major library support nobody cares about ROCm, if nobody cares about ROCm AMD management will focus on other things. But PyTorch just laid that egg.
- etaioinshrdlu 6y agoThis is pretty neat since it is the first time in years that a top-tier deep learning framework has official support for any training accelerator with open source kernel drivers. I guess the TPU also doesn't require kernel drivers because you talk to it over network instead of PCIE. But you cannot buy a TPU, only the int8 edge TPU is for sale. (And I've heard that the edge TPU's are absolutely top-notch for performance per $ and Watt right now, as an aside.)
- deleted 6y ago[deleted]
- rfoo 6y agoI believe TensorFlow is a top-tier deep learning framework, and it had ROCm support since 2018. > edge TPU's are absolutely top-notch for performance per $ and Watt right now Do you mean "aren't"? The performance per $ and Watt is not awesome even when it was released, I was hoping for great toolchain support but that also didn't happen.
- NavinF 6y agoAre there any <10W boards that have better performance/watt for object detection? If it exists, I wanna buy it
- my123 6y agoJetson Xavier NX, but that comes with a high price tag. It’s much more powerful however.
- dheera 6y agoI'll also add a caveat that toolage for Jetson boards is extremely incomplete. They supply you with a bunch of sorely outdated models for TensorRT like Inceptionv3 and SSD-MobileNetv2 and VGG-16. WTF, it's 2021. If you want to use anything remotely state-of-the-art like EfficientDet or HRNet or Deeplab or whatever you're left in the dark. Yes you can run TensorFlow or PyTorch (thankfully they give you wheels for those now; before you had to google "How to install TensorFlow on Jetson" and wade through hundreds of forum pages) but they're not as fast at inference.
- mastazi 6y agoNow that major frameworks finally started supporting ROCm, AMD has half-abandoned it (IIRC the last consumer cards supported were the Vega ones, cards from 2 generations ago). I hope this will change.
- NavinF 6y agoOh oof. Thanks for saving me time not having to look up ROCm benchmarks. I find it really surprising they they don't wanna compete on performance/$ at all by not supporting consumer cards
- mastazi 6y agoNo worries, for future reference you can check here (hopefully that page will report improved support in the future) https://github.com/RadeonOpenCompute/ROCm#supported-gpus https://github.com/RadeonOpenCompute/ROCm#supported-gpus
- AlphaSite 6y agoI think this is more of an issue that they have Compute optimised and Graphics optimised cards and Vega is their last compute optimised card. It would be very nice for them to refresh their compute cards as well.
- my123 6y agoThey made new compute cards, but they aren’t available to customers. (Only businesses, under the Radeon Instinct brand) With the price to match for those...
- dogma1138 6y agoThey aren’t available for business either, you can buy a Tesla card in a microcenter or on Newegg, and through a million partners ranging from small system builders to Dell and HP. Good luck getting an instinct card.
- 6y ago
- buildbot 6y agoIt also looks like they are in the progress of adding Apple metal support, possibly for the M1: Part of 1.8 is this issue: https://github.com/pytorch/pytorch/pull/47635 https://github.com/pytorch/pytorch/pull/47635
- ipsum2 6y agoWhat's the point? If you have enough money to buy a brand new Apple M1 laptop, you can afford a training rig or cloud credits. Any modern discrete GPU will blow away any M1 laptop for training. Is anyone training ML models on their ultra-thin laptop?
- upbeat_general 6y agoI don’t understand this logic. If someone has $1000 for an entry level m1 machine then they also have enough money for a separate rig with a GPU that’s probably another $600-1000 for something decent? Cloud GPUs are also pretty expensive. I don’t think anyone is seriously training their ML models on their ultra thin laptop but I think the ability to do so would make it easier for lots of people to get started with what they have. It might be that they don’t have lots of extra cash to throw around or it’s hard to justify on something they are just starting. Cloud training is also just less convenient and an extra hassle compared to doing things locally, even if it’s something like google collab which is probably the best option right now for training on thin laptops
- ipsum2 6y agoIf someone is shelling out for a brand new, early adopter product, then they probably have a decent amount of money. Even when TensorFlow and PyTorch implement training support on the M1, it will be useless for practically anything except training 2-3 layer models on MNIST. So why should valuable engineering time be spent on this?
- tpetry 6y agoBecause with support for M1 you can prototype your network on your local machine with „good“ performance. There are many cloud solutions etc. but for convenience nothing beats your local machine. You can use an IDE you like etc.
- birisileri 6y agofantazi gecelik sizi daha çekici ve seksi göstererek partnerinizle birlikte özel dakikalar yaşamanıza yardımcı olur. Zevkinize göre modeller ya da renkler seçerek size en uygun geceliği bulmalısınız. https://www.gipastekstil.com/kategori/bayan-fantazi-gecelik https://www.gipastekstil.com/kategori/bayan-fantazi-gecelik
- birisileri 6y agotoptan iç giyim tercih etmenizin sebebi kaliteyi ucuza satın alabilmektir. Ürünler yine orjinaldir ve size sorun yaşatmaz. Yine de bilinen tekstil markalarını tercih etmelisiniz. https://www.gipastekstil.com https://www.gipastekstil.com
- birisileri 6y agotutku iç giyim Türkiye'nin önde gelen iç giyim markalarından birisi olmasının yanı sıra en çok satan markalardan birisidir. Ürünleri hem çok kalitelidir hem de pamuk kullanımı daha fazladır. https://www.toptantutkuicgiyim.com https://www.toptantutkuicgiyim.com
- birisileri 6y agonbb sütyen hem kaliteli hem de uygun fiyatlı sütyenler üretmektedir. Sütyene ek olarak sütyen takımı ve jartiyer gibi ürünleri de mevcuttur. Özellikle Avrupa ve Orta Doğu'da çokça tercih edilmektedir. https://nbbsutyen.com https://nbbsutyen.com
- birisileri 6y agoyeni inci sütyen kaliteyi ucuz olarak sizlere ulaştırmaktadır. Çok çeşitli sütyen varyantları mevcuttur. iç giyime damga vuran markalardan biridir ve genellikle Avrupa'da ismi sıklıkla duyulur. https://yeniincisutyen.com https://yeniincisutyen.com
- std_badalloc 6y agoPyTorch is the most impressive piece of software engineering that I know of. So yeah, it's a nice interface for writing fast numerical code. And for zero effort you can change between running on CPUs, GPUs and TPUs. There's some compiler functionality in there for kernel fusing and more. Oh, and you can autodiff everything. There's just an incredible amount of complexity being hidden behind behind a very simple interface there, and it just continues to impress me how they've been able to get this so right.
- thecleaner 6y agoIts python wrappers on top of existing ThTensor library which was already provided by torch. But yes great engineering nonetheless.
- rrss 6y agoI don't think this is a particularly accurate description of pytorch in 2021. Yeah, the original c++ backend came from torch, but I think most of that has been replaced. AFAIK, all the development of the c++ backend for pytorch over that last several years has been done as part of the pytorch project -it's not just python wrappers at this point.
- danieldk 6y agoWhat I like about PyTorch is that most of the functionality is actually available through the C++ API as well, which has 'beta API stability' as they call it. So, there are good bindings for some other languages as well. E.g., I have been using the Rust bindings in a larger project [1], and they have been awesome. A precursor to the project was implemented using Tensorflow, which was a world of pain. Even things like mixed-precision training are fairly easy to do through the API. [1] https://github.com/tensordot/syntaxdot https://github.com/tensordot/syntaxdot
- jampekka 6y agoOTOH PyTorch seems to be highly explosive if you try to use it outside the mainstream use (i.e. neural networks). There's sadly no performant autodiff system for general purpose Python. Numba is fine for performance, but does not support autodiff. JAX aims to be sort of general purpose, but in practice it is quite explosive when doing something other than neural networks. A lot of this is probably due to supporting CPUs and GPUs with the same interface. There are quite profound differences in how CPUs and GPUs are programmed, so the interface tends to restrict especially more "CPU-oriented" approaches. I have nothing against supporting GPUs (although I think their use is overrated and most people would do fine with CPUs), but Python really needs a general purpose, high performance autodiff.
- sandGorgon 6y agoRyzen APU - the embedded GPU inside laptops is not supported by AMD for running rocm There is an unofficial Bruhnspace project...but it is really sad that AMD has made a management decision that prevents use of a perfectly viable Ryzen laptop to make use of these libraries. Unlike...say a M1
- qayxc 6y agoMight have to do with the fact that AMD just doesn't seem to have the resources (see the common complaints about their drivers' quality) to fully support every chip. Another reason is certainly that they simply don't need to - just like Intel's iGPU, people working with deep learning opt for discrete GPUs (either built-in or external), both just isn't an option (yet?) for M1-based systems. The audience would be a niche within a niche and the cost-benefit-ratio doesn't seem to justify the effort for them.
- sandGorgon 6y agoI dont believe so...and looks like neither does either Apple or Google/Tensorflow - https://developer.apple.com/documentation/mlcompute https://developer.apple.com/documentation/mlcompute - https://blog.tensorflow.org/2020/11/accelerating-tensorflow-performance-on-mac.html https://blog.tensorflow.org/2020/11/accelerating-tensorflow-... For a more personal take on your answer - do consider the rest of world. For example, Ryzen is very popular in India. Discrete GPU are unaffordable for that college student who wants to train a non-English NLP model on GPU.
- qayxc 6y agoHow does that contradict my point - Apple has to support the M1, since their M1-based SoCs don't support dGPUs (yet), so the M1 is all there is. Besides, Apple is the most valuable company in the world and has exactly the kind of resources AMD doesn't have. > or example, Ryzen is very popular in India. Discrete GPU are unaffordable for that college student who wants to train a non-English NLP model on GPU. Well Google Collab is free and there are many affordable cloud-based offers as well. Training big DL models is not something you'd want to do on a laptop anyway. Small models can be trained on CPUs, so that shouldn't be an issue. Inference is fast enough on CPUs anyway and if you really need to train models on your Ryzen APU, there's always other libraries, such as TensorflowJS, which is hardware agnostic as it runs on top of WebGL. That's why I don't think this is a big deal at all - especially given that Intel still holds >90% of the integrated GPU market and doesn't even have an equivalent to ROCm. Again, niche within a niche, no matter where you look.
- arthurmorgan 6y agoThis still won't work with a RX 580 right? It seems like ROCm 4 doesn't support that card.
- lumost 6y agoCurious to see how this performs in a real world setting. My understanding is that Nvidia's neural network libs and other proprietary foo would still hold an edge over a standard AMD card. If this is not the case then this is a really big deal.
- wing-_-nuts 6y agoSo, for someone not familiar, how far is AMD behind Nvidia's CUDA? I ask because AMD clearly has better linux driver support than Nvidia, and it would be awesome if their AI/ML libs were catching up.
- deleted 6y ago[deleted]
- danieldk 6y agoAt my previous employer, we bought two Radeon VIIs (in addition to NVIDIA GPUs). The last time I tried it (just over ~6 months ago), there were still many bugs. Things would just crash and burn very frequently (odd shape errors, random crashes, etc.). Two colleagues reported some of those bugs in ROCm, but the bug reports were largely ignored. Maybe out-of-the-box support for PyTorch will result in more polish. Who knows? Another issue is that AMD has not yet implemented support for consumer GPUs after Vega. You'd think that targeting researchers on a budget (most of academia) would help them improving the ecosystem and weed out bugs. But they only seem interested in targeting large data centers. It's all a shame, because as you say, AMD graphics on Linux is awesome. And I think many Linux enthusiasts and researchers would be happy to use and improve ROCm to break NVIDIA's monopoly. Only if AMD actually cared.
- wing-_-nuts 6y agoYeah I think having support for consumer level cards is really important because it makes it easier to have a pipeline of students who are familiar with your tech. These same folks advocate for AMD in the workplace and contribute to OSS on behalf of AMD. Forcing this to be a 'datacenter only' solution is really short sighted.
- slavik81 6y agoSo, just up front: these are my personal opinions. I do not speak on behalf of AMD as a company. I'm just a software developer who works on ROCm. I joined AMD specifically because I wanted to help ROCm succeed. If the problems you encountered are related to a particular ROCm software library, I would encourage you to open an issue on the library's GitHub page. You will get the best results if you can get your problem directly in front of the people responsible for fixing it. Radeon VII is one of the core supported platforms and bugs encountered with it should be taken seriously. In fact, if you want to point me at the bug reports, I will personally follow up on them. ROCm has improved tremendously over the past 6 months, and I expect it to continue to improve. There have been growing pains, but I believe in the long-term success of this project.
- deleted 6y ago[deleted]