Hi Javad, tl;dr: I don't believe anyone has publicly announced Caffe running end-to-end in gem5, but I have gotten hipCaffe to run for parts of applications in the past.
A couple years ago I started working on getting hipCaffe (the HIP version of Caffe -- HIP is the current GPU programming language used by AMD) working in gem5. I used this version in part because NVIDIA GPUs aren't supported directly in gem5 at the moment (AMD GPUs are), and because I was interested in running Caffe workloads that used the GPU. So, long story short, I don't know if Caffe would "just work" if you wanted to run it in gem5 only on CPUs or not. You would need to try this and let us know. But, in terms of running hipCaffe on the AMD GPU in gem5, I never got it completely working, but there were certain applications (like CaffeNet) in it that I could get to run for about 10 GPU kernels or so. At that point, I started running into a range of bugs that needed to be fixed -- some requiring new syscalls to be implemented in SE mode, some requiring various corner case instructions or sub-cases of instructions to be implemented, etc. So, hipCaffe "worked" in the sense that I could run some stuff on gem5, but it did not work in the sense that I could run an application end-to-end. Unfortunately, I never got back to finishing fixing it -- in part because running hipCaffe in SE mode was an endless series of new bugs or system features that needed implementing. My hope is that once the FS mode support for GPUs is working, that it will make getting workloads like this running for the GPU model. Practically speaking (ignoring the bugs), I think this is necessary anyways, because Caffe runs so many kernels, simulating all of them will take a really long time. So we'd want some support for fast-forwarding and checkpointing, which (I think) is better supported in FS mode. If you are interested in trying to run hipCaffe anyways though, my recommendation would be to start from the GPU documentation and especially the docker file in public gem5, which installs the version of ROCm and most of the libraries you'll need on top of it. From there, you would need to update the docker to install a version of hipCaffe ( https://github.com/ROCmSoftwarePlatform/hipCaffe/) that is compatible with ROCm 1.6, as well as install any additional libraries hipCaffe needs that are not already installed as part of the default gem5 GPU docker. From there you would likely be able to get to the same point as me -- getting some of the kernels to run before a failure happens. Thanks, Matt On Thu, Jan 21, 2021 at 9:36 PM Javad Mozaffari via gem5-users < gem5-users@gem5.org> wrote: > Hello, > i want to run caffe in gem5 but i'm new to gem5, where can i learn about > this??? > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s