<div dir="ltr">Hi Ulrich,<div><br></div><div>I believe this is a perfect use case for Cyborg which provides state-of-the-art heterogeneous hardware management and is easy to use. </div><div><br></div><div>cc: Brin Zhang<br></div><div><br></div><div>Thank you</div><div>Regards</div><div>Li Liu</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 16, 2023 at 5:39 AM Ulrich Schwickerath <<a href="mailto:Ulrich.Schwickerath@cern.ch">Ulrich.Schwickerath@cern.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

  
  <div>
    <p>Hi, all,</p>
    <p>just to add to the discussion, at CERN we have recently deployed
      a bunch of A100 GPUs in PCI passthrough mode, and are now looking
      into improving their usage by using MIG. From the NOVA point of
      view things seem to work OK, we can schedule VMs requesting a
      VGPU, the client starts up and gets a license token from our
      NVIDIA license server (distributing license keys is our private
      cloud is relatively easy in our case). It's a PoC only for the
      time being, and we're not ready to put that forward as we're
      facing issues with CUDA on the client (it fails immediately in
      memory operations with 'not supported', still investigating why
      this happens). <br>
    </p>
    <p>Once we get that working it would be nice to be able to have a
      more fine grained scheduling so that people can ask for MIG
      devices of different size. The other challenge is how to set
      limits on GPU resources. Once the above issues have been sorted
      out we may want to look into cyborg as well thus we are quite
      interested in first experiences with this.</p>
    <p>Kind regards, </p>
    <p>Ulrich<br>
    </p>
    <div>On 13.01.23 21:06, Dmitriy Rabotyagov
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="auto">
        <div>To have that said, deb/rpm packages they are providing
          doesn't help much, as:
          <div dir="auto">* There is no repo for them, so you need to
            download them manually from enterprise portal</div>
          <div dir="auto">* They can't be upgraded anyway, as driver
            version is part of the package name. And each package
            conflicts with any another one. So you need to explicitly
            remove old package and only then install new one. And yes,
            you must stop all VMs before upgrading driver and no, you
            can't live migrate GPU mdev devices due to that now being
            implemented in qemu. So deb/rpm/generic driver doesn't
            matter at the end tbh.</div>
          <br>
          <br>
          <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr">пт, 13 янв. 2023 г., 20:56
              Cedric <<a href="mailto:yipikai7@gmail.com" target="_blank">yipikai7@gmail.com</a>>:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div dir="auto"><br>
                Ended up with the very same conclusions than Dimitry
                regarding the use of Nvidia Vgrid for the VGPU use case
                with Nova, it works pretty well but:<br>
                <br>
                - respecting the licensing model as operationnal
                constraints, note that guests need to reach a license
                server in order to get a token (could be via the Nvidia
                SaaS service or on-prem)<br>
                - drivers for both guest and hypervisor are not easy to
                implement and maintain on large scale. A year ago,
                hypervisors drivers were not packaged to Debian/Ubuntu,
                but builded though a bash script, thus requiering
                additional automatisation work and careful attention
                regarding kernel update/reboot of Nova hypervisors.<br>
                <br>
                Cheers</div>
              <br>
              <br>
              On Fri, Jan 13, 2023 at 4:21 PM Dmitriy Rabotyagov <<a href="mailto:noonedeadpunk@gmail.com" rel="noreferrer
                noreferrer noreferrer noreferrer" target="_blank">noonedeadpunk@gmail.com</a>>
              wrote:<br>
              ><br>
              > You are saying that, like Nvidia GRID drivers are
              open-sourced while<br>
              > in fact they're super far from being that. In order
              to download<br>
              > drivers not only for hypervisors, but also for guest
              VMs you need to<br>
              > have an account in their Enterprise Portal. It took
              me roughly 6 weeks<br>
              > of discussions with hardware vendors and Nvidia
              support to get a<br>
              > proper account there. And that happened only after
              applying for their<br>
              > Partner Network (NPN).<br>
              > That still doesn't solve the issue of how to provide
              drivers to<br>
              > guests, except pre-build a series of images with
              these drivers<br>
              > pre-installed (we ended up with making a DIB element
              for that [1]).<br>
              > Not saying about the need to distribute license
              tokens for guests and<br>
              > the whole mess with compatibility between hypervisor
              and guest drivers<br>
              > (as guest driver can't be newer then host one, and
              HVs can't be too<br>
              > new either).<br>
              ><br>
              > It's not that I'm protecting AMD, but just saying
              that Nvidia is not<br>
              > that straightforward either, and at least on paper
              AMD vGPUs look<br>
              > easier both for operators and end-users.<br>
              ><br>
              > [1] <a href="https://github.com/citynetwork/dib-elements/tree/main/nvgrid" rel="noreferrer noreferrer noreferrer noreferrer
                noreferrer" target="_blank">https://github.com/citynetwork/dib-elements/tree/main/nvgrid</a><br>
              ><br>
              > ><br>
              > > As for AMD cards, AMD stated that some of their
              MI series card supports SR-IOV for vGPUs. However, those
              drivers are never open source or provided closed source to
              public, only large cloud providers are able to get them.
              So I don't really recommend getting AMD cards for vGPU
              unless you are able to get support from them.<br>
              > ><br>
              ><br>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
  </div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Thank you<div><br></div><div>Regards</div><div><br></div><div>Li</div></div>