It appears the host part of GPU applications are indeed executed on KVM,
from:
https://www.gem5.org/assets/files/workshop-isca-2023/slides/improving-gem5s-gpufs-support.pdf
.

A few more questions:
1. I missed that it isn't mentioned that O3 CPU models aren't supported --
would that be as easy as changing the `cpu_type` in the config file and
running? I intend to run with the latest O3 CPU config I have (an Intel
CPU).
2. The Ruby network that's used -- is it intercepting (perhaps just MMIO)
memory operations from the KVM CPU? Could you please briefly describe how
Ruby is working with both KVM and GPU (or point me to any document)?
3. The GPU MMIO trace we pass during simulator invocation -- what exactly
is this? If it's a trace of the kernel driver/CPU's MMIO calls into GPU,
how is it portable across different programs within a benchmark-suite --
HeteroSync, for example?
4. In HeteroSync, there's fine-grain synchronization between CPU and GPU
in many apps. If I use the vega10_kvm.py, which has a discrete GPU with a
KVM CPU, where do the synchronizations happen?
5. If I want to move to an integrated GPU model with an O3 CPU (the only
requirement is the shared LLC) -- are there any resources that can help me?
I do see a bootcamp that uses the apu_se.py -- can this be utilized at
least partially to support full system O3 CPU + integrated GPU? Are there
any modifications that need to be made to support synchronizations in L3?

Please excuse the jumbled questions, I am in the process of gaining more
clarity.

On Fri, Jun 30, 2023 at 12:10 PM Anoop Mysore <mysan...@gmail.com> wrote:

> According to the GPU-FS blog
> <https://urldefense.com/v3/__https://www.gem5.org/2023/02/13/moving-to-full-system-gpu.html__;!!K-Hz7m0Vt54!k9hG9tkVg8rKCoOxEFpXaQmrvFKmQeDhFkiaPWuQkMFWMhio1S4d8IWkF32x0Nyo7bBbV3LJKv6eLEKcc8oh0uyzua4$>
> ,
>     "*Currently KVM and X86 are required to run full system. Atomic and
> Timing CPUs are not yet compatible with the disconnected Ruby network
> required for GPUFS and is a work in progress*."
> My understanding is that KVM is used to boot Ubuntu; so, are the GPU
> applications run on KVM? Also, what does "disconnected" Ruby network mean
> there?
> If so, is there any work in progress that I can use to develop on, or a
> (noob-friendly) documentation of what needs to be done to extend the
> support to Atomic/O3 CPU?
> For a project I'm working on, I need complete visibility into the CPU+GPU
> cache hierarchy + perhaps a few more custom probes; could you comment on
> whether this would be restrictive if going with KVM in the meantime given
> that it leverages the host for the virtualized HW?
>
> Please let me know if I have got any of this wrong or if there are other
> details you think would be useful.
>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to