
| From: xerofoify via talk <talk@gtalug.org> | On Tue, Aug 6, 2019 at 4:23 PM Alex Volkov via talk <talk@gtalug.org> wrote: | I don't know how much your intending to do with that GPU or otherwise. He said he wants to do human (himself) learning about machine learning. Less cute way of saying this: he want to experiment and play with ML. | If your just using Nvidia I can't help | you as mentioned but if your interested in GPU workloads was looking | at the AMDGPU backend for LLVM. Most people learning (or doing) ML pick a tall stack of software and the learn almost nothing about the underlaying hardware. I admint that sometimes performance issues poke their way through those levels. If I remember correctly, the base of the stack that Alex was playing with was Google's TensorFlow. Of course there is stuff below that but the less he has to know about it the better. See Alex's discussion about getting TensorFlow to work on AMD. If I understood him correctly (maybe not), the normal route to TesorFlow on AMD is through ROCm, and that won't work on an APU. Too bad. My guess: even if he could run ROCm, he might hit some hangups with TensorFlow since the most used path to TensorFlow is Nvidia cards and (I think) Cuda. It's always easier to follow a well-worn path. I, on the other hand, think I'm interested in the raw hardware. I have not put any time into this but I intend to (one of many things I want to do). | Not sure if there is one that targets Nvidia cards but it may be of | interest to you as you would be able to | compile directly for the GPU rather than using an API to access it. | Not sure about Nvidia so double check | that. As I understand it: - LCC targets raw AMD GPU hardware - that's probably not very useful because runtime support is needed for what you could consider OS-like functionality and that isn't provided. + scheduling + communicating with the host computer + failure handling and diagnostics - Separately, a custom version of LCC is used as a code generator (partly(?) at runtime!) for OpenCL. I think that AMD tries to "upstream" their LCC changes but this is never soon enough. - I think that nvidia also has a custom LCC but does not try to upsteam all of their goodies (LCC is not copylefted). I may be wrong about much or all of this. I would like to know an accurate, comprehensive, comprehensible source for this kind of information. | Here is the official documentation for AMD through: | https://llvm.org/docs/AMDGPUUsage.html Thanks. I'll have a look. | If your using it for machine learning it may be helpful to be aware of | it You'd think so but few seem to bother. There's enough to get ones head around at the higher levels of abstraction. Much ML seems to be done via cook-books. | Hopefully that helps a little, I'd love to hear a GTALUG talk about the lower levels. Perhaps a lightning talk next week would be a good place to start.