SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Accelerate Your C/C++ Applications with
Amazon EC2 F1 Instances
Kristopher King
Engineering Manager
AWS
C M P 4 0 5
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Accelerate Your C/C++ Applications with
Amazon EC2 F1 Instances
The workshop requires an F1 (f1.2xl) instance limit 1 or more
Default AWS Account limits on F1 Instances are 0
To immediately increase your F1 instance limit:
1. Please submit your AWS Account number through this website:
http://bit.ly/F1Limit
2. Wait 5-10 mins before starting an F1 instance
C M P 4 0 5
Workshop prerequisite:
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
• F1 instance overview/updates
• Developer tools/kit
• Application acceleration
• Software defined acceleration
• Workshop
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related breakouts
Thursday, November 29
MFG401: Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloads
3:15PM | MGM, Level 1, Grand Ballroom 118
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
FPGAs—The ultimate parallel processing device
2.5 million system logic cells
6,800 DSP engines
345 Mb on-chip memory
No predefined instruction set or underlying architecture
Developer customizes the architecture to his needs
• Custom datapaths
• Custom bit-width
• Custom memory hierarchies
Excels at all types of parallelism
• Deeply pipelined (e.g., video codecs)
• Bit manipulations (e.g., AES, SHA)
• Wide datapath (e.g., DNN)
• Custom memory hierarchy (e.g., data analytics)
Adapts to evolving algorithms and workload needs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
F1 instances—Optimized for hardware accelerators
• Xilinx 16nm UltraScale+ VU9P FPGA – Up to 8 FPGA(s) per instance
• Each FPGA includes 64 GiB DDR4 ECC
• Up to full bandwidth PCIe x16
• 2.5 million logic elements and 6,800 Digital Signal Processing engines
• Three different instance sizes with up to 64 vCPUs per instance
• 32:1 memory to core ratio and up to 1 TB of RAM
• Includes local NVME storage
F1
Model FPGA vCPU Memory (GiB)
Instance storage
(GiB) Networking performance EBS bandwidth
f1.2xlarge 1 8 122 1 x 470 NVMe SSD Up to 10,000 Mbps 1,700 Mbps
f1.4xlarge 2 16 244 1 x 940 NVMe SSD Up to 10,000 Mbps 3,500 Mbps
f1.16xlarge 8 64 976 4 x 940 NVMe SSD 25,000 Mbps 14,000 Mbps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Machine
Image (AMI)
Amazon FPGA
Image (AFI)
CPU
Application
DDR-4
Attached
Memory
PCIe
An F1 instance can
have any number of
AFIs
An AFI can be loaded
into the FPGA in
secondsLaunch F1 instance
and load AFI
AMI
FPGA acceleration using F1
F1
DDR
Controllers
DDR-4
Attached
Memory
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What were we up to since last re:Invent?
More regions
IAD, PDX, GovCloud,
DUB
New: FRA, LHR, SYD
and BJS
New instance size
f1.4xlarge provides a
significant performance
boost compared to
f1.2xlarge
3 FPGA instance types
New features
Virtual Ethernet
networking packet
processing use-cases
Performance
improvements
Local instance NVMe
storage is now encrypted
with 256-bit encryption
Upgraded tools
Faster compile times
Higher frequencies and
improved timing
closure
Multiple bug fixes
F 1
F 1
F 1
F 1
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
F1
Use cases:
• Packet processing
• Security appliances
• Virtual appliancesEC2 Elastic
Network
Interface
(ENI)
Network
packets
streaming
to FPGA
F1 new capabilities: Packet processing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
F1 new capabilities: Accelerating pipelines
Single FPGA utilizing multiple AFIs at runtime
• Simplify dependencies in third-party IP
• Accelerate development of complex designs
AFI 1 AFI 2 AFI 3 AFI N
FPGA DRAM FPGA DRAM FPGA DRAM
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
F1 new capabilities: New tools
New FPGA developer AMI
- Faster compile times
- Higher frequencies
- Improved timing closure
- Supports Vivado 2018.2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Developer tools
GitHub:
aws/aws-fpga
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Development environments
SDAccel/
GitHub:
aws/aws-fpga/
hdk/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building Amazon FPGA Image (AFI)
F1 Ingestion Service
Encrypted
DCP
id AFI
id AFI
id AFI
AWS AFI Storage
Developer S3
CLI:
AWSXCLBIN (agfi-0123456789abcdefg)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Loading Amazon FPGA Image (AFI)
AWS AFI Storage
CLI:
x86 CPU
Host
Application
Drivers
Runtime Library
Acceleration APIs
id AFI
id AFI
id AFI
AWSXCLBIN+
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Developer kit examples
HDK
DMA (Direct Memory
Access)
URAM
VHDL
SDAccel
RTL Kernel
Security (AES, RSA, SHA1)
Computer vision (Affine, Convolve,
Huffman, IDCT)
File compression (Gzip)
WebP image compression
Financial
…80+ examples
HLx
HLS - DMA using IP Integrator
HLS – Digital up converter
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application acceleration
func2
func1 func2 func3 func4
func1 func3 func4
CPU
CPU
FPGA
FPGA handles compute-intensive, deeply pipelined,
massively parallel operations. CPU runs the
application code.With FPGA acceleration
Without acceleration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Remember Amdahl’s Law
Identify performance bottlenecks in the application
• Use profiling tools, analyze the “roof line” of a Flame Graph
func1 func2 func3 func4CPU
It’s better to accelerate
func2 by 2x…
…than to accelerate
func3 by 50x !
When NOT beneficial
– Little to no parallelism
• Algorithm is highly sequential over
multiple data
• Tasks are highly dependent
When May Not be beneficial
– Small problem size
– Cost of Host to Device transfers
outweighs benefit
When to USE
– Algorithm allows for parallelization
– Many similar tasks
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Twitch VP9 live encoding using F1
Saving 25% on cost / bandwidth
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
F1 use cases and partners
 Financial computing
 Genomics sequencing
 Engineering simulations
 Image and video processing
 Big data and machine learning
 Security, compression
 …and more
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecture of FPGA acceleration
PCIe
x86 CPU
Host Application
Drivers
Runtime Library
Acceleration APIs
FPGA
Accelerated Functions
Direct Memory Access
Engine
Global Memory
Configurable Interconnect
User
Application
Code
Acceleration
Platform
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
RTL, C/C++ or
OpenCL C
Link
C/C++ with
OpenCL API
Link
Host Application
Executable FPGA
Binary
(.awsxclbin)
Compile
Compile
Host
Application
FPGA
Kernels
Source Code
Development overview
AFI
Generation
.xclbin
gcc
SDx
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The FPGA kernel compilation
.xo
RTL
package_xo
.xo
C/C++
xocc -c
.xo
OpenCL
xocc -c
xocc -link PLATFORM
.xclbin
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Development flow
Software Emulation Hardware Emulation Hardware Execution
Host application runs with
a C/C++ or OpenCL model
of the Kernels
Host application runs with
a simulated RTL model of
the Kernels
Host application runs with
actual FPGA
implementation of the
Kernels
Confirm functional
correctness of the system
Test the host / kernel
integration, get
performance estimates
Confirm system runs
correctly and with desired
performance
Fastest turnaround time Best debug capabilities
Accurate performance
results
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Workshop
Start with introduction module:
https://github.com/awslabs/aws-fpga-app-
notes/blob/master/reInvent18_Developer_Workshop/README.md
FAQ
Q: Why are precompiled Amazon FPGA images (AFIs) being used in the workshop?
A: To reduce the length of the workshop we precompiled AFIs and made them public.
Q: Why does the workshop use F1.2xlarge instances?
A: Normally a developer would use non-F1 instance for development. To avoid switching
between instances during the workshop, we will use F1.2xlarge only.
Q: Why do I need to exit the terminal between modules?
A: Exiting the terminal is a required step that clears the environment variables between
modules.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’s next?
Resources:
Github: https://github.com/aws/aws-fpga
Developer Forum: https://forums.aws.amazon.com/forum.jspa?forumID=243
FPGA Developer AMI: https://aws.amazon.com/marketplace/pp/B06VVYBLZZ
F1 SDAccel On-demand lab: https://www.xilinx.com/products/design-tools/cloud-based-
acceleration/aws-f1-developer-lab-form.html
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kristopher King
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Contenu connexe

