SlideShare a Scribd company logo
1 of 28
Download to read offline
RAPIDFIRE	
  API	
  FOR	
  WORKSTATIONS	
  	
  
BRUNO	
  STEFANIZZI	
  
CHRISTOPHER	
  MAYER	
  
DMITRY	
  KOZLOV	
  
AMD	
  VDI	
  SOLUTIONS	
  
Different	
  soluHons	
  for	
  each	
  workflows	
  
GPU

APU

High End GPU

Low Power

Dual GPU card

High Density

High GPU density

•  No Virtualization required

•  Virtualization (VMWare, Citrix, Microsoft)

•  1-1

•  1-1 or 1-n

•  High Performance/Watt/$ ratio
More flexibility in
workflow

Regular
workflow
• 

Real time Graphics

High	
  	
  
Performance	
  

Low	
  Power	
  
Tablet	
  
2	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Notebook	
  

Desktop	
  

WorkstaHon	
  

Large Data

• 

• 

Compute and Graphics
AMD GPU for Server

	
  

	
  

AMD	
  FirePro Sky
	
  
For	
  GPU	
  Compute	
  
	
  
For	
  Virtualiza@on	
  
	
  
For	
  Virtualiza@on	
  
AMD Radeon Sky

Engineering	
  -­‐	
  
CAD/CAE	
  
Media	
  &	
  
Entertainment	
  
Medical	
  
Educa@on	
  &	
  
Research	
  

Cloud	
  Gaming	
  	
  

3	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
AMD RapidFire Technology
! Most	
  remote	
  graphics	
  soluHons	
  are	
  CPU	
  based	
  
! RapidFire	
  is	
  dedicated	
  cloud	
  hardware	
  and	
  soVware	
  soluHon	
  with	
  API	
  to	
  simplify	
  
integraHon	
  
– 	
  Deliver	
  more	
  HD	
  games	
  streams	
  per	
  GPU	
  with	
  low	
  latency	
  -­‐>	
  6	
  x	
  HD	
  720p30	
  fps	
  
– 	
  Leverage	
  AMD	
  hardware	
  on	
  both	
  server	
  and	
  client	
  
– 	
  Runs	
  on	
  any	
  hardware	
  
Low	
  
Latency	
  

HD	
  Image/Audio	
  
Quality	
  

4	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Mul@ple	
  Streams	
  

Virtualiza@on	
  
Enablement	
  
AMD RapidFire Technology
! 	
  Design	
  for	
  many	
  use	
  cases	
  and	
  workflows	
  

High	
  
resolu@on	
  

Collabora@ve	
  
applica@on	
  	
  
with	
  mul@stream	
  

5	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Virtual	
  Desktop	
  

Adap@ve	
  to	
  	
  
Network	
  environment	
  
AMD RapidFire Technology
! 	
  4	
  independent	
  components	
  using	
  soVware	
  and	
  hardware	
  acceleraHon	
  	
  

Server	
  

!  HW	
  H264	
  Encoding	
  

Network	
  

!  AdapHve	
  protocol	
  

Client	
  

!  HW	
  H264	
  Decoding	
  

User	
  Interface	
  

!  Touch	
  

!  GPU	
  Encoding	
  

!  CPU	
  Decoding	
  

!  CPU	
  Encoding	
  

!  Custom	
  GPU	
  Decoding	
  

!  Mouse	
  

!  Plugins	
  Encoding	
  

!  MulH-­‐plaeorm	
  (Win/
Linux/IOS/Android)	
  

!  MulH-­‐plaeorm	
  

!  MulH-­‐stream	
  
!  MulH-­‐API	
  (DX9/11/
OpenGL/	
  
OpenCL)	
  
!  EncrypHon	
  
!  Desktop	
  and	
  window	
  
direct	
  encoding	
  
6	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  MulH-­‐API	
  (DX9/11/
OpenGL/	
  
OpenCL)	
  

!  Keyboard	
  
RAPIDFIRE	
  TECHNOLOGY	
  
DATA	
  FLOW	
  OVERVIEW	
  

Client	
  

Server	
  
SERVER	
  
SOFTWARE	
  

NETWORK	
  	
  

NETWORK	
  

FirePro	
  Sky	
  GPU	
  
	
  
3D	
  ENGINE	
  

ENCODE	
  

FRAME	
  BUFFER	
  

7	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  RF	
  API	
  module	
  
!  external	
  module	
  

	
  DECODE	
  

UI	
  

FRAME	
  BUFFER	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

FirePro	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

8	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
SERVER	
  
SOFTWARE	
  

NETWORK	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

FirePro	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

9	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
SERVER	
  
SOFTWARE	
  

!  Server	
  renders	
  the	
  desktop	
  

NETWORK	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

FirePro	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

10	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
SERVER	
  
SOFTWARE	
  

!  Server	
  renders	
  the	
  desktop	
  

NETWORK	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

FirePro	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

11	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
SERVER	
  
SOFTWARE	
  

!  Server	
  renders	
  the	
  desktop	
  

NETWORK	
  

!  VCE	
  is	
  performing	
  
asynchronous	
  desktop	
  
capture	
  and	
  encoding	
  into	
  
H264	
  video	
  stream	
  and	
  the	
  
data	
  is	
  fetched	
  to	
  system	
  
memory	
  by	
  the	
  app	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

FirePro	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

12	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
SERVER	
  
SOFTWARE	
  

!  Server	
  renders	
  the	
  desktop	
  

NETWORK	
  

!  VCE	
  is	
  performing	
  
asynchronous	
  desktop	
  
capture	
  and	
  encoding	
  into	
  
H264	
  video	
  stream	
  and	
  the	
  
data	
  is	
  fetched	
  to	
  system	
  
memory	
  by	
  the	
  app	
  
!  Video	
  stream	
  gets	
  send	
  to	
  
the	
  client	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
NETWORK	
  

CLIENT	
  
