I'm wondering if anyone here has had success with any of the cloud orchestration layers using a GPU (preferably vGPU)? I've been able to get XenServer 6.2 to successfully see our nvidia GRID K1 card but didn't know if any of the OpenStack/CloudStack type layers had support for GPU/vGPU yet.
-
https://wiki.openstack.org/wiki/Pci_passthrough For best results use the latest version of CentOS or Fedora that you can. – Michael Hampton Jan 24 '15 at 04:52
3 Answers
Currently there is no complete GPU acceleration support for OpenStack. There is a proposal to add support for GPU-accelrated machines as an alternative machine type in OpenStack. The target release for this is Grizzly. You can check out a functional prototype here.
Successful openstack deployemnt with CUDA support. cg1.xlarge instance type and NVIDIA Fermi GPUs
$ nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------------------------------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------------------------------------+
| 9 | cg1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | {u'hypervisor': u's== LXC', u'gpus': u'= 2', u'gpu_arch':u's== fermi'} |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+----------------------------------------------+
$ nova boot --flavor 9 --key-name mykey --image 2b1509fe-b573-488a-be4d-d61d25c7ab4f gpu_test
The only approach that has been successful for CUDA access from a kvm virtual machine that is gVirtuS . Here we need a direct access of gpus from LXC instances. Provided the host system's kernel supports 'lxc-attach', and the utilities for 'lxc-attach' are installed.
nova.virt.GPULibvirt
which is an extension of nova.virt.libvirt
to instantiate a GPU-enabled virtual machine when requested.
1)When an instance is spawned (or rebooted), nova starts an LXC VM
2)The requested gpu(s) is(are) marked as allocated and its(their) device(s) is(are) created inside LXC using 'lxc-attach'
3)Access permission to the gpu(s) is added to /cgroup
Boot finalizes
4)When an instance is terminated (destroyed), the gpu(s) are deallocated.
- 1,057
- 2
- 14
- 31
There is support in Cloudstack for GPU support starting version 4.4. The design document is referenced at [1]
- 111
- 3
I have setup a rather large Openstack setup for a company that uses K2 cards. Required some minor tweaking around nova (custom properties) but otherwise it worked perfectly, actually 4 times faster FPS rates than Xen on the same hardware.
- 18,482
- 6
- 48
- 63