Tendances

Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Amazon Web Services
 
Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...
Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...
Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...Amazon Web Services
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Amazon Web Services
 
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018Amazon Web Services
 
Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...
Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...
Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...Amazon Web Services
 
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Pulkit Gupta
 
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...Amazon Web Services
 
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)Amazon Web Services
 
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Amazon Web Services
 
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018Amazon Web Services
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...Amazon Web Services
 
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Amazon Web Services
 
Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...
Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...
Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...Amazon Web Services
 
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018Amazon Web Services
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Amazon Web Services
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Amazon Web Services
 
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code ServicesPulkit Gupta
 
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...Amazon Web Services
 
How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...
How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...
How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...Amazon Web Services
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon Web Services
 

Tendances (20)

Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1) ...
 
Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...
Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...
Building BMW Group's Customer Engagement Platform on AWS (AMT305) - AWS re:In...
 
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
Deep Dive on Amazon EC2 Instances & Performance Optimization Best Practices (...
 
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
Migrating to AWS Fargate (CON311-R1) - AWS re:Invent 2018
 
Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...
Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...
Visualize and Monitor Live OTT Media Services on AWS (CTD402) - AWS re:Invent...
 
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)
 
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
Hands-On: Deploy Remote Graphics Desktops for Content Production (CMP422) - A...
 
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
使用 AWS EKS 打造高效原生雲端 (Cloud Native ) 設計 (Level 400)
 
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
Infrastructure as Code: AWS Best Practices (DEV411-R3) - AWS re:Invent 2018
 
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
Application Portability with Kubernetes (CMP310-S) - AWS re:Invent 2018
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
 
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
 
Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...
Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...
Integrate the AWS Cloud with Responsive Xilinx Machine Learning at the Edge (...
 
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
Running Kubernetes Across Multiple AWS Accounts (CON409) - AWS re:Invent 2018
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
Advanced Continuous Delivery Best Practices (DEV317-R1) - AWS re:Invent 2018
 
CI/CD with AWS Code Services
CI/CD with AWS Code ServicesCI/CD with AWS Code Services
CI/CD with AWS Code Services
 
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
 
How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...
How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...
How to Build Multi-Region Applications in the Cloud: AWS Developer Workshop -...
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
 

Similaire à Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances (CMP405) - AWS re:Invent 2018

Deep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated ComputingDeep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated ComputingAmazon Web Services
 
AWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated Computing
AWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated ComputingAWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated Computing
AWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated ComputingAmazon Web Services
 
Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...
Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...
Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...Amazon Web Services
 
Deep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated ComputingDeep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated ComputingAmazon Web Services
 
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28Amazon Web Services
 
Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances Amazon Web Services
 
Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...
Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...
Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...Amazon Web Services
 
Deep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech Talks
Deep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech TalksDeep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech Talks
Deep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech TalksAmazon Web Services
 
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...Amazon Web Services
 
Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319 Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319 Amazon Web Services
 
Computação de Alta Performance (HPC) na AWS - CMP201 - Sao Paulo Summit
Computação de Alta Performance (HPC) na AWS -  CMP201 - Sao Paulo SummitComputação de Alta Performance (HPC) na AWS -  CMP201 - Sao Paulo Summit
Computação de Alta Performance (HPC) na AWS - CMP201 - Sao Paulo SummitAmazon Web Services
 
Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017
Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017 Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017
Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017 Gadi Hutt
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementGanesan Narayanasamy
 
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAnnouncing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAmazon Web Services
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2Amazon Web Services
 
AWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdf
AWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdfAWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdf
AWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdfAmazon Web Services
 

Similaire à Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances (CMP405) - AWS re:Invent 2018 (20)

Deep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated ComputingDeep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated Computing
 
AWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated Computing
AWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated ComputingAWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated Computing
AWS Compute Evolved Week: Deep Dive on Amazon EC2 Accelerated Computing
 
Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...
Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...
Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances - CMP402 - re...
 
Deep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated ComputingDeep Dive on Amazon EC2 Accelerated Computing
Deep Dive on Amazon EC2 Accelerated Computing
 
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
Amazon EC2 deepdive and a sprinkel of AWS Compute | AWS Floor28
 
Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances Introduction to Amazon EC2 F1 Instances
Introduction to Amazon EC2 F1 Instances
 
Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...
Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...
Accelerate ML workloads using EC2 accelerated computing - CMP202 - Santa Clar...
 
Deep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech Talks
Deep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech TalksDeep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech Talks
Deep Dive on Amazon EC2 Accelerated Computing - AWS Online Tech Talks
 
SRV319 Amazon EC2 Foundations
SRV319 Amazon EC2 FoundationsSRV319 Amazon EC2 Foundations
SRV319 Amazon EC2 Foundations
 
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
 
Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319 Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319
 
EC2 Foundations - Laura Thomson
EC2 Foundations - Laura ThomsonEC2 Foundations - Laura Thomson
EC2 Foundations - Laura Thomson
 
Computação de Alta Performance (HPC) na AWS - CMP201 - Sao Paulo Summit
Computação de Alta Performance (HPC) na AWS -  CMP201 - Sao Paulo SummitComputação de Alta Performance (HPC) na AWS -  CMP201 - Sao Paulo Summit
Computação de Alta Performance (HPC) na AWS - CMP201 - Sao Paulo Summit
 
Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017
Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017 Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017
Amazon EC2 F1 Developing Cloud-Scale Accelerations Sep 13, 2017
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
 
FPGA MeetUp
FPGA MeetUpFPGA MeetUp
FPGA MeetUp
 
Announcing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAsAnnouncing Amazon EC2 F1 Instances with Custom FPGAs
Announcing Amazon EC2 F1 Instances with Custom FPGAs
 
AWSome Day Online Conference 2018 - Module 2
AWSome Day Online Conference 2018 -  Module 2AWSome Day Online Conference 2018 -  Module 2
AWSome Day Online Conference 2018 - Module 2
 
Amazon EC2 Foundations
Amazon EC2 FoundationsAmazon EC2 Foundations
Amazon EC2 Foundations
 
AWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdf
AWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdfAWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdf
AWSome Day Online Conference 2019 - Module 2 AWS Core Services.pdf
 

Plus de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances (CMP405) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances Kristopher King Engineering Manager AWS C M P 4 0 5
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Accelerate Your C/C++ Applications with Amazon EC2 F1 Instances The workshop requires an F1 (f1.2xl) instance limit 1 or more Default AWS Account limits on F1 Instances are 0 To immediately increase your F1 instance limit: 1. Please submit your AWS Account number through this website: http://bit.ly/F1Limit 2. Wait 5-10 mins before starting an F1 instance C M P 4 0 5 Workshop prerequisite:
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda • F1 instance overview/updates • Developer tools/kit • Application acceleration • Software defined acceleration • Workshop
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Related breakouts Thursday, November 29 MFG401: Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloads 3:15PM | MGM, Level 1, Grand Ballroom 118
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. FPGAs—The ultimate parallel processing device 2.5 million system logic cells 6,800 DSP engines 345 Mb on-chip memory No predefined instruction set or underlying architecture Developer customizes the architecture to his needs • Custom datapaths • Custom bit-width • Custom memory hierarchies Excels at all types of parallelism • Deeply pipelined (e.g., video codecs) • Bit manipulations (e.g., AES, SHA) • Wide datapath (e.g., DNN) • Custom memory hierarchy (e.g., data analytics) Adapts to evolving algorithms and workload needs
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. F1 instances—Optimized for hardware accelerators • Xilinx 16nm UltraScale+ VU9P FPGA – Up to 8 FPGA(s) per instance • Each FPGA includes 64 GiB DDR4 ECC • Up to full bandwidth PCIe x16 • 2.5 million logic elements and 6,800 Digital Signal Processing engines • Three different instance sizes with up to 64 vCPUs per instance • 32:1 memory to core ratio and up to 1 TB of RAM • Includes local NVME storage F1 Model FPGA vCPU Memory (GiB) Instance storage (GiB) Networking performance EBS bandwidth f1.2xlarge 1 8 122 1 x 470 NVMe SSD Up to 10,000 Mbps 1,700 Mbps f1.4xlarge 2 16 244 1 x 940 NVMe SSD Up to 10,000 Mbps 3,500 Mbps f1.16xlarge 8 64 976 4 x 940 NVMe SSD 25,000 Mbps 14,000 Mbps
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Machine Image (AMI) Amazon FPGA Image (AFI) CPU Application DDR-4 Attached Memory PCIe An F1 instance can have any number of AFIs An AFI can be loaded into the FPGA in secondsLaunch F1 instance and load AFI AMI FPGA acceleration using F1 F1 DDR Controllers DDR-4 Attached Memory
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What were we up to since last re:Invent? More regions IAD, PDX, GovCloud, DUB New: FRA, LHR, SYD and BJS New instance size f1.4xlarge provides a significant performance boost compared to f1.2xlarge 3 FPGA instance types New features Virtual Ethernet networking packet processing use-cases Performance improvements Local instance NVMe storage is now encrypted with 256-bit encryption Upgraded tools Faster compile times Higher frequencies and improved timing closure Multiple bug fixes F 1 F 1 F 1 F 1
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. F1 Use cases: • Packet processing • Security appliances • Virtual appliancesEC2 Elastic Network Interface (ENI) Network packets streaming to FPGA F1 new capabilities: Packet processing
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. F1 new capabilities: Accelerating pipelines Single FPGA utilizing multiple AFIs at runtime • Simplify dependencies in third-party IP • Accelerate development of complex designs AFI 1 AFI 2 AFI 3 AFI N FPGA DRAM FPGA DRAM FPGA DRAM
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. F1 new capabilities: New tools New FPGA developer AMI - Faster compile times - Higher frequencies - Improved timing closure - Supports Vivado 2018.2
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Developer tools GitHub: aws/aws-fpga
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Development environments SDAccel/ GitHub: aws/aws-fpga/ hdk/
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building Amazon FPGA Image (AFI) F1 Ingestion Service Encrypted DCP id AFI id AFI id AFI AWS AFI Storage Developer S3 CLI: AWSXCLBIN (agfi-0123456789abcdefg)
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Loading Amazon FPGA Image (AFI) AWS AFI Storage CLI: x86 CPU Host Application Drivers Runtime Library Acceleration APIs id AFI id AFI id AFI AWSXCLBIN+
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Developer kit examples HDK DMA (Direct Memory Access) URAM VHDL SDAccel RTL Kernel Security (AES, RSA, SHA1) Computer vision (Affine, Convolve, Huffman, IDCT) File compression (Gzip) WebP image compression Financial …80+ examples HLx HLS - DMA using IP Integrator HLS – Digital up converter
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application acceleration func2 func1 func2 func3 func4 func1 func3 func4 CPU CPU FPGA FPGA handles compute-intensive, deeply pipelined, massively parallel operations. CPU runs the application code.With FPGA acceleration Without acceleration
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Remember Amdahl’s Law Identify performance bottlenecks in the application • Use profiling tools, analyze the “roof line” of a Flame Graph func1 func2 func3 func4CPU It’s better to accelerate func2 by 2x… …than to accelerate func3 by 50x ! When NOT beneficial – Little to no parallelism • Algorithm is highly sequential over multiple data • Tasks are highly dependent When May Not be beneficial – Small problem size – Cost of Host to Device transfers outweighs benefit When to USE – Algorithm allows for parallelization – Many similar tasks
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Twitch VP9 live encoding using F1 Saving 25% on cost / bandwidth
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. F1 use cases and partners  Financial computing  Genomics sequencing  Engineering simulations  Image and video processing  Big data and machine learning  Security, compression  …and more
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Architecture of FPGA acceleration PCIe x86 CPU Host Application Drivers Runtime Library Acceleration APIs FPGA Accelerated Functions Direct Memory Access Engine Global Memory Configurable Interconnect User Application Code Acceleration Platform
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. RTL, C/C++ or OpenCL C Link C/C++ with OpenCL API Link Host Application Executable FPGA Binary (.awsxclbin) Compile Compile Host Application FPGA Kernels Source Code Development overview AFI Generation .xclbin gcc SDx
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The FPGA kernel compilation .xo RTL package_xo .xo C/C++ xocc -c .xo OpenCL xocc -c xocc -link PLATFORM .xclbin
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Development flow Software Emulation Hardware Emulation Hardware Execution Host application runs with a C/C++ or OpenCL model of the Kernels Host application runs with a simulated RTL model of the Kernels Host application runs with actual FPGA implementation of the Kernels Confirm functional correctness of the system Test the host / kernel integration, get performance estimates Confirm system runs correctly and with desired performance Fastest turnaround time Best debug capabilities Accurate performance results
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Workshop Start with introduction module: https://github.com/awslabs/aws-fpga-app- notes/blob/master/reInvent18_Developer_Workshop/README.md FAQ Q: Why are precompiled Amazon FPGA images (AFIs) being used in the workshop? A: To reduce the length of the workshop we precompiled AFIs and made them public. Q: Why does the workshop use F1.2xlarge instances? A: Normally a developer would use non-F1 instance for development. To avoid switching between instances during the workshop, we will use F1.2xlarge only. Q: Why do I need to exit the terminal between modules? A: Exiting the terminal is a required step that clears the environment variables between modules.
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s next? Resources: Github: https://github.com/aws/aws-fpga Developer Forum: https://forums.aws.amazon.com/forum.jspa?forumID=243 FPGA Developer AMI: https://aws.amazon.com/marketplace/pp/B06VVYBLZZ F1 SDAccel On-demand lab: https://www.xilinx.com/products/design-tools/cloud-based- acceleration/aws-f1-developer-lab-form.html
  • 33. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kristopher King
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.