SOFTWARE	
  

DECODE	
  AUDIO	
  

Input	
  
devices	
  

DECODE	
  

UI	
  

Audio	
  device	
  

Radeon	
  GPU	
  

13	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

FRAME	
  BUFFER	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  	
  Client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
NETWORK	
  

CLIENT	
  
SOFTWARE	
  

DECODE	
  

Input	
  
devices	
  

H264	
  DECODE	
  

UI	
  

Audio	
  device	
  

Radeon	
  GPU	
  

14	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

FRAME	
  BUFFER	
  

!  The	
  client	
  sends	
  the	
  stream	
  
to	
  Radeon	
  GPU	
  which	
  
performs	
  H264	
  hardware	
  
decoding	
  to	
  the	
  frame	
  
buffer	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
NETWORK	
  

CLIENT	
  
SOFTWARE	
  

DECODE	
  AUDIO	
  

Input	
  
devices	
  

DECODE	
  

!  Sound	
  stream	
  is	
  decoded	
  
using	
  soVware	
  audio	
  codec	
  
and	
  sent	
  to	
  audio	
  hardware	
  

UI	
  

Audio	
  device	
  

Radeon	
  GPU	
  

15	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  The	
  client	
  sends	
  the	
  stream	
  
to	
  Radeon	
  GPU	
  which	
  
performs	
  H264	
  hardware	
  
decoding	
  to	
  the	
  frame	
  
buffer	
  

FRAME	
  BUFFER	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
NETWORK	
  

CLIENT	
  
SOFTWARE	
  

DECODE	
  AUDIO	
  

Radeon	
  GPU	
  
DECODE	
  

!  The	
  client	
  sends	
  the	
  stream	
  
to	
  Radeon	
  GPU	
  which	
  
performs	
  H264	
  hardware	
  
decoding	
  to	
  the	
  frame	
  
buffer	
  
!  Sound	
  stream	
  is	
  decoded	
  
using	
  soVware	
  audio	
  codec	
  
and	
  sent	
  to	
  audio	
  hardware	
  

UI	
  

!  UI	
  events	
  are	
  collected	
  by	
  
the	
  client	
  and	
  sent	
  over	
  the	
  
network	
  to	
  the	
  server	
  

Audio	
  device	
  

16	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Input	
  
devices	
  

FRAME	
  BUFFER	
  
THE	
  RAPIDFIRE	
  API	
  
COMPONENTS	
  

"  Server	
  component	
  
The	
  server	
  component	
  provides	
  funcHons	
  for	
  the:	
  
‒  Encoding	
  of	
  video	
  and	
  audio	
  data	
  
‒  Color	
  space	
  conversion	
  
‒  Capturing	
  of	
  the	
  desktop	
  
‒  Handling	
  of	
  mulHple	
  render	
  targets	
  
‒  Interoperability	
  with	
  OpenGL,	
  D3D9	
  and	
  D3D11	
  
	
  

"  Network	
  component	
  
The	
  Network	
  component	
  is	
  a	
  sample	
  implementaHon	
  
of	
  video	
  and	
  audio	
  streaming	
  based	
  on	
  the	
  LIVE555	
  
Media	
  Server.	
  	
  
	
  

"  User	
  Interface	
  
The	
  UI	
  component	
  provide	
  funcHons	
  to:	
  
‒  Capture	
  user	
  events	
  on	
  the	
  client	
  
‒  Send	
  the	
  events	
  to	
  the	
  server	
  for	
  processing	
  

"  Client	
  component	
  
The	
  client	
  component	
  provides	
  funcHons	
  for:	
  
‒  Decoding	
  of	
  video	
  and	
  audio	
  streams	
  
‒  Color	
  space	
  conversion	
  
‒  Interoperability	
  with	
  OpenGL,	
  D3D9	
  and	
  D3D11	
  
	
  

17	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
IniHalizaHon	
  

Render	
  Loop	
  

Create	
  RenderTarget	
  

Draw	
  to	
  free	
  
RenderTarget	
  

rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

rfCreateEncoder	
  

rfEncodeFrame	
  

rfGetEncodedFrame	
  

rfRtspServerSendFrame	
  

Done?	
  

18	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
IniHalizaHon	
  

Create	
  RenderTarget	
  

rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

rfCreateEncoder	
  

"  rfCreateEncodeSession	
  
‒  Creates	
  an	
  encoding	
  session	
  on	
  the	
  server.	
  The	
  sessions	
  encapsulates	
  the	
  following	
  
components:	
  
‒  Rendering	
  context/device	
  
‒  Compute	
  context	
  that	
  is	
  used	
  for	
  the	
  color	
  space	
  conversion	
  
‒  Render	
  targets	
  
‒  Desktop	
  
‒  The	
  encoder:	
  SW,	
  VCE	
  or	
  IDENTITY	
  
	
  

‒  The	
  following	
  session	
  types	
  are	
  supported	
  
‒  OpenGL	
  
‒  DX9	
  /	
  DX9Ex	
  
‒  DX11	
  
‒  Desktop	
  capturing	
  

19	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
IniHalizaHon	
  

Create	
  RenderTarget	
  

rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

rfCreateEncoder	
  

"  rfCreateEncodeSession	
  
‒  CreaHng	
  an	
  OpenGL	
  session	
  that	
  uses	
  the	
  VCE	
  HW	
  encoding	
  
	
  	
  	
  	
  RFProperties	
  props[]	
  =	
  {	
  RF_GL_GRAPHICS_CTX,	
  (RFProperties)hGLRC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_GL_DEVICE_CTX,	
  	
  	
  (RFProperties)hDC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER,	
  	
  	
  	
  	
  	
  	
  	
  	
  (RFProperties)RF_VCE,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  };	
  
	
  
	
  	
  	
  	
  //	
  Create	
  RapidFire	
  encoding	
  session	
  
	
  	
  	
  	
  RFEncodeSession	
  session	
  =	
  rfCreateEncodeSession(props);	
  
	
  

