<div dir="ltr">Hi Jon,<div><br></div><div>We were also running into issues with the K80s.</div><div><br></div><div>For our GPU nodes, we've gone with a 4.2 or 4.4 kernel. PCI Passthrough works much better in those releases. (I ran into odd issues with 4.4 and NFS, downgraded to 4.2 after a few hours of banging my head, problems went away, not a scientific solution :)</div><div><br></div><div>After that, make sure vfio is loaded:</div><div><br></div><div>$ lsmod | grep vfio</div><div><br></div><div>Then start with the "deviceQuery" CUDA sample. We've found deviceQuery to be a great check to see if the instance has full/correct access to the card. If deviceQuery prints a report within 1-2 seconds, all is well. If there is a lag, something is off.</div><div><br></div><div>In our case for the K80s, that final "something" was qemu. We came across this[1] wiki page (search for K80) and started digging into qemu. tl;dr: upgrading to the qemu packages found in the Ubuntu Mitaka cloud archive solved our issues.</div><div><br></div><div>Hope that helps,</div><div>Joe</div><div><br></div><div>1: <a href="https://pve.proxmox.com/wiki/Pci_passthrough">https://pve.proxmox.com/wiki/Pci_passthrough</a></div><a href="https://pve.proxmox.com/wiki/Pci_passthrough"></a></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 6, 2016 at 7:27 AM, Jonathan D. Proulx <span dir="ltr"><<a href="mailto:jon@csail.mit.edu" target="_blank">jon@csail.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
Trying to spass through some Nvidia K80 GPUs to soem instance and have<br>
gotten to the place where Nova seems to be doing the right thing gpu<br>
instances scheduled on the 1 gpu hypervisor I have and for inside the<br>
VM I see:<br>
<br>
root@gpu-x1:~# lspci | grep -i k80<br>
00:06.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)<br>
<br>
And I can install nvdia-361 driver and get<br>
<br>
# ls /dev/nvidia*<br>
/dev/nvidia0  /dev/nvidiactl  /dev/nvidia-uvm  /dev/nvidia-uvm-tools<br>
<br>
Once I load up cuda-7.5 and build the exmaples none fo the run<br>
claiming there's no cuda device.<br>
<br>
# ./matrixMul<br>
[Matrix Multiply Using CUDA] - Starting...<br>
cudaGetDevice returned error no CUDA-capable device is detected (code 38), line(396)<br>
cudaGetDeviceProperties returned error no CUDA-capable device is detected (code 38), line(409)<br>
MatrixA(160,160), MatrixB(320,160)<br>
cudaMalloc d_A returned error no CUDA-capable device is detected (code 38), line(164)<br>
<br>
I'm not familiar with cuda really but I did get some example code<br>
running on the physical system for burn in over the weekend (sicne<br>
reinstaleld so no nvidia driver on hypervisor).<br>
<br>
Following various online examples  for setting up pass through I set<br>
the kernel boot line on the hypervisor to:<br>
<br>
# cat /proc/cmdline<br>
BOOT_IMAGE=/boot/vmlinuz-3.13.0-87-generic root=UUID=d9bc9159-fedf-475b-b379-f65490c71860 ro console=tty0 console=ttyS1,115200 intel_iommu=on iommu=pt rd.modules-load=vfio-pci nosplash nomodeset intel_iommu=on iommu=pt rd.modules-load=vfio-pci nomdmonddf nomdmonisw<br>
<br>
Puzzled that I apparently have the device but it is apparently<br>
nonfunctional, where do I even look from here?<br>
<br>
-Jon<br>
<br>
<br>
_______________________________________________<br>
OpenStack-operators mailing list<br>
<a href="mailto:OpenStack-operators@lists.openstack.org">OpenStack-operators@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</a><br>
</blockquote></div><br></div>