Tag Archives: Cloud

2015-10-01_1526

Finally – GPUs are Coming to Azure!

GPU cloud computing is gaining more and more momentum because a growing number of applications and use cases rely on fast enterprise GPU hardware, such as deep learning, applied to image and speech recognition or natural language processing, data mining, photo-realistic real-time rendering, etc. Some of these applications also benefit from scaling to multi-GPU servers and to GPU server clusters with high speed network interconnects.

Public cloud market leader Amazon AWS was the first to provide GPU accelerated instances. Its g2.2xlarge instance has 8 CPU core and 1 GRID K520 GPU, the larger g2.8xlarge instance has 32 CPU cores and 4 GRID K520 GPUs, available on demand at hourly rates.

Other providers such as Nimbix, Peer1 Hosting, Penguin Computing or Rapid Switch offer GPU powered infrastructure for quite some time.

This summer IBM SoftLayer launches a new server line with Nvidia Tesla K80 GPUs. And just a few days later the Chinese e-commerce giant Alibaba announced GPU support on its Aliyun public cloud.

Finally last Tuesday at AzureCon 2015, Microsoft announced the new N-series GPU-enabled virtual machines. They use K80 GPUs for compute intensive workloads and M60 GPUs with the recently released Nvidia Grid 2.0 technology for virtualized graphics. With this hardware infrastructure Microsoft Azure can now deliver GPU accelerated computations and graphics to any connected device.

Azure n-series

The new GPU cloud infrastructure of Azure uses GPU virtualization with Hyper-V and DDA technology. Fast RDMA network connections can be used to build clusters of multiple GPU nodes for HPC workloads.

cloud architecture

For more details check out the Nvidia press release, Mark Staveley’s presentation at AzureCon

and Jen-Hsun Huang who speaks about GPUs for the Azure Cloud

For us at QuantAlea this is great news. We are already in the development process of Alea GPU V3, which will be yet another major release of our GPU compiler infrastructure for .NET, C# and F#. The key features of V3 will be a clever new memory management system, a simplified user interface and API so that also novice C# developers can easily write GPU code and of course a tight integration with the Azure GPU infrastructure and higher level Azure cloud services.

These news also had a very positive effect on the share price of Nvidia, which gained 2.7% closing at USD 24.36, hitting a 52-week high of USD 24.58 on Wednesday after the announcement. With all these events in just a few months the blog published early July this year on The Platform can be extended with a few more sections.

We are curious to see how and when Google will enhance his public cloud with GPU computing capabilities.

amazon-aws

Alea GPU on Amazon EC2 Instances

The Amazon Elastic Compute Cloud (Amazon EC2) provides resizable compute capacity in the cloud. EC2 offers a wide selection of instance types optimized to fit different use cases. For GPU applications, the g2.2xlarge instance has 8 CPU core and 1 GRID K520 GPU, the larger g2.8xlarge instance has 32 CPU cores and 4 GRID K520 GPUs.

To simplify the utilization of Alea GPU on EC2 we created two community AMIs (Amazon Machine Images) with up to date CUDA drivers and pre-installed tools so that you can start using Alea GPU right away:

  • win2012r2-cuda70-vsc2013 with AMI ID ami-ab1ef4c0 is Windows Server 2012 R2 image with Visual Studio 2013 Community Edition and TightVNC server.

    win-ami

  • ubuntu14.04-cuda70-mono with AMI ID ami-670ee40c is an Ubuntu Trusty Tahr 14.04 image and comes with Mono.

    ubuntu-ami

On both AMIs an up to date GRID GPU driver and the CUDA toolkit 7.0 is installed. The AMIs can be used out of the box to experiment with Alea GPU on either Windows or Linux.

The AMIs are available in the geographic location US East (N. Virginia).

Using GRID K520 GPUs on Windows

On Windows the GRID K520 GPUs do not support the TCC mode, which means that they cannot be used with a Remote Desktop connection. The simple way out is to use a VNC server or TeamViewer. The AMI win2012r2-cuda70-vsc2013 has therefore TightVNC server pre-installed. It is launched at system boot time as a Windows service. The VNC server listens on port 5900. The password for connection and configuration is vncxyz. These settings can be changed easily after booting.

Booting an Instance of the Windows AMI win2012r2-cuda70-vsc2013

We assume that you have an AWS account and that you created a key pair.
Here are the steps to launch an instance of the AMI win2012r2-cuda70-vsc2013:

  1. Log on to the AWS console and select the EC2 Dashboard. If you do not yet have a key pair select Key Pairs under Network & Security and follow the instructions. Also make sure that you selected the geographic location US East (N. Virginia) (or any other location on which the AMIs are available) in the top right corner.

    ec2-dashboard

  2. Press the Launch Instance button to get to the Quick Start wizard.
  3. Select the Community AMIs and enter win2012r2-cuda70-vsc2013 in the search field. Press Select.
  4. ec2-launch-1

  5. Scroll down to find the G2 instances. Select either g2.2xlarge or g2.8xlarge. Note that both instances are paid. Press Next: Configure Instance Details.
  6. ec2-launch-2

  7. Choose the Purchasing options. Spot instances are usually less expensive but may not be available immediately or may be interrupted if the spot price rises above the user supplied spot price limit. Also note that instances purchased at spot price cannot be stopped. Press Next: Add Storage.

    ec2-launch-3

  8. Increase the partition size or add additional storage as required. Skip Next: Tag Instance and proceed to Configure Security Group

    ec2-launch-4

  9. Create a security group with custom TCP rule for port 5900 or port range 5900-5910. This is required to connect via VNC to the instance. The RDP port rule for port 3389 is added by default. Press Review and Launch.

    ec2-launch-6

  10. Review your settings and press Launch.

    ec2-launch-7

  11. Choose your key pair for this instance. Press Launch Instances.

    ec2-launch-8

  12. The Launch Status window appears. Press View Instances.

    ec2-launch-9

  13. The instance boot process takes some time. After successful booting the instance is visible under Instances. Select the desired instance and press Connect.

    ec2-launch-10

  14. A popup window appears where you can download the Remote Desktop File and get the password to connect to the instance.

    ec2-launch-11

  15. To decrypt the password you have to supply the private key file that you generated at the beginning.

    ec2-launch-12

  16. To decrypt the password you have to supply the private key file that you generated at the beginning. Press Decrypt Password to get the Administrator password.

    ec2-launch-13

  17. Start a VNC client, such as TightVNC and connect to the instance. Enter the IP address followed by the port number 5900 and press Connect.

    ec2-launch-14

  18. Supply the password vncxyz.

    ec2-launch-15

  19. Send Ctrl-Alt-Del.

    ec2-launch-16

  20. Provide the password that you decrypted before. You may start the on screen keyboard if you have difficulties to enter the special characters in the password.

    ec2-launch-17

  21. Once connected, start a command line console and execute nvidia-smi to verify if the GRID K520 GPUs are visible.

    win-nvidia-smi

Booting an Instance of the Ubuntu AMI ubuntu14.04-cuda70-mono

Linux does not have the issue with the TCC mode.

Starting a instance of the Ubuntu AMI is very similar. The main difference is that the security group has to have a port rule for SSH on port 22. Then you connect directly with ssh to the instance.

If you want to experiment with the CUDA debugger use the Windows AMI win2012r2-cuda70-vsc2013 with pre-installed Visual Studio 2013 Community Edition.

Exploring Alea GPU

Now you can start exploring Alea GPU.

Important: the GRID K520 GPU is an enterprise GPU. Send us a mail to support(at)quantalea.com or sales(at)quantalea.com to request a temporary demo license.