"  rfRegisterRenderTargt	
  	
  
	
  	
  	
  	
  for	
  (unsigned	
  int	
  i	
  =	
  0;	
  i	
  <	
  NUM_RENDER_TARGETS;	
  i++)	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  rfRegisterRenderTarget(session,	
  RF_RT_GL_TEXTURE,	
  uiTexName[i],	
  uiWidth,	
  uiHeight,	
  &renderTargetIdx[i]));	
  
	
  	
  	
  	
  }	
  
	
  

	
  
	
  
‒  Input:	
  Name	
  of	
  the	
  OpenGL	
  Texture,	
  dimension	
  of	
  the	
  texture	
  
‒  Output:	
  The	
  index	
  used	
  by	
  RF	
  to	
  idenHfy	
  this	
  render	
  target	
  

20	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
IniHalizaHon	
  

"  rfCreateEncoder	
  
‒  CreaHng	
  an	
  Encoder	
  using	
  a	
  preset	
  configuraHon	
  
rfCreateEncoder(session,	
  uiWidth,	
  uiHeight,	
  RF_ENCODE_FAST)	
  
	
  

Create	
  RenderTarget	
  

‒  The	
  following	
  presets	
  are	
  supported:	
  
rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

‒  RF_ENCODE_FAST	
  
‒  RF_ENCODE_BALANCED	
  
‒  RF_ENCODE_QUALITY	
  

"  rfCreateEncoder2	
  
‒  CreaHng	
  an	
  encoder	
  using	
  properHes	
  

rfCreateEncoder	
  

//	
  Create	
  encoder	
  using	
  properties	
  
RFProperties	
  props[]	
  =	
  {	
  RF_ENCODER_PROFILE,	
  (RFProperties)RF_MAIN,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER_LEVEL,	
  	
  	
  (RFProperties)41,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER_BITRATE,	
  (RFProperties)6000000,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER_FPS,	
  	
  	
  	
  	
  (RFProperties)30,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  };	
  
	
  
rfCreateEncoder2(session,	
  uiWidth,	
  uiHeight,	
  props));	
  
	
  

21	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
Render	
  Loop	
  

"  rfEncodeFrame	
  
rfEncodeFrame(session,	
  renderTargetIdx[uiCurrentRT]));	
  

Draw	
  to	
  free	
  
RenderTarget	
  

rfEncodeFrame	
  

rfGetEncodedFrame	
  

rfRtspServerSendFrame	
  

Done?	
  

‒  Non-­‐blocking	
  call	
  to	
  submit	
  a	
  frame	
  for	
  encoding	
  

"  rfGetEncodedFrame	
  
//	
  Check	
  if	
  encoded	
  frame	
  is	
  ready	
  
if	
  (rfIsEncodedFrameReady(session))	
  
{	
  
	
  	
  	
  if	
  (rfGetEncodedFrame(session,	
  &uiBitStreamSize,	
  (void**)&pBitStreamdata)	
  ==	
  RF_STATUS_OK)	
  
	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  if	
  (uiBitStreamSize	
  >	
  0)	
  
	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  Send	
  encoded	
  frame	
  to	
  Network	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  rtspStatus	
  =	
  rfRtspServerSendFrame(rtsp_sn,	
  pBitStreamdata,	
  uiBitStreamSize,	
  tv.tv_sec,	
  tv.tv_usec,	
  1);	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  }	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
}	
  

‒  Check	
  first	
  if	
  a	
  frame	
  is	
  ready	
  
‒  If	
  a	
  frame	
  is	
  available	
  get	
  the	
  data	
  to	
  system	
  memory	
  
‒  Send	
  the	
  frame	
  over	
  the	
  network	
  to	
  the	
  client	
  

22	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  

IniHalizaHon	
  

Render	
  Loop	
  

Create	
  Target	
  Textures	
  

Wait	
  to	
  receive	
  frame	
  

rfCreateDecodeSession	
  

rfDecodeFrame	
  

rfRegisterTargetTexture	
  

Display	
  frame	
  using	
  
Target	
  Texture	
  

rfCreateVideoDecoder	
  

23	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Done?	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
IniHalizaHon	
  

"  rfCreateDecodeSession	
  
‒  Creates	
  a	
  decoding	
  session	
  on	
  the	
  client.	
  The	
  sessions	
  encapsulates	
  the	
  following	
  
components:	
  

Create	
  Target	
  Textures	
  

rfCreateDecodeSession	
  

rfRegisterTargetTexture	
  

rfCreateVideoDecoder	
  

‒  Rendering	
  context/device	
  
‒  Compute	
  context	
  that	
  is	
  used	
  for	
  the	
  color	
  space	
  conversion	
  
‒  Target	
  Textures	
  
‒  Decoder:	
  SW	
  or	
  UVD	
  
	
  

‒  The	
  following	
  session	
  are	
  supported	
  
‒  OpenGL	
  
‒  DX9	
  /	
  DX9Ex	
  
‒  DX11	
  

24	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
IniHalizaHon	
  

Create	
  Target	
  Textures	
  

rfCreateDecodeSession	
  

rfRegisterTargetTexture	
  

rfCreateVideoDecoder	
  

"  rfCreateDecodeSession	
  
RFProperties	
  props[]	
  =	
  {	
  RF_GL_GRAPHICS_CTX,	
  (RFProperties)hGLRC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_GL_DEVICE_CTX,	
  	
  	
  (RFProperties)hDC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_DECODER,	
  	
  	
  	
  	
  	
  	
  	
  	
  (RFProperties)RF_UVD,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  };	
  
	
  
//	
  Create	
  RapidFire	
  decoding	
  session	
  
RFDecSession	
  session	
  =	
  rfCreateDecodeSession(props);	
  
	
  

‒  Creates	
  an	
  OpenGL	
  session	
  that	
  uses	
  the	
  UVD	
  decoder	
  

