SlideShare una empresa de Scribd logo
1 de 53
1 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE
INTRODUCING A NEW API FOR GRAPHICS
Guennadi Riguer
2 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MORE MANTLE @ GDC 2014
Rendering Battlefield 4 with Mantle
Johan Andersson, Technical Director, DICE/EA
Location: Room 2009, West Hall, Date: Wednesday, March 19, Time: 3:30pm-4:30pm
Nitrous & Mantle: Combining Efficient Engine Design with a Modern API
Dan Baker, Partner, Oxide Games
Tim Kipp, Partner, Oxide Games
Location: Room 2009, West Hall, Date: Wednesday, March 19, Time: 5:00pm-6:00pm
3 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
Direct3D and the Future of Graphics APIs
Johan Andersson, Technical Director, DICE/EA
Dan Baker, Partner, Oxide Games
Dave Oldcorn, Software Engineering Fellow, AMD
Location: Room 3020, West Hall, Date: Thursday, March 20, 5:30pm-6:30pm
Cevat Yerli
Founder, CEO & President
of Crytek
CRYENGINE
Mantle Support
© 2014 Crytek
6 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
CRYENGINE
Crytek‘s proprietary game development
solution CRYENGINE is used in all nine
Crytek studios across the globe.
CRYENGINE support for more than 70
Licensees in the U.S., Europe and Asia.
STUDIO NOTTINGHAM
STUDIO FRANKFURT AM MAIN
STUDIO BUDAPEST
STUDIO SOFIA
STUDIO KIEV
STUDIO ISTANBUL
STUDIO SHANGHAI
STUDIO SEOULSTUDIO AUSTIN
1999
2002
2003
2004
Crytek is founded in Coburg, Germany.
The first CryENGINE® is born.TIMELINE
The first iteration of CryENGINE®.
Development of Far Cry.
CryENGINE® is showcased for the first time at GDC.
Far Cry is released.
Crytek partners with EA to develop its second game, Crysis.
CryENGINE® 2 debuts at GDC.
Sci-fi FPS Crysis is released and wins critical acclaim for its high quality graphics and gameplay.
2007
The new and improved CryENGINE® 3 is released. Crysis 2 is announced, again in partnership with EA. It
is Crytek’s first game for the PlayStation® 3 and Xbox 360, as well as the PC.2009
The new CRYENGINE is released for XBoxOne, PS4, Wii-U and PC
RYSE is released.20132013
2014
CRYENGINE adds full native Linux support
8 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
CRYTEK & AMD
Over 10 years of collaboration
AMD and CRYTEK share an intense passion for games
and technology advancement .
Crytek has always been on the cutting edge of making
the most of the hardware available to deliver best
visuals possible to our gamers and the best
technology to our CRYENGINE developers.
Close collaboration with AMD’s developer relations,
driver, hardware architecture and HSA teams.
9 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
CRYENGINE AND MANTLE
Getting closer to the metal
To achieve our vision of CG quality, real-time graphics this generation
we need lower-level access to the hardware on PC and console.
Working with AMD we look forward to greater flexibility and power
using Mantle with CRYENGINE – the first game engine to support
Mantle.
Finally the GPU and CPU are at our mercy… 
10 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
EXCITING FUTURE
Games are going to look even better!
We have pioneered effects in Ryse: Son Of Rome, but had to use
them sparingly.
In future these complex simulations and graphics effects will work
in tandem, and be much more widespread.
Thanks to our long term relationship with AMD we’ve been able
to see this vision together.
We are looking forward to showing the results of Mantle and
CRYENGINE very soon…
11 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
Thank you!
12 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
AGENDA
Mantle Innovation
Mantle “Hello, world!”
Mantle SDK
Tools
13 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
WHAT IS MANTLE
Mantle is a new graphics API
–“Just right” abstraction level
–Modern API for modern GPUs
–Designed by developers for developers
What Mantle is not:
–It’s not quite “down to the metal” API
–It’s not some “magic” solution
14 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
DESIGN GOALS
Aggressive performance goals
–100K draws/frame
–Faster GPU performance
Efficient multi-threading
–Linear scaling with CPU cores
Multi-platform
15 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE INNOVATIONS
Generalized memory
Command buffer building/execution model
Memory/image state management
Monolithic pipelines
New resource binding model
16 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
“HELLO, WORLD!”
17 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
GPUS AND DEVICES
GPU
Device
GPU
Device
Application
18 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
GPU DETECTION EXAMPLE
GR_APPLICATION_INFO appInfo = {};
appInfo.pAppName = “myApp”;
appInfo.pEngineName = “myEngine”;
appInfo.apiVersion = GR_API_VERSION;
GR_UINT32 gpuCount;
GR_PHYSICAL_GPU gpus[GR_MAX_PHYSICAL_GPUS];
GR_RESULT result = grInitAndEnumerateGpus(
&appInfo, NULL, &gpuCount, &gpus[0]);
if (result == GR_SUCCESS)
{
FindSuitableGpu(gpus, gpuCount);
}
19 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
DEVICE CREATION EXAMPLE
GR_DEVICE_QUEUE_CREATE_INFO dqci = {};
dqci.queueCount = 1;
dqci.queueType = GR_QUEUE_UNIVERSAL;
GR_CHAR* extNames[] = {"GR_WSI_WINDOWS", "GR_BORDER_COLOR_PALETTE"};
GR_DEVICE_CREATE_INFO info = {};
info.queueRecordCount = 1;
info.pRequestedQueues = &dqci;
info.extensionCount = 2;
info.ppEnabledExtensionNames = extNames;
info.maxValidationLevel = GR_VALIDATION_LEVEL_0;
GR_RESULT result = grCreateDevice(gpu, &info, &device);
20 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MEMORY MODEL
Memory heap 1 Memory heap 2 Memory heap N
. . .
Mem
Mem
Mem
Mem
Mem
Mem
Mem
Mem
21 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MEMORY MODEL
More general GPU memory access
Application controls almost all GPU memory
Page granularity allocations with control of heaps
–Sub-allocate for small resources from pools
Leverages GPU virtual address space
No direct CPU access
22 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
ALLOCATION EXAMPLE
GR_MEMORY_ALLOC_INFO allocInfo = {};
allocInfo.memPriority = GR_MEMORY_PRIORITY_NORMAL;
allocInfo.size = numPages * gpuPageSize;
allocInfo.heapCount = 2;
allocInfo.heaps[0] = firstChoiceHeapId;
allocInfo.heaps[1] = secondChoiceHeapId;
GR_RESULT result = grAllocMemory(device, &allocInfo, memory);
23 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MEMORY MANAGEMENT
Mantle is on top of OS video memory manager
Application tracks use of memory
–Provides memory references for GPU
Could get really smart, just like on consoles
–Use of memory pools is encouraged
–Reduces amount of memory tracking
24 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
RESOURCES
Generalized GPU resources
Other APIs
Index buffers
Vertex buffers
Constant buffers
Staging resources
Textures
UAVs
Texture Arrays
. . .
Memory
Mantle
Images
25 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
Application manages internal object memory
DECOUPLED OBJECT MEMORY
Memory
State
API object
Other APIs Mantle
Memory
State
API object
26 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
OBJECT MEMORY BINDING EXAMPLE
GR_MEMORY_REQUIREMENTS memReqs = {};
GR_SIZE reqSize = sizeof(GR_MEMORY_REQUIREMENTS);
GR_RESULT result = grGetObjectInfo(object,
GR_INFO_TYPE_MEMORY_REQUIREMENTS,
&reqSize, &memReqs);
if (memReqs.size > 0)
{
GR_GPU_SIZE bindOffs = 0;
GR_GPU_MEMORY mem = GetMatchingMemObject(&memReqs, &bindOffs);
grBindObjectMemory(object, mem, bindOffs);
}
27 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
PROGRAMMING MODEL
Graphics
Compute
DMA
GPU
. . .
Queues
Application
App thread
App thread
App thread
App thread
App thread
28 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
DEVICE QUEUES
Queue per physical HW engine
–Universal: graphics & compute
–Async compute
–Async DMA (extension)
More efficient use of HW resources
–Parallel execution
29 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
PARALLEL EXECUTION SPEEDUP
Universal
queue
Universal
queue
Async. compute
queue
Async. DMA
queue
30 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
COMMAND BUFFER EXAMPLE
GR_CMD_BUFFER cmdBuffer = GR_NULL_HANDLE;
GR_CMD_BUFFER_CREATE_INFO info = {};
info.queueType = GR_QUEUE_UNIVERSAL;
grCreateCommandBuffer(device, &info, &cmdBuffer);
grBeginCommandBuffer(cmdBuffer, 0);
grCmdSetEvent(cmdBuffer, event);
. . .
grEndCommandBuffer(cmdBuffer);
31 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
COMMAND BUFFER SUBMISSION
Flexible command buffer submission:
–Multiple submissions of once recorded buffer
–Batch submission of multiple buffers
Application provides all memory references
32 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
SUBMISSION EXAMPLE
for (GR_UINT bufIdx = 0; bufIdx < NumCmdBuf; bufIdx++)
RecordCmdBuffer(cmdBuffer[bufIdx]);
GR_MEMORY_REF memRefs[MAX_REFS];
GR_UINT numMemRefs = 0;
memRefs[numMemRefs].mem = someMemory;
memRefs[numMemRefs++].flags = 0;
memRefs[numMemRefs].mem = someOtherMemory;
memRefs[numMemRefs++].flags = GR_MEMORY_REF_READ_ONLY;
grQueueSubmit(queue, NumCmdBuf, &cmdBuffer[0],
numMemRefs, memRefs, fence);
33 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
RESOURCE PREPARATION
Mantle doesn’t perform any hazard tracking
Application notifies of hazard conditions
–Uses preparation operation
–Includes WAW hazard (e.g. back-to-back compute)
Usage-based state model
–Indicates transition of usage (e.g. from image write to
read)
34 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
RESOURCE PREPARATION
Render target Shader resource
Cache flush
Decompression
. . .
35 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MEMORY PREPARATION EXAMPLE
GR_MEMORY_STATE_TRANSITION memPrep[2] = {};
memPrep[0].mem = firstMem;
memPrep[0].oldState = GR_MEMORY_STATE_DATA_TRANSFER;
memPrep[0].newState = GR_MEMORY_STATE_GRAPHICS_SHADER_READ_ONLY;
memPrep[0].offset = 0;
memPrep[0].regionSize = 100;
memPrep[1].mem = otherMem;
memPrep[1].oldState = GR_MEMORY_STATE_COMPUTE_SHADER_WRITE_ONLY;
memPrep[1].newState = GR_MEMORY_STATE_COMPUTE_SHADER_WRITE_ONLY;
memPrep[1].offset = 384;
memPrep[1].regionSize = 768;
grCmdPrepareMemoryRegions(cmdBuffer, 2, memPrep);
36 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
PIPELINES
Monolithic pipeline combines shaders and state
–Serialization to reduce compile time
Benefits
–Reduced runtime validation
–Shader linkage optimizations
–Forward looking abstraction model
37 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
PIPELINE STATE
Some state is bundled with pipeline
–Affects shader compilation
–E.g. target formats, blending enable, topology, etc.
If abused, could lead to more pipelines
–States carefully selected to avoid this
Pipeline state has to match dynamic state
38 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
GRAPHICS PIPELINE
IA VS HS DS
Tessellator
GS RS PS
DB
CB
Pipeline state
Index Data Resources TargetsDynamic state
39 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
RESOURCE BINDING MODEL
Conventional binding is costly
Bindless has pros and cons
New binding model
–Best of both worlds
40 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
DESCRIPTOR SETS
Pre-build data structures
–Containers for arrays of resource descriptors
–Can be nested
–Can be bound with an offset
Multiple bind points
Globally accessible by all pipeline shaders
41 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
DESCRIPTOR SET HIERARCHY
Pipeline
Memory
Image
Memory
42 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
PIPELINE RESOURCE MAPPING
Maps shader resources to descriptor sets
–Shader IL – linear resource namespaces (t#, s#, u#, …)
–Descriptor set – hierarchical structure
Matches descriptor set layout at execution time
–Relative to the bind point
–Separate per shader stage
Specified at pipeline creation
43 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
BETTER EXPERIENCE WITH MANTLE
Improved CPU & GPU efficiency
–Increased application responsiveness
–Empowering lower spec systems
More predictable performance and behavior
Sharing PC optimizations with consoles
Opportunity for novel techniques
44 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE SDK
Stephan Hodes
45 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE SDK - BETA
Mantle Beta SDK developer website
–Opening in April
Web based access of Mantle SDK files,
samples and documentation
–Selected access only
–NDA required
–Contact AMD Developer
Relations to register interest
46 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE SDK - CONTENT
Core SDK
–Libraries
–Header files
–Extensions
–Shader IL Converter
Documentation
Samples
Developer Forum
47 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE SDK - CONTENT
Core SDK
Documentation
–API reference
–Programming Guide
–Extension Specifications
–Best Practices
Samples
Developer Forum
48 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE SDK - CONTENT
Core SDK
Documentation
Samples
–Show how to use Mantle
–Demonstrate features
 HLSL pipeline creation source
Developer Forum
49 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE SDK – TOOLS
Validation and profiling layer
GPU PerfStudio for Mantle
50 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
MANTLE TOOLS
Gordon Selley
John Larkin
51 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
GPU PERFSTUDIO2
AMD’s GPU performance and debugging tool for graphics
applications
Supports DirectX11® and OpenGL applications
Recently added support for Steam Linux®
Mantle support currently in development
–Demonstrate the API and GPU trace tools with a Mantle application
–Point out the main Mantle API features in the tool
52 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
GPU PERFSTUDIO2
Visit us at the AMD Booth 1024 South Hall:
– GPU PerfStudio2 demos with
Mantle
Steam Linux (OpenGL)
DirectX11 ®
– CodeXL
OpenCL™ and OpenGL Optimization and Debugging
–AMD is hiring
53 | AMD Gaming Evolved – GDC 2014 | March 19, 2014
GPU PERFSTUDIO2 – MANTLE DEMO

Más contenido relacionado

La actualidad más candente

Introduction to Computing on GPU
Introduction to Computing on GPUIntroduction to Computing on GPU
Introduction to Computing on GPUIlya Kuzovkin
 
GPGPU algorithms in games
GPGPU algorithms in gamesGPGPU algorithms in games
GPGPU algorithms in gameszlatan4177
 
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
 
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...AMD Developer Central
 
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
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxAMD Developer Central
 
graphics processing unit ppt
graphics processing unit pptgraphics processing unit ppt
graphics processing unit pptNitesh Dubey
 
WT-4064, Build Rich Applications with HTML5 and WebGL, by Tony Parisi
WT-4064, Build Rich Applications with HTML5 and WebGL, by Tony ParisiWT-4064, Build Rich Applications with HTML5 and WebGL, by Tony Parisi
WT-4064, Build Rich Applications with HTML5 and WebGL, by Tony ParisiAMD Developer Central
 
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019Unity Technologies
 
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...AMD Developer Central
 
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019Unity Technologies
 
PG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovPG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovAMD Developer Central
 
GPU power consumption and performance trends
GPU power consumption and performance trendsGPU power consumption and performance trends
GPU power consumption and performance trendsAlessio Villardita
 
WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...
WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...
WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...AMD Developer Central
 
Hexagonal Architecture: The Standard for Qt Embedded Applications
Hexagonal Architecture: The Standard for Qt Embedded ApplicationsHexagonal Architecture: The Standard for Qt Embedded Applications
Hexagonal Architecture: The Standard for Qt Embedded ApplicationsBurkhard Stubert
 
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian BallantyneWT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian BallantyneAMD Developer Central
 
WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...
WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...
WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...AMD Developer Central
 

La actualidad más candente (20)

Introduction to Computing on GPU
Introduction to Computing on GPUIntroduction to Computing on GPU
Introduction to Computing on GPU
 
GPGPU algorithms in games
GPGPU algorithms in gamesGPGPU algorithms in games
GPGPU algorithms in games
 
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 ...
 
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
 
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
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
 
graphics processing unit ppt
graphics processing unit pptgraphics processing unit ppt
graphics processing unit ppt
 
WT-4064, Build Rich Applications with HTML5 and WebGL, by Tony Parisi
WT-4064, Build Rich Applications with HTML5 and WebGL, by Tony ParisiWT-4064, Build Rich Applications with HTML5 and WebGL, by Tony Parisi
WT-4064, Build Rich Applications with HTML5 and WebGL, by Tony Parisi
 
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
Optimizing HDRP with NVIDIA Nsight Graphics – Unite Copenhagen 2019
 
Parallel Computing on the GPU
Parallel Computing on the GPUParallel Computing on the GPU
Parallel Computing on the GPU
 
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
 
Introduction to GPU Programming
Introduction to GPU ProgrammingIntroduction to GPU Programming
Introduction to GPU Programming
 
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
 
DirectGMA on AMD’S FirePro™ GPUS
DirectGMA on AMD’S  FirePro™ GPUSDirectGMA on AMD’S  FirePro™ GPUS
DirectGMA on AMD’S FirePro™ GPUS
 
PG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovPG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry Kozlov
 
GPU power consumption and performance trends
GPU power consumption and performance trendsGPU power consumption and performance trends
GPU power consumption and performance trends
 
WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...
WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...
WT-4067, High performance WebGL games with the Turbulenz Engine, by Ian Balla...
 
Hexagonal Architecture: The Standard for Qt Embedded Applications
Hexagonal Architecture: The Standard for Qt Embedded ApplicationsHexagonal Architecture: The Standard for Qt Embedded Applications
Hexagonal Architecture: The Standard for Qt Embedded Applications
 
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian BallantyneWT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
 
WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...
WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...
WT-4151, Efficient Delivery of 3D Web Contents with Khronos and MPEG Technolo...
 

Destacado

Introducing the 2012 AMD E-Series APU
Introducing the 2012 AMD E-Series APUIntroducing the 2012 AMD E-Series APU
Introducing the 2012 AMD E-Series APUAMD
 
AMD CES 2013 Press Conference
AMD CES 2013 Press Conference AMD CES 2013 Press Conference
AMD CES 2013 Press Conference AMD
 
Whats New in AMD - 2012
Whats New in AMD - 2012Whats New in AMD - 2012
Whats New in AMD - 2012Rick Trevino
 
AMD Opteron 6000 Series Platform Press Presentation
AMD Opteron 6000 Series Platform Press PresentationAMD Opteron 6000 Series Platform Press Presentation
AMD Opteron 6000 Series Platform Press PresentationAMD
 
AMD AM1 Platform Presentation
AMD AM1 Platform PresentationAMD AM1 Platform Presentation
AMD AM1 Platform PresentationLow Hong Chuan
 
AMD Financial Analyst Day 2015
AMD Financial Analyst Day 2015AMD Financial Analyst Day 2015
AMD Financial Analyst Day 2015AMD
 
AMD - Why, What and How
AMD - Why, What and HowAMD - Why, What and How
AMD - Why, What and HowMike Wilcox
 
Vorstellung AMD-netz.de
Vorstellung AMD-netz.deVorstellung AMD-netz.de
Vorstellung AMD-netz.deJohannes Meier
 
Computex 2014 AMD Press Conference
Computex 2014 AMD Press ConferenceComputex 2014 AMD Press Conference
Computex 2014 AMD Press ConferenceAMD
 
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
 
evolucion de los microprocesadores AMD
evolucion de los microprocesadores AMDevolucion de los microprocesadores AMD
evolucion de los microprocesadores AMDstephanyarias
 
Microprocesadorores: INTEL o AMD
Microprocesadorores: INTEL o AMDMicroprocesadorores: INTEL o AMD
Microprocesadorores: INTEL o AMDies valledeltietar
 
AMD Bridges the X86 and ARM Ecosystems for the Data Center
AMD Bridges the X86 and ARM Ecosystems for the Data Center AMD Bridges the X86 and ARM Ecosystems for the Data Center
AMD Bridges the X86 and ARM Ecosystems for the Data Center AMD
 
Microprocesadores intel vs amd
Microprocesadores intel vs amdMicroprocesadores intel vs amd
Microprocesadores intel vs amdJhonpola19
 
AMD Radeon Technology Group Summit
AMD Radeon Technology Group SummitAMD Radeon Technology Group Summit
AMD Radeon Technology Group SummitLow Hong Chuan
 
Sockets para microprocesadores - AMD
Sockets para microprocesadores - AMDSockets para microprocesadores - AMD
Sockets para microprocesadores - AMDSENA
 

Destacado (20)

Introducing the 2012 AMD E-Series APU
Introducing the 2012 AMD E-Series APUIntroducing the 2012 AMD E-Series APU
Introducing the 2012 AMD E-Series APU
 
AMD CES 2013 Press Conference
AMD CES 2013 Press Conference AMD CES 2013 Press Conference
AMD CES 2013 Press Conference
 
Whats New in AMD - 2012
Whats New in AMD - 2012Whats New in AMD - 2012
Whats New in AMD - 2012
 
AMD Opteron 6000 Series Platform Press Presentation
AMD Opteron 6000 Series Platform Press PresentationAMD Opteron 6000 Series Platform Press Presentation
AMD Opteron 6000 Series Platform Press Presentation
 
AMD AM1 Platform Presentation
AMD AM1 Platform PresentationAMD AM1 Platform Presentation
AMD AM1 Platform Presentation
 
AMD Financial Analyst Day 2015
AMD Financial Analyst Day 2015AMD Financial Analyst Day 2015
AMD Financial Analyst Day 2015
 
AMD - Why, What and How
AMD - Why, What and HowAMD - Why, What and How
AMD - Why, What and How
 
Vorstellung AMD-netz.de
Vorstellung AMD-netz.deVorstellung AMD-netz.de
Vorstellung AMD-netz.de
 
Computex 2014 AMD Press Conference
Computex 2014 AMD Press ConferenceComputex 2014 AMD Press Conference
Computex 2014 AMD Press Conference
 
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
 
evolucion de los microprocesadores AMD
evolucion de los microprocesadores AMDevolucion de los microprocesadores AMD
evolucion de los microprocesadores AMD
 
Microprocesadorores: INTEL o AMD
Microprocesadorores: INTEL o AMDMicroprocesadorores: INTEL o AMD
Microprocesadorores: INTEL o AMD
 
Inside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin FullerInside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin Fuller
 
Micropocesadores amd e intel upc jaime
Micropocesadores amd e intel upc jaimeMicropocesadores amd e intel upc jaime
Micropocesadores amd e intel upc jaime
 
AMD Bridges the X86 and ARM Ecosystems for the Data Center
AMD Bridges the X86 and ARM Ecosystems for the Data Center AMD Bridges the X86 and ARM Ecosystems for the Data Center
AMD Bridges the X86 and ARM Ecosystems for the Data Center
 
Battlefield 4 + Frostbite + Mantle
Battlefield 4 + Frostbite + MantleBattlefield 4 + Frostbite + Mantle
Battlefield 4 + Frostbite + Mantle
 
Amd processor
Amd processorAmd processor
Amd processor
 
Microprocesadores intel vs amd
Microprocesadores intel vs amdMicroprocesadores intel vs amd
Microprocesadores intel vs amd
 
AMD Radeon Technology Group Summit
AMD Radeon Technology Group SummitAMD Radeon Technology Group Summit
AMD Radeon Technology Group Summit
 
Sockets para microprocesadores - AMD
Sockets para microprocesadores - AMDSockets para microprocesadores - AMD
Sockets para microprocesadores - AMD
 

Similar a Mantle - Introducing a new API for Graphics - AMD at GDC14

Apu14 beijing final for show english press
Apu14 beijing final for show english pressApu14 beijing final for show english press
Apu14 beijing final for show english pressLow Hong Chuan
 
2014 CES Press Conference
2014 CES Press Conference2014 CES Press Conference
2014 CES Press ConferenceAMD
 
Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14AMD Developer Central
 
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
 
Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...
Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...
Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...AMD Developer Central
 
GS-4108, Direct Compute in Gaming, by Bill Bilodeau
GS-4108, Direct Compute in Gaming, by Bill BilodeauGS-4108, Direct Compute in Gaming, by Bill Bilodeau
GS-4108, Direct Compute in Gaming, by Bill BilodeauAMD 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
 
Enabling Artificial Intelligence - Alison B. Lowndes
Enabling Artificial Intelligence - Alison B. LowndesEnabling Artificial Intelligence - Alison B. Lowndes
Enabling Artificial Intelligence - Alison B. LowndesWithTheBest
 
GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...
GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...
GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...AMD Developer Central
 
Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019Unity Technologies
 
Supermicro’s Universal GPU: Modular, Standards Based and Built for the Future
Supermicro’s Universal GPU: Modular, Standards Based and Built for the FutureSupermicro’s Universal GPU: Modular, Standards Based and Built for the Future
Supermicro’s Universal GPU: Modular, Standards Based and Built for the FutureRebekah Rodriguez
 
AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...
AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...
AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...AMD
 
GPU Cloud Server in India
GPU Cloud Server in IndiaGPU Cloud Server in India
GPU Cloud Server in IndiaCloudtechtiq
 
VMworld 2013: Graphics and Users in VDI
VMworld 2013: Graphics and Users in VDI VMworld 2013: Graphics and Users in VDI
VMworld 2013: Graphics and Users in VDI VMworld
 
GPGPU programming with CUDA
GPGPU programming with CUDAGPGPU programming with CUDA
GPGPU programming with CUDASavith Satheesh
 
Amd pro graphics showcase presentation
Amd pro graphics showcase presentationAmd pro graphics showcase presentation
Amd pro graphics showcase presentationTaha Sağlam
 

Similar a Mantle - Introducing a new API for Graphics - AMD at GDC14 (20)

Apu14 beijing final for show english press
Apu14 beijing final for show english pressApu14 beijing final for show english press
Apu14 beijing final for show english press
 
2014 CES Press Conference
2014 CES Press Conference2014 CES Press Conference
2014 CES Press Conference
 
Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14Direct3D and the Future of Graphics APIs - AMD at GDC14
Direct3D and the Future of Graphics APIs - AMD at GDC14
 
AMD 2014 computex
AMD 2014 computexAMD 2014 computex
AMD 2014 computex
 
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
 
Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...
Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...
Keynote (Dr. Lisa Su) - Developers: The Heart of AMD Innovation - by Dr. Lisa...
 
GS-4108, Direct Compute in Gaming, by Bill Bilodeau
GS-4108, Direct Compute in Gaming, by Bill BilodeauGS-4108, Direct Compute in Gaming, by Bill Bilodeau
GS-4108, Direct Compute in Gaming, by Bill Bilodeau
 
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
 
APU in nepal 2
APU in nepal 2APU in nepal 2
APU in nepal 2
 
Enabling Artificial Intelligence - Alison B. Lowndes
Enabling Artificial Intelligence - Alison B. LowndesEnabling Artificial Intelligence - Alison B. Lowndes
Enabling Artificial Intelligence - Alison B. Lowndes
 
GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...
GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...
GS-4112, Mantle: Empowering 3D Graphics Innovation, by Guennadi Riguer and Br...
 
Apu fc & s project
Apu fc & s projectApu fc & s project
Apu fc & s project
 
Amd Fusion
Amd FusionAmd Fusion
Amd Fusion
 
Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019Tales from the Optimization Trenches - Unite Copenhagen 2019
Tales from the Optimization Trenches - Unite Copenhagen 2019
 
Supermicro’s Universal GPU: Modular, Standards Based and Built for the Future
Supermicro’s Universal GPU: Modular, Standards Based and Built for the FutureSupermicro’s Universal GPU: Modular, Standards Based and Built for the Future
Supermicro’s Universal GPU: Modular, Standards Based and Built for the Future
 
AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...
AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...
AMD 2014 A Series and Performance Mobile Accelerated Processing Units (Codena...
 
GPU Cloud Server in India
GPU Cloud Server in IndiaGPU Cloud Server in India
GPU Cloud Server in India
 
VMworld 2013: Graphics and Users in VDI
VMworld 2013: Graphics and Users in VDI VMworld 2013: Graphics and Users in VDI
VMworld 2013: Graphics and Users in VDI
 
GPGPU programming with CUDA
GPGPU programming with CUDAGPGPU programming with CUDA
GPGPU programming with CUDA
 
Amd pro graphics showcase presentation
Amd pro graphics showcase presentationAmd pro graphics showcase presentation
Amd pro graphics showcase presentation
 

Más de 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
 
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
 
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
 
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
 
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
 
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
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...AMD Developer Central
 
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...AMD Developer Central
 

Más de 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
 
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
 
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
 
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...
 
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
 
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
 
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...
 
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...
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
 
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
Keynote (Nandini Ramani) - The Role of Java in Heterogeneous Computing & How ...
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
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...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 

Mantle - Introducing a new API for Graphics - AMD at GDC14

  • 1. 1 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE INTRODUCING A NEW API FOR GRAPHICS Guennadi Riguer
  • 2. 2 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MORE MANTLE @ GDC 2014 Rendering Battlefield 4 with Mantle Johan Andersson, Technical Director, DICE/EA Location: Room 2009, West Hall, Date: Wednesday, March 19, Time: 3:30pm-4:30pm Nitrous & Mantle: Combining Efficient Engine Design with a Modern API Dan Baker, Partner, Oxide Games Tim Kipp, Partner, Oxide Games Location: Room 2009, West Hall, Date: Wednesday, March 19, Time: 5:00pm-6:00pm
  • 3. 3 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 Direct3D and the Future of Graphics APIs Johan Andersson, Technical Director, DICE/EA Dan Baker, Partner, Oxide Games Dave Oldcorn, Software Engineering Fellow, AMD Location: Room 3020, West Hall, Date: Thursday, March 20, 5:30pm-6:30pm
  • 4. Cevat Yerli Founder, CEO & President of Crytek
  • 6. 6 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 CRYENGINE Crytek‘s proprietary game development solution CRYENGINE is used in all nine Crytek studios across the globe. CRYENGINE support for more than 70 Licensees in the U.S., Europe and Asia. STUDIO NOTTINGHAM STUDIO FRANKFURT AM MAIN STUDIO BUDAPEST STUDIO SOFIA STUDIO KIEV STUDIO ISTANBUL STUDIO SHANGHAI STUDIO SEOULSTUDIO AUSTIN
  • 7. 1999 2002 2003 2004 Crytek is founded in Coburg, Germany. The first CryENGINE® is born.TIMELINE The first iteration of CryENGINE®. Development of Far Cry. CryENGINE® is showcased for the first time at GDC. Far Cry is released. Crytek partners with EA to develop its second game, Crysis. CryENGINE® 2 debuts at GDC. Sci-fi FPS Crysis is released and wins critical acclaim for its high quality graphics and gameplay. 2007 The new and improved CryENGINE® 3 is released. Crysis 2 is announced, again in partnership with EA. It is Crytek’s first game for the PlayStation® 3 and Xbox 360, as well as the PC.2009 The new CRYENGINE is released for XBoxOne, PS4, Wii-U and PC RYSE is released.20132013 2014 CRYENGINE adds full native Linux support
  • 8. 8 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 CRYTEK & AMD Over 10 years of collaboration AMD and CRYTEK share an intense passion for games and technology advancement . Crytek has always been on the cutting edge of making the most of the hardware available to deliver best visuals possible to our gamers and the best technology to our CRYENGINE developers. Close collaboration with AMD’s developer relations, driver, hardware architecture and HSA teams.
  • 9. 9 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 CRYENGINE AND MANTLE Getting closer to the metal To achieve our vision of CG quality, real-time graphics this generation we need lower-level access to the hardware on PC and console. Working with AMD we look forward to greater flexibility and power using Mantle with CRYENGINE – the first game engine to support Mantle. Finally the GPU and CPU are at our mercy… 
  • 10. 10 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 EXCITING FUTURE Games are going to look even better! We have pioneered effects in Ryse: Son Of Rome, but had to use them sparingly. In future these complex simulations and graphics effects will work in tandem, and be much more widespread. Thanks to our long term relationship with AMD we’ve been able to see this vision together. We are looking forward to showing the results of Mantle and CRYENGINE very soon…
  • 11. 11 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 Thank you!
  • 12. 12 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 AGENDA Mantle Innovation Mantle “Hello, world!” Mantle SDK Tools
  • 13. 13 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 WHAT IS MANTLE Mantle is a new graphics API –“Just right” abstraction level –Modern API for modern GPUs –Designed by developers for developers What Mantle is not: –It’s not quite “down to the metal” API –It’s not some “magic” solution
  • 14. 14 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 DESIGN GOALS Aggressive performance goals –100K draws/frame –Faster GPU performance Efficient multi-threading –Linear scaling with CPU cores Multi-platform
  • 15. 15 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE INNOVATIONS Generalized memory Command buffer building/execution model Memory/image state management Monolithic pipelines New resource binding model
  • 16. 16 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 “HELLO, WORLD!”
  • 17. 17 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 GPUS AND DEVICES GPU Device GPU Device Application
  • 18. 18 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 GPU DETECTION EXAMPLE GR_APPLICATION_INFO appInfo = {}; appInfo.pAppName = “myApp”; appInfo.pEngineName = “myEngine”; appInfo.apiVersion = GR_API_VERSION; GR_UINT32 gpuCount; GR_PHYSICAL_GPU gpus[GR_MAX_PHYSICAL_GPUS]; GR_RESULT result = grInitAndEnumerateGpus( &appInfo, NULL, &gpuCount, &gpus[0]); if (result == GR_SUCCESS) { FindSuitableGpu(gpus, gpuCount); }
  • 19. 19 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 DEVICE CREATION EXAMPLE GR_DEVICE_QUEUE_CREATE_INFO dqci = {}; dqci.queueCount = 1; dqci.queueType = GR_QUEUE_UNIVERSAL; GR_CHAR* extNames[] = {"GR_WSI_WINDOWS", "GR_BORDER_COLOR_PALETTE"}; GR_DEVICE_CREATE_INFO info = {}; info.queueRecordCount = 1; info.pRequestedQueues = &dqci; info.extensionCount = 2; info.ppEnabledExtensionNames = extNames; info.maxValidationLevel = GR_VALIDATION_LEVEL_0; GR_RESULT result = grCreateDevice(gpu, &info, &device);
  • 20. 20 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MEMORY MODEL Memory heap 1 Memory heap 2 Memory heap N . . . Mem Mem Mem Mem Mem Mem Mem Mem
  • 21. 21 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MEMORY MODEL More general GPU memory access Application controls almost all GPU memory Page granularity allocations with control of heaps –Sub-allocate for small resources from pools Leverages GPU virtual address space No direct CPU access
  • 22. 22 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 ALLOCATION EXAMPLE GR_MEMORY_ALLOC_INFO allocInfo = {}; allocInfo.memPriority = GR_MEMORY_PRIORITY_NORMAL; allocInfo.size = numPages * gpuPageSize; allocInfo.heapCount = 2; allocInfo.heaps[0] = firstChoiceHeapId; allocInfo.heaps[1] = secondChoiceHeapId; GR_RESULT result = grAllocMemory(device, &allocInfo, memory);
  • 23. 23 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MEMORY MANAGEMENT Mantle is on top of OS video memory manager Application tracks use of memory –Provides memory references for GPU Could get really smart, just like on consoles –Use of memory pools is encouraged –Reduces amount of memory tracking
  • 24. 24 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 RESOURCES Generalized GPU resources Other APIs Index buffers Vertex buffers Constant buffers Staging resources Textures UAVs Texture Arrays . . . Memory Mantle Images
  • 25. 25 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 Application manages internal object memory DECOUPLED OBJECT MEMORY Memory State API object Other APIs Mantle Memory State API object
  • 26. 26 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 OBJECT MEMORY BINDING EXAMPLE GR_MEMORY_REQUIREMENTS memReqs = {}; GR_SIZE reqSize = sizeof(GR_MEMORY_REQUIREMENTS); GR_RESULT result = grGetObjectInfo(object, GR_INFO_TYPE_MEMORY_REQUIREMENTS, &reqSize, &memReqs); if (memReqs.size > 0) { GR_GPU_SIZE bindOffs = 0; GR_GPU_MEMORY mem = GetMatchingMemObject(&memReqs, &bindOffs); grBindObjectMemory(object, mem, bindOffs); }
  • 27. 27 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 PROGRAMMING MODEL Graphics Compute DMA GPU . . . Queues Application App thread App thread App thread App thread App thread
  • 28. 28 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 DEVICE QUEUES Queue per physical HW engine –Universal: graphics & compute –Async compute –Async DMA (extension) More efficient use of HW resources –Parallel execution
  • 29. 29 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 PARALLEL EXECUTION SPEEDUP Universal queue Universal queue Async. compute queue Async. DMA queue
  • 30. 30 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 COMMAND BUFFER EXAMPLE GR_CMD_BUFFER cmdBuffer = GR_NULL_HANDLE; GR_CMD_BUFFER_CREATE_INFO info = {}; info.queueType = GR_QUEUE_UNIVERSAL; grCreateCommandBuffer(device, &info, &cmdBuffer); grBeginCommandBuffer(cmdBuffer, 0); grCmdSetEvent(cmdBuffer, event); . . . grEndCommandBuffer(cmdBuffer);
  • 31. 31 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 COMMAND BUFFER SUBMISSION Flexible command buffer submission: –Multiple submissions of once recorded buffer –Batch submission of multiple buffers Application provides all memory references
  • 32. 32 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 SUBMISSION EXAMPLE for (GR_UINT bufIdx = 0; bufIdx < NumCmdBuf; bufIdx++) RecordCmdBuffer(cmdBuffer[bufIdx]); GR_MEMORY_REF memRefs[MAX_REFS]; GR_UINT numMemRefs = 0; memRefs[numMemRefs].mem = someMemory; memRefs[numMemRefs++].flags = 0; memRefs[numMemRefs].mem = someOtherMemory; memRefs[numMemRefs++].flags = GR_MEMORY_REF_READ_ONLY; grQueueSubmit(queue, NumCmdBuf, &cmdBuffer[0], numMemRefs, memRefs, fence);
  • 33. 33 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 RESOURCE PREPARATION Mantle doesn’t perform any hazard tracking Application notifies of hazard conditions –Uses preparation operation –Includes WAW hazard (e.g. back-to-back compute) Usage-based state model –Indicates transition of usage (e.g. from image write to read)
  • 34. 34 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 RESOURCE PREPARATION Render target Shader resource Cache flush Decompression . . .
  • 35. 35 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MEMORY PREPARATION EXAMPLE GR_MEMORY_STATE_TRANSITION memPrep[2] = {}; memPrep[0].mem = firstMem; memPrep[0].oldState = GR_MEMORY_STATE_DATA_TRANSFER; memPrep[0].newState = GR_MEMORY_STATE_GRAPHICS_SHADER_READ_ONLY; memPrep[0].offset = 0; memPrep[0].regionSize = 100; memPrep[1].mem = otherMem; memPrep[1].oldState = GR_MEMORY_STATE_COMPUTE_SHADER_WRITE_ONLY; memPrep[1].newState = GR_MEMORY_STATE_COMPUTE_SHADER_WRITE_ONLY; memPrep[1].offset = 384; memPrep[1].regionSize = 768; grCmdPrepareMemoryRegions(cmdBuffer, 2, memPrep);
  • 36. 36 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 PIPELINES Monolithic pipeline combines shaders and state –Serialization to reduce compile time Benefits –Reduced runtime validation –Shader linkage optimizations –Forward looking abstraction model
  • 37. 37 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 PIPELINE STATE Some state is bundled with pipeline –Affects shader compilation –E.g. target formats, blending enable, topology, etc. If abused, could lead to more pipelines –States carefully selected to avoid this Pipeline state has to match dynamic state
  • 38. 38 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 GRAPHICS PIPELINE IA VS HS DS Tessellator GS RS PS DB CB Pipeline state Index Data Resources TargetsDynamic state
  • 39. 39 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 RESOURCE BINDING MODEL Conventional binding is costly Bindless has pros and cons New binding model –Best of both worlds
  • 40. 40 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 DESCRIPTOR SETS Pre-build data structures –Containers for arrays of resource descriptors –Can be nested –Can be bound with an offset Multiple bind points Globally accessible by all pipeline shaders
  • 41. 41 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 DESCRIPTOR SET HIERARCHY Pipeline Memory Image Memory
  • 42. 42 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 PIPELINE RESOURCE MAPPING Maps shader resources to descriptor sets –Shader IL – linear resource namespaces (t#, s#, u#, …) –Descriptor set – hierarchical structure Matches descriptor set layout at execution time –Relative to the bind point –Separate per shader stage Specified at pipeline creation
  • 43. 43 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 BETTER EXPERIENCE WITH MANTLE Improved CPU & GPU efficiency –Increased application responsiveness –Empowering lower spec systems More predictable performance and behavior Sharing PC optimizations with consoles Opportunity for novel techniques
  • 44. 44 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE SDK Stephan Hodes
  • 45. 45 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE SDK - BETA Mantle Beta SDK developer website –Opening in April Web based access of Mantle SDK files, samples and documentation –Selected access only –NDA required –Contact AMD Developer Relations to register interest
  • 46. 46 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE SDK - CONTENT Core SDK –Libraries –Header files –Extensions –Shader IL Converter Documentation Samples Developer Forum
  • 47. 47 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE SDK - CONTENT Core SDK Documentation –API reference –Programming Guide –Extension Specifications –Best Practices Samples Developer Forum
  • 48. 48 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE SDK - CONTENT Core SDK Documentation Samples –Show how to use Mantle –Demonstrate features  HLSL pipeline creation source Developer Forum
  • 49. 49 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE SDK – TOOLS Validation and profiling layer GPU PerfStudio for Mantle
  • 50. 50 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 MANTLE TOOLS Gordon Selley John Larkin
  • 51. 51 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 GPU PERFSTUDIO2 AMD’s GPU performance and debugging tool for graphics applications Supports DirectX11® and OpenGL applications Recently added support for Steam Linux® Mantle support currently in development –Demonstrate the API and GPU trace tools with a Mantle application –Point out the main Mantle API features in the tool
  • 52. 52 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 GPU PERFSTUDIO2 Visit us at the AMD Booth 1024 South Hall: – GPU PerfStudio2 demos with Mantle Steam Linux (OpenGL) DirectX11 ® – CodeXL OpenCL™ and OpenGL Optimization and Debugging –AMD is hiring
  • 53. 53 | AMD Gaming Evolved – GDC 2014 | March 19, 2014 GPU PERFSTUDIO2 – MANTLE DEMO