Accelerated Computing Instances is a family of instances on the Amazon EC2 Instances that support functions such as graphics processing and floating number point calculations in a more efficient manner than is possible by software in CPUs, by using hardware accelerators or co-processors.
There are three types of Accelerated Computing Instances for supporting different functionalities.
a. GPU compute instances help you perform general purpose computing functions.
b. GPU graphics instance is used for performing functions on graphics intensive applications.
c. FPGA programmable hardware compute instances are advanced type of instances that are used to manage highly advanced scientific workloads.
GPU instances are great when you are dealing with applications that have massive parallelism, for instance workloads having too many threads. Basically, there are huge computational requirements in graphics processing, there are many tasks and each of them is relatively small, as these operations are performed, they form a pipeline which is more important than any individual operation. So, there are many threads involved and there is parallelism at an enormous level, the understanding of which requires the use of GPU Graphics and Compute instances with relevant knowledge of how to program the graphics APIs and other GPU compute programming models.
The basic difference between the P3 instances and G3 instances comes from the purpose for which they are used. P3 instances are used for the general-purpose GPU computing instances while the G3 instances support the high-performance graphics application.
The P3 instances are powered by up to 8 latest generation NVIDIA Tesla V100 GPUs which enhance the performance and provide scalability along with many new features that add up to the benefit of using these instances.
The G3 instances on the other hand are powered by NVIDIA Tesla M60 GPUs which have stellar performance and can support NVIDIA Grid Virtual Workstation Features.
GV100 GPU has come as a great advancement to its predecessor and significantly improves the performance and scalability for the applications, processes, and functionalities. Also, it enhances the programmability with the addition of new and advanced features that supercharge the data center, HPC, supercomputer, and the systems and applications.
P3 instances have the capabilities to accelerate and enhance the programmability of deep learning systems and applications using GPUs. They can be used for applications such as autonomous vehicle platforms; text, image, and speech recognition systems; big data analytics; robotics; financial modelling; factory automations; language transition; and a lot more.
The customers can achieve better performance and programmability for their applications with GPU powered instances. These instances are designed for parallel processing and can easily support the operations involving large threads of relatively small tasks. And it’s easier for the developers to manage and build HPC applications with GPU powered instances across different verticals.
No, they do not support it. These instances only support the Amazon VPC.
P2 instances are the instances that provides the users high-bandwidth networking, powerful single and double precision floating point capabilities, and error correcting code for managing general purpose GPU workloads using NVIDIA Tesla K80 GPUs, CUDA, and OpenCL programming models.
Different instances of the GPU Graphics and Compute Instances support different APIs and Programming models.
P3 Instances support CUDA and OpenCL. P2 Instances support CUDA 8 and OpenCL 1.2. G3 Instances support far more than this such as DirectX 12, OpenGL 4.5, CUDA 8, and OpenCL 1.2.
There are two alternative ways to get the instances. First, you can get them from the listings in the AWS Marketplace. These listings offer Amazon Linux AMIs and Windows Server AMIs which have the NVIDIA drivers for the instances pre-installed on them.
Alternatively, you can visit the NVIDIA driver website, search the drivers for the instances, launch them, and install them yourself into the AMIs.
Currently, you can use the AMIs like Windows Server, Ubuntu, SUSE Enterprise Linux, and Amazon Linux. However, these can be used only for the P2 and G3 Instances. The P3 instances only support the HVM AMIs at present.
No, the use of instances does not necessarily require any third-party licenses. You only have to take them for NVIDIA drivers and SDK. However, though the instances directly do not need the licenses, it is possible that your content or data on these instances may need them. The onus of determining the need for licenses for these content and data lies upon you. For instance, when you are streaming content using these instances, you need to have the valid license for that streaming.
This requires special NVIDIA Grid Driver so that you can enable the advanced graphic features. So, a driver installed from NVIDIA website will not work for it. You need to use an AMI that has an NVIDIA driver pre-installed in it. If you still want to install the driver by yourself, follow the AWS Documentation for the same and then you will be easily able to use the grid features.
Amazon EC2 F1 is a type of compute instance that is used for application acceleration. It comes with a programmable hardware and provides high performance along with access to FPGA so that you can easily develop and deploy hardware applications and accelerations for your systems.
FPGAs are programmable integrated circuits that are used for acceleration of hardware for better performance and speed. These circuits can be configured using software and allow you to accelerate applications up to 30x as compared to what is possible with servers that use only CPUs. Moreover, these circuits can also be reprogrammed, thus you have the flexibility to have your hardware acceleration updated and optimized without any need for redesigning the hardware.
F1 instance provides you programmable hardware for application acceleration along with access to FPGA hardware. With that access, you do not have to invest time in full-cycle FPGA development and that reduces deployment time from years to months to days. FPGA had been in existence for a long time, however, the development of accelerators and adoption of application acceleration through them was difficult due to the higher time to market and huge costs involved. With the use of F1 instances, it has become easier for the customers to avoid the costs involved in development of FPGAs within the on-premise environment.
Amazon FPGA image is the design used for the creation and programming of your FPGA. You can easily register, manage, copy, query, and delete these AFIs using Amazon Services. Once these AFIs are created, you can load them to the running F1 instances, while also switching between different AFIs in the runtime without reboot. With that capability, you can easily test and run several hardware accelerations while offering your customers a combination of your FPGA acceleration and AMI software with AFI drivers.
First, you have to develop your AFI and software drivers/tools for using the same. Next, package these tools into an encrypted Amazon machine Image. Now, to sell your products on Amazon Marketplace, you must sign up to be a reseller with them. For this, you need to submit your AMI id and AFI id which is intended to be packaged as a single product. The AWS Marketplace clones these ids to create a product and associate a product code to the same in a manner that any end user who shall subscribe to this product code will have access to the AMI and AFI.