"  rfRegisterTargetTexture	
  
rfRegisterTargetTexture(session,	
  uiTextureName);	
  
	
  

‒  Registers	
  an	
  OpenGL	
  texture	
  	
  
‒  The	
  texture	
  will	
  be	
  used	
  to	
  store	
  the	
  decoded	
  frame	
  

25	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
IniHalizaHon	
  

"  rfCreateVideoDecoder	
  
rfCreateVideoDecoder(session,	
  uiWidth,	
  uiHeight);	
  
	
  

Create	
  Target	
  Textures	
  

‒  Create	
  the	
  actual	
  decoder	
  
rfCreateDecodeSession	
  

rfRegisterTargetTexture	
  

rfCreateVideoDecoder	
  

26	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
Render	
  Loop	
  

"  rfDecodeFrame	
  
rfDecodeFrame(session);	
  
	
  

Wait	
  to	
  receive	
  frame	
  

rfDecodeFrame	
  

‒  Decodes	
  a	
  frame	
  
‒  The	
  decoded	
  frame	
  is	
  stored	
  in	
  the	
  registered	
  texture	
  
‒  Now	
  the	
  applicaHon	
  can	
  use	
  the	
  texture	
  to	
  display	
  the	
  frame	
  

Display	
  frame	
  using	
  
Target	
  Texture	
  

Done?	
  

27	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
DISCLAIMER	
  &	
  ATTRIBUTION	
  

The	
  informaHon	
  presented	
  in	
  this	
  document	
  is	
  for	
  informaHonal	
  purposes	
  only	
  and	
  may	
  contain	
  technical	
  inaccuracies,	
  omissions	
  and	
  typographical	
  errors.	
  
	
  
The	
  informaHon	
  contained	
  herein	
  is	
  subject	
  to	
  change	
  and	
  may	
  be	
  rendered	
  inaccurate	
  for	
  many	
  reasons,	
  including	
  but	
  not	
  limited	
  to	
  product	
  and	
  roadmap	
  
changes,	
  component	
  and	
  motherboard	
  version	
  changes,	
  new	
  model	
  and/or	
  product	
  releases,	
  product	
  differences	
  between	
  differing	
  manufacturers,	
  soVware	
  
changes,	
  BIOS	
  flashes,	
  firmware	
  upgrades,	
  or	
  the	
  like.	
  AMD	
  assumes	
  no	
  obligaHon	
  to	
  update	
  or	
  otherwise	
  correct	
  or	
  revise	
  this	
  informaHon.	
  However,	
  AMD	
  
reserves	
  the	
  right	
  to	
  revise	
  this	
  informaHon	
  and	
  to	
  make	
  changes	
  from	
  Hme	
  to	
  Hme	
  to	
  the	
  content	
  hereof	
  without	
  obligaHon	
  of	
  AMD	
  to	
  noHfy	
  any	
  person	
  of	
  
such	
  revisions	
  or	
  changes.	
  
	
  
AMD	
  MAKES	
  NO	
  REPRESENTATIONS	
  OR	
  WARRANTIES	
  WITH	
  RESPECT	
  TO	
  THE	
  CONTENTS	
  HEREOF	
  AND	
  ASSUMES	
  NO	
  RESPONSIBILITY	
  FOR	
  ANY	
  
INACCURACIES,	
  ERRORS	
  OR	
  OMISSIONS	
  THAT	
  MAY	
  APPEAR	
  IN	
  THIS	
  INFORMATION.	
  
	
  
AMD	
  SPECIFICALLY	
  DISCLAIMS	
  ANY	
  IMPLIED	
  WARRANTIES	
  OF	
  MERCHANTABILITY	
  OR	
  FITNESS	
  FOR	
  ANY	
  PARTICULAR	
  PURPOSE.	
  IN	
  NO	
  EVENT	
  WILL	
  AMD	
  BE	
  
LIABLE	
  TO	
  ANY	
  PERSON	
  FOR	
  ANY	
  DIRECT,	
  INDIRECT,	
  SPECIAL	
  OR	
  OTHER	
  CONSEQUENTIAL	
  DAMAGES	
  ARISING	
  FROM	
  THE	
  USE	
  OF	
  ANY	
  INFORMATION	
  
CONTAINED	
  HEREIN,	
  EVEN	
  IF	
  AMD	
  IS	
  EXPRESSLY	
  ADVISED	
  OF	
  THE	
  POSSIBILITY	
  OF	
  SUCH	
  DAMAGES.	
  
	
  
ATTRIBUTION	
  
©	
  2013	
  Advanced	
  Micro	
  Devices,	
  Inc.	
  All	
  rights	
  reserved.	
  AMD,	
  the	
  AMD	
  Arrow	
  logo	
  and	
  combinaHons	
  thereof	
  are	
  trademarks	
  of	
  Advanced	
  Micro	
  Devices,	
  
Inc.	
  in	
  the	
  United	
  States	
  and/or	
  other	
  jurisdicHons.	
  	
  SPEC	
  	
  is	
  a	
  registered	
  trademark	
  of	
  the	
  Standard	
  Performance	
  EvaluaHon	
  CorporaHon	
  (SPEC).	
  Other	
  
names	
  are	
  for	
  informaHonal	
  purposes	
  only	
  and	
  may	
  be	
  trademarks	
  of	
  their	
  respecHve	
  owners.	
  
28	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

More Related Content

What's hot

HC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasHC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasAMD Developer Central
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyAMD Developer Central
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...AMD Developer Central
 
Final lisa opening_keynote_draft_-_v12.1tb
Final lisa opening_keynote_draft_-_v12.1tbFinal lisa opening_keynote_draft_-_v12.1tb
Final lisa opening_keynote_draft_-_v12.1tbr Skip
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...AMD Developer Central
 
