A number of folks have asked about running CORTEX on virtual machines or in the cloud over the past year or so, but the application’s dependency on NVIDIA’s CUDA libraries has always been an issue because most virtual machines I’ve seen are not able to expose the underlying hardware in a way that allows the application to make efficient use of it, if it can see it at all.
But today I spent a little time today playing with the G2 instances on Amazon’s EC2 cloud compute infrastructure.
Officially, we require a Windows 7 Professional 64 bit operating system, but hey, none of this is really qualified yet, so I went ahead and chose a Windows Server 2012 Base AMI to get started:
Then I chose the G2 instance type:
After that, I gave it a name and followed some instructions to get connected using Remote Desktop.
I installed Google Chrome, grabbed an eval license for CORTEX, and downloaded the latest 1.5 beta installer. Installation went without a hitch, but when I first attempted to start CORTEX I got an error saying I didn’t have a sufficient GPU.
After a little googling, I came across this article which states two things:
- You [must] download NVIDIA drivers from Advanced Driver Search | NVIDIA. Select a driver for the NVIDIA GRID K520 (G2 instances)
- In order to access your GPU hardware, you must use a different remote access tool, such as VNC.
I got the drivers installed, then I tried getting RealVNC working, but have enough time to sort out how I had to set up IP addresses, etc to connect so I decided to go with TeamViewer instead.
After installing TeamViewer, I closed Remote Desktop and reconnected with TeamViewer. I launched Cortex and it started up with no complaints.
Next, I downloaded some test footage and ran some quick and dirty tests.
Here are my results:
ProRes422HQ to DNxHD36: 45 fps
ARRIRAW to DNxHD36: 36 fps
SonyF55 RAW to DNxHD36: 24 fps
RED Epic 4K to DNxHD36: 19 fps
Not nearly as fast as running on a real Z820 machine with a GeForce 780ti, but not too shabby either.
Aside from the speed, there was one other awkward thing. Running through TeamViewer, I was only able to set the display resolution to a maximum of 1280x1024. CORTEX is really designed to work best at 1920x1080 or higher. It was workable for these tests, but certainly not ideal.
That said, for running the underlying CohogRender command line transcoding application, it seems like it could work well.
Definitely not yet a qualified configuration, but worth playing around with more!