HSA-4122, "HSA Queuing Mode," by Ian Bratt
HSA-4122, "HSA Queuing Mode," by Ian BrattHSA-4122, "HSA Queuing Mode," by Ian Bratt
HSA-4122, "HSA Queuing Mode," by Ian BrattAMD Developer Central
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahAMD Developer Central
 
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...AMD Developer Central
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...AMD Developer Central
 
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin CoumansGS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin CoumansAMD Developer Central
 
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor MillerPL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor MillerAMD Developer Central
 
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...AMD Developer Central
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...AMD Developer Central
 
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...AMD Developer Central
 
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...AMD Developer Central
 
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...AMD Developer Central
 
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoMM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoAMD Developer Central
 
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...AMD Developer Central
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
 
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...AMD Developer Central
 

What's hot (20)

HC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasHC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu Das
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
 
Final lisa opening_keynote_draft_-_v12.1tb
Final lisa opening_keynote_draft_-_v12.1tbFinal lisa opening_keynote_draft_-_v12.1tb
Final lisa opening_keynote_draft_-_v12.1tb
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
 
HSA-4122, "HSA Queuing Mode," by Ian Bratt
HSA-4122, "HSA Queuing Mode," by Ian BrattHSA-4122, "HSA Queuing Mode," by Ian Bratt
HSA-4122, "HSA Queuing Mode," by Ian Bratt
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
 
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
CC-4001, Aparapi and HSA: Easing the developer path to APU/GPU accelerated Ja...
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
 
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin CoumansGS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
GS-4150, Bullet 3 OpenCL Rigid Body Simulation, by Erwin Coumans
 
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor MillerPL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
PL-4043, Accelerating OpenVL for Heterogeneous Platforms, by Gregor Miller
 
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4051, An Introduction to SPIR for OpenCL Application Developers and Compil...
 
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
 
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
 
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey PavlenkoMM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
MM-4097, OpenCV-CL, by Harris Gasparakis, Vadim Pisarevsky and Andrey Pavlenko
 
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
PL-4042, Wholly Graal: Accelerating GPU offload for Java/Sumatra using the Op...
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
 
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
 

Similar to RapidFire API for Optimized Workstation Graphics

RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14AMD Developer Central
 
RemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsRemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsAmit Gatenyo
 
Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Low Hong Chuan
 
6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WIND
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)DevGAMM Conference
 
Mersive Solstice SDS Management Software
Mersive Solstice SDS Management SoftwareMersive Solstice SDS Management Software
Mersive Solstice SDS Management SoftwarePaul Richards
 
Living bits and things 2013 - Using peer-to-peer and distributed technologies...
Living bits and things 2013 - Using peer-to-peer and distributed technologies...Living bits and things 2013 - Using peer-to-peer and distributed technologies...
Living bits and things 2013 - Using peer-to-peer and distributed technologies...Carsten Rhod Gregersen
 
Getting Started with Amazon AppStream
Getting Started with Amazon AppStreamGetting Started with Amazon AppStream
Getting Started with Amazon AppStreamAmazon Web Services
 
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...AMD Developer Central
 
Understanding PCoIP and Zero Clients
Understanding PCoIP and Zero ClientsUnderstanding PCoIP and Zero Clients
Understanding PCoIP and Zero ClientsJennifer Phillips
 
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld
 
Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014Marius Preda PhD
 
Mersive Solstice & the Corporate Enterprise Network
Mersive Solstice & the Corporate Enterprise NetworkMersive Solstice & the Corporate Enterprise Network
Mersive Solstice & the Corporate Enterprise NetworkPaul Richards
 
VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...
VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...
VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...VMworld
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will neverTrueConf
 
Windows Server 2012 R2 Jump Start - Intro
Windows Server 2012 R2 Jump Start - IntroWindows Server 2012 R2 Jump Start - Intro
Windows Server 2012 R2 Jump Start - IntroPaulo Freitas
 
Streambox Post Production Solutions
Streambox Post Production SolutionsStreambox Post Production Solutions
Streambox Post Production SolutionsAlli Gates
 

Similar to RapidFire API for Optimized Workstation Graphics (20)

RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
 
RemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsRemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote Desktops
 
Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Radeon Software Crimson ReLive
Radeon Software Crimson ReLive
 
6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
 
Mersive Solstice SDS Management Software
Mersive Solstice SDS Management SoftwareMersive Solstice SDS Management Software
Mersive Solstice SDS Management Software
 
Living bits and things 2013 - Using peer-to-peer and distributed technologies...
Living bits and things 2013 - Using peer-to-peer and distributed technologies...Living bits and things 2013 - Using peer-to-peer and distributed technologies...
Living bits and things 2013 - Using peer-to-peer and distributed technologies...
 
Getting Started with Amazon AppStream
Getting Started with Amazon AppStreamGetting Started with Amazon AppStream
Getting Started with Amazon AppStream
 
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
CE-4028, Miracast with AMD Wireless Display technology – Kickass gaming and o...
 
ARM
ARMARM
ARM
 
Understanding PCoIP and Zero Clients
Understanding PCoIP and Zero ClientsUnderstanding PCoIP and Zero Clients
Understanding PCoIP and Zero Clients
 
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
 
Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014Mpeg ARAF tutorial @ ISMAR 2014
Mpeg ARAF tutorial @ ISMAR 2014
 
Mersive Solstice & the Corporate Enterprise Network
Mersive Solstice & the Corporate Enterprise NetworkMersive Solstice & the Corporate Enterprise Network
Mersive Solstice & the Corporate Enterprise Network
 
3DgraphicsAndAR
3DgraphicsAndAR3DgraphicsAndAR
3DgraphicsAndAR
 
VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...
VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...
VMworld 2016: Advances in Remote Display Protocol Technology with VMware Blas...
 
Sa*ple
Sa*pleSa*ple
Sa*ple
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will never
 
Windows Server 2012 R2 Jump Start - Intro
Windows Server 2012 R2 Jump Start - IntroWindows Server 2012 R2 Jump Start - Intro
Windows Server 2012 R2 Jump Start - Intro
 
Streambox Post Production Solutions
Streambox Post Production SolutionsStreambox Post Production Solutions
Streambox Post Production Solutions
 

More from AMD Developer Central

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsAMD Developer Central
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesAMD Developer Central
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAMD Developer Central
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceAMD Developer Central
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozAMD Developer Central
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellAMD Developer Central
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornAMD Developer Central
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevAMD Developer Central
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasAMD Developer Central
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...AMD Developer Central
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14AMD Developer Central
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...AMD Developer Central
 
Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14AMD Developer Central
 

More from AMD Developer Central (20)

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math Libraries
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Media SDK Webinar 2014
Media SDK Webinar 2014Media SDK Webinar 2014
Media SDK Webinar 2014
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
 
DirectGMA on AMD’S FirePro™ GPUS
DirectGMA on AMD’S  FirePro™ GPUSDirectGMA on AMD’S  FirePro™ GPUS
DirectGMA on AMD’S FirePro™ GPUS
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
 
Inside XBox- One, by Martin Fuller
Inside XBox- One, by Martin FullerInside XBox- One, by Martin Fuller
Inside XBox- One, by Martin Fuller
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas Thibieroz
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Gcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodesGcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodes
 
Inside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin FullerInside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin Fuller
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan Nevraev
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
 
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
Mantle and Nitrous - Combining Efficient Engine Design with a modern API - AM...
 
Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14Mantle - Introducing a new API for Graphics - AMD at GDC14
Mantle - Introducing a new API for Graphics - AMD at GDC14
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

RapidFire API for Optimized Workstation Graphics

  • 1. RAPIDFIRE  API  FOR  WORKSTATIONS     BRUNO  STEFANIZZI   CHRISTOPHER  MAYER   DMITRY  KOZLOV  
  • 2. AMD  VDI  SOLUTIONS   Different  soluHons  for  each  workflows   GPU APU High End GPU Low Power Dual GPU card High Density High GPU density •  No Virtualization required •  Virtualization (VMWare, Citrix, Microsoft) •  1-1 •  1-1 or 1-n •  High Performance/Watt/$ ratio More flexibility in workflow Regular workflow •  Real time Graphics High     Performance   Low  Power   Tablet   2   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Notebook   Desktop   WorkstaHon   Large Data •  •  Compute and Graphics
  • 3. AMD GPU for Server     AMD  FirePro Sky   For  GPU  Compute     For  Virtualiza@on     For  Virtualiza@on   AMD Radeon Sky Engineering  -­‐   CAD/CAE   Media  &   Entertainment   Medical   Educa@on  &   Research   Cloud  Gaming     3   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 4. AMD RapidFire Technology ! Most  remote  graphics  soluHons  are  CPU  based   ! RapidFire  is  dedicated  cloud  hardware  and  soVware  soluHon  with  API  to  simplify   integraHon   –   Deliver  more  HD  games  streams  per  GPU  with  low  latency  -­‐>  6  x  HD  720p30  fps   –   Leverage  AMD  hardware  on  both  server  and  client   –   Runs  on  any  hardware   Low   Latency   HD  Image/Audio   Quality   4   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Mul@ple  Streams   Virtualiza@on   Enablement  
  • 5. AMD RapidFire Technology !   Design  for  many  use  cases  and  workflows   High   resolu@on   Collabora@ve   applica@on     with  mul@stream   5   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Virtual  Desktop   Adap@ve  to     Network  environment  
  • 6. AMD RapidFire Technology !   4  independent  components  using  soVware  and  hardware  acceleraHon     Server   !  HW  H264  Encoding   Network   !  AdapHve  protocol   Client   !  HW  H264  Decoding   User  Interface   !  Touch   !  GPU  Encoding   !  CPU  Decoding   !  CPU  Encoding   !  Custom  GPU  Decoding   !  Mouse   !  Plugins  Encoding   !  MulH-­‐plaeorm  (Win/ Linux/IOS/Android)   !  MulH-­‐plaeorm   !  MulH-­‐stream   !  MulH-­‐API  (DX9/11/ OpenGL/   OpenCL)   !  EncrypHon   !  Desktop  and  window   direct  encoding   6   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  MulH-­‐API  (DX9/11/ OpenGL/   OpenCL)   !  Keyboard  
  • 7. RAPIDFIRE  TECHNOLOGY   DATA  FLOW  OVERVIEW   Client   Server   SERVER   SOFTWARE   NETWORK     NETWORK   FirePro  Sky  GPU     3D  ENGINE   ENCODE   FRAME  BUFFER   7   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  RF  API  module   !  external  module    DECODE   UI   FRAME  BUFFER  
  • 8. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   FirePro  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   8   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   SERVER   SOFTWARE   NETWORK  
  • 9. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   FirePro  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   9   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   SERVER   SOFTWARE   !  Server  renders  the  desktop   NETWORK  
  • 10. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   FirePro  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   10   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   SERVER   SOFTWARE   !  Server  renders  the  desktop   NETWORK  
  • 11. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   FirePro  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   11   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   SERVER   SOFTWARE   !  Server  renders  the  desktop   NETWORK   !  VCE  is  performing   asynchronous  desktop   capture  and  encoding  into   H264  video  stream  and  the   data  is  fetched  to  system   memory  by  the  app  
  • 12. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   FirePro  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   12   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   SERVER   SOFTWARE   !  Server  renders  the  desktop   NETWORK   !  VCE  is  performing   asynchronous  desktop   capture  and  encoding  into   H264  video  stream  and  the   data  is  fetched  to  system   memory  by  the  app   !  Video  stream  gets  send  to   the  client  
  • 13. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   NETWORK   CLIENT   SOFTWARE   DECODE  AUDIO   Input   devices   DECODE   UI   Audio  device   Radeon  GPU   13   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   FRAME  BUFFER  
  • 14. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !   Client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   NETWORK   CLIENT   SOFTWARE   DECODE   Input   devices   H264  DECODE   UI   Audio  device   Radeon  GPU   14   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   FRAME  BUFFER   !  The  client  sends  the  stream   to  Radeon  GPU  which   performs  H264  hardware   decoding  to  the  frame   buffer  
  • 15. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   NETWORK   CLIENT   SOFTWARE   DECODE  AUDIO   Input   devices   DECODE   !  Sound  stream  is  decoded   using  soVware  audio  codec   and  sent  to  audio  hardware   UI   Audio  device   Radeon  GPU   15   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  The  client  sends  the  stream   to  Radeon  GPU  which   performs  H264  hardware   decoding  to  the  frame   buffer   FRAME  BUFFER  
  • 16. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   NETWORK   CLIENT   SOFTWARE   DECODE  AUDIO   Radeon  GPU   DECODE   !  The  client  sends  the  stream   to  Radeon  GPU  which   performs  H264  hardware   decoding  to  the  frame   buffer   !  Sound  stream  is  decoded   using  soVware  audio  codec   and  sent  to  audio  hardware   UI   !  UI  events  are  collected  by   the  client  and  sent  over  the   network  to  the  server   Audio  device   16   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Input   devices   FRAME  BUFFER  
  • 17. THE  RAPIDFIRE  API   COMPONENTS   "  Server  component   The  server  component  provides  funcHons  for  the:   ‒  Encoding  of  video  and  audio  data   ‒  Color  space  conversion   ‒  Capturing  of  the  desktop   ‒  Handling  of  mulHple  render  targets   ‒  Interoperability  with  OpenGL,  D3D9  and  D3D11     "  Network  component   The  Network  component  is  a  sample  implementaHon   of  video  and  audio  streaming  based  on  the  LIVE555   Media  Server.       "  User  Interface   The  UI  component  provide  funcHons  to:   ‒  Capture  user  events  on  the  client   ‒  Send  the  events  to  the  server  for  processing   "  Client  component   The  client  component  provides  funcHons  for:   ‒  Decoding  of  video  and  audio  streams   ‒  Color  space  conversion   ‒  Interoperability  with  OpenGL,  D3D9  and  D3D11     17   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL    
  • 18. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT   IniHalizaHon   Render  Loop   Create  RenderTarget   Draw  to  free   RenderTarget   rfCreateEncodeSession   rfRegisterRenderTarget   rfCreateEncoder   rfEncodeFrame   rfGetEncodedFrame   rfRtspServerSendFrame   Done?   18   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 19. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     IniHalizaHon   Create  RenderTarget   rfCreateEncodeSession   rfRegisterRenderTarget   rfCreateEncoder   "  rfCreateEncodeSession   ‒  Creates  an  encoding  session  on  the  server.  The  sessions  encapsulates  the  following   components:   ‒  Rendering  context/device   ‒  Compute  context  that  is  used  for  the  color  space  conversion   ‒  Render  targets   ‒  Desktop   ‒  The  encoder:  SW,  VCE  or  IDENTITY     ‒  The  following  session  types  are  supported   ‒  OpenGL   ‒  DX9  /  DX9Ex   ‒  DX11   ‒  Desktop  capturing   19   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 20. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     IniHalizaHon   Create  RenderTarget   rfCreateEncodeSession   rfRegisterRenderTarget   rfCreateEncoder   "  rfCreateEncodeSession   ‒  CreaHng  an  OpenGL  session  that  uses  the  VCE  HW  encoding          RFProperties  props[]  =  {  RF_GL_GRAPHICS_CTX,  (RFProperties)hGLRC,                                                            RF_GL_DEVICE_CTX,      (RFProperties)hDC,                                                            RF_ENCODER,                  (RFProperties)RF_VCE,                                                            0  };            //  Create  RapidFire  encoding  session          RFEncodeSession  session  =  rfCreateEncodeSession(props);     "  rfRegisterRenderTargt            for  (unsigned  int  i  =  0;  i  <  NUM_RENDER_TARGETS;  i++)          {                rfRegisterRenderTarget(session,  RF_RT_GL_TEXTURE,  uiTexName[i],  uiWidth,  uiHeight,  &renderTargetIdx[i]));          }         ‒  Input:  Name  of  the  OpenGL  Texture,  dimension  of  the  texture   ‒  Output:  The  index  used  by  RF  to  idenHfy  this  render  target   20   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 21. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     IniHalizaHon   "  rfCreateEncoder   ‒  CreaHng  an  Encoder  using  a  preset  configuraHon   rfCreateEncoder(session,  uiWidth,  uiHeight,  RF_ENCODE_FAST)     Create  RenderTarget   ‒  The  following  presets  are  supported:   rfCreateEncodeSession   rfRegisterRenderTarget   ‒  RF_ENCODE_FAST   ‒  RF_ENCODE_BALANCED   ‒  RF_ENCODE_QUALITY   "  rfCreateEncoder2   ‒  CreaHng  an  encoder  using  properHes   rfCreateEncoder   //  Create  encoder  using  properties   RFProperties  props[]  =  {  RF_ENCODER_PROFILE,  (RFProperties)RF_MAIN,                                                    RF_ENCODER_LEVEL,      (RFProperties)41,                                                    RF_ENCODER_BITRATE,  (RFProperties)6000000,                                                    RF_ENCODER_FPS,          (RFProperties)30,                                                    0  };     rfCreateEncoder2(session,  uiWidth,  uiHeight,  props));     21   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 22. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     Render  Loop   "  rfEncodeFrame   rfEncodeFrame(session,  renderTargetIdx[uiCurrentRT]));   Draw  to  free   RenderTarget   rfEncodeFrame   rfGetEncodedFrame   rfRtspServerSendFrame   Done?   ‒  Non-­‐blocking  call  to  submit  a  frame  for  encoding   "  rfGetEncodedFrame   //  Check  if  encoded  frame  is  ready   if  (rfIsEncodedFrameReady(session))   {        if  (rfGetEncodedFrame(session,  &uiBitStreamSize,  (void**)&pBitStreamdata)  ==  RF_STATUS_OK)        {              if  (uiBitStreamSize  >  0)              {                    //  Send  encoded  frame  to  Network                    rtspStatus  =  rfRtspServerSendFrame(rtsp_sn,  pBitStreamdata,  uiBitStreamSize,  tv.tv_sec,  tv.tv_usec,  1);              }        }                                       }   ‒  Check  first  if  a  frame  is  ready   ‒  If  a  frame  is  available  get  the  data  to  system  memory   ‒  Send  the  frame  over  the  network  to  the  client   22   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 23. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniHalizaHon   Render  Loop   Create  Target  Textures   Wait  to  receive  frame   rfCreateDecodeSession   rfDecodeFrame   rfRegisterTargetTexture   Display  frame  using   Target  Texture   rfCreateVideoDecoder   23   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Done?  
  • 24. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniHalizaHon   "  rfCreateDecodeSession   ‒  Creates  a  decoding  session  on  the  client.  The  sessions  encapsulates  the  following   components:   Create  Target  Textures   rfCreateDecodeSession   rfRegisterTargetTexture   rfCreateVideoDecoder   ‒  Rendering  context/device   ‒  Compute  context  that  is  used  for  the  color  space  conversion   ‒  Target  Textures   ‒  Decoder:  SW  or  UVD     ‒  The  following  session  are  supported   ‒  OpenGL   ‒  DX9  /  DX9Ex   ‒  DX11   24   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 25. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniHalizaHon   Create  Target  Textures   rfCreateDecodeSession   rfRegisterTargetTexture   rfCreateVideoDecoder   "  rfCreateDecodeSession   RFProperties  props[]  =  {  RF_GL_GRAPHICS_CTX,  (RFProperties)hGLRC,                                                    RF_GL_DEVICE_CTX,      (RFProperties)hDC,                                                    RF_DECODER,                  (RFProperties)RF_UVD,                                                    0  };     //  Create  RapidFire  decoding  session   RFDecSession  session  =  rfCreateDecodeSession(props);     ‒  Creates  an  OpenGL  session  that  uses  the  UVD  decoder   "  rfRegisterTargetTexture   rfRegisterTargetTexture(session,  uiTextureName);     ‒  Registers  an  OpenGL  texture     ‒  The  texture  will  be  used  to  store  the  decoded  frame   25   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 26. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniHalizaHon   "  rfCreateVideoDecoder   rfCreateVideoDecoder(session,  uiWidth,  uiHeight);     Create  Target  Textures   ‒  Create  the  actual  decoder   rfCreateDecodeSession   rfRegisterTargetTexture   rfCreateVideoDecoder   26   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 27. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     Render  Loop   "  rfDecodeFrame   rfDecodeFrame(session);     Wait  to  receive  frame   rfDecodeFrame   ‒  Decodes  a  frame   ‒  The  decoded  frame  is  stored  in  the  registered  texture   ‒  Now  the  applicaHon  can  use  the  texture  to  display  the  frame   Display  frame  using   Target  Texture   Done?   27   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 28. DISCLAIMER  &  ATTRIBUTION   The  informaHon  presented  in  this  document  is  for  informaHonal  purposes  only  and  may  contain  technical  inaccuracies,  omissions  and  typographical  errors.     The  informaHon  contained  herein  is  subject  to  change  and  may  be  rendered  inaccurate  for  many  reasons,  including  but  not  limited  to  product  and  roadmap   changes,  component  and  motherboard  version  changes,  new  model  and/or  product  releases,  product  differences  between  differing  manufacturers,  soVware   changes,  BIOS  flashes,  firmware  upgrades,  or  the  like.  AMD  assumes  no  obligaHon  to  update  or  otherwise  correct  or  revise  this  informaHon.  However,  AMD   reserves  the  right  to  revise  this  informaHon  and  to  make  changes  from  Hme  to  Hme  to  the  content  hereof  without  obligaHon  of  AMD  to  noHfy  any  person  of   such  revisions  or  changes.     AMD  MAKES  NO  REPRESENTATIONS  OR  WARRANTIES  WITH  RESPECT  TO  THE  CONTENTS  HEREOF  AND  ASSUMES  NO  RESPONSIBILITY  FOR  ANY   INACCURACIES,  ERRORS  OR  OMISSIONS  THAT  MAY  APPEAR  IN  THIS  INFORMATION.     AMD  SPECIFICALLY  DISCLAIMS  ANY  IMPLIED  WARRANTIES  OF  MERCHANTABILITY  OR  FITNESS  FOR  ANY  PARTICULAR  PURPOSE.  IN  NO  EVENT  WILL  AMD  BE   LIABLE  TO  ANY  PERSON  FOR  ANY  DIRECT,  INDIRECT,  SPECIAL  OR  OTHER  CONSEQUENTIAL  DAMAGES  ARISING  FROM  THE  USE  OF  ANY  INFORMATION   CONTAINED  HEREIN,  EVEN  IF  AMD  IS  EXPRESSLY  ADVISED  OF  THE  POSSIBILITY  OF  SUCH  DAMAGES.     ATTRIBUTION   ©  2013  Advanced  Micro  Devices,  Inc.  All  rights  reserved.  AMD,  the  AMD  Arrow  logo  and  combinaHons  thereof  are  trademarks  of  Advanced  Micro  Devices,   Inc.  in  the  United  States  and/or  other  jurisdicHons.    SPEC    is  a  registered  trademark  of  the  Standard  Performance  EvaluaHon  CorporaHon  (SPEC).  Other   names  are  for  informaHonal  purposes  only  and  may  be  trademarks  of  their  respecHve  owners.   28   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL