SlideShare a Scribd company logo
1 of 35
Download to read offline
Yoon Dongwon (Game AI Team, Game AI Lab, AI Center, NCSOFT)
Jang Hanyoung (Motion AI Team, Game AI Lab, AI Center, NCSOFT)
@IntelSoftware @IntelGraphics 2
Agenda
• Introduction
• Deep learning based Inverse Kinematics
• Optimization using Intel® OpenVINO™ toolkit
• Result
• Conclusion
@IntelSoftware @IntelGraphics 3
The Team
Game AI Lab
Motion AI
Team
Game AI
Team
Reinforcement
Learning Team
@IntelSoftware @IntelGraphics 5
Inverse Kinematics (IK)
• Compute joint angle that makes end-effector move to
the target.
Target
Joint angle 3
Joint angle 1
Joint angle 2
End-effector
?
?
?
Catch the target
@IntelSoftware @IntelGraphics 6
Inverse Kinematics in Games
• Generate animations that interact with the
surrounding environment
ex) Solving the foot skating problem ex) Generate animation to catch some object
@IntelSoftware @IntelGraphics 7
Goal
• Large number of characters climb rugged cliff with IK
@IntelSoftware @IntelGraphics 8
Challenges
Traditional methods are not suitable for the objective
Numerical approach Analytical approach
Quality Good Bad
Performance Slow Fast
Numerical approach Analytical approach Deep Learning
Quality Good Bad Good
Performance Slow Fast Fast
Solution
@IntelSoftware @IntelGraphics 10
Approach
“Input”
• Current Hands and Feet Positions
• Target Hands and Feet Positions
“Output”
• Climbing motion
• Number of Frames : 60
• Length : 2 seconds
Deep Learning based IK Solver
R
R
@IntelSoftware @IntelGraphics 11
Architecture [1/2]
Trajectory
Network
60 Pose
Networks
R
R
5 Trajectories
Deep Learning based IK Solver
@IntelSoftware @IntelGraphics 12
Architecture [2/2]
Trajectory
Network
60 Pose
Networks
Curve
fitting
R
R
R
R
5 Trajectories
Smoothened
5 Trajectories
Deep Learning based IK Solver
@IntelSoftware @IntelGraphics 13
Gathering Training Data
1. Produce manually created “reference motion”.
2. Then randomize “start and end targets” based on “reference motion”.
3. Finally for each “start and end targets”, generate motion data using
“numerical approach”.
Random targets
Reference motion Generated motion using numerical approach
@IntelSoftware @IntelGraphics 15
Overview
Training server Infers IK Animation
Deploy
Trained Network
“How to optimize client-side inference?”
• The process of Deep-learning based IK
Client
@IntelSoftware @IntelGraphics
① Small-sized tasks
16
CPU vs GPU [1/3] : Requirements
Inference for IK
• Small-sized neural networks
• Tasks are performed for each
game loop
• Small batch size
• Require quick response
( low–latency )
• GPU is busy rendering.
② Inference on Game-Client
Client
@IntelSoftware @IntelGraphics 17
CPU vs GPU [2/3] : ① Small-sized tasks
Small sized neural networks and
small batch size
Large sized neural networks and
large batch size
@IntelSoftware @IntelGraphics 18
CPU vs GPU [3/3] : ② Inference overhead on Game-Client
Without Inference CPU usage GPU usage Game frame rate Inference latency
No Game - - - -
Overwatch 22 % 97 % 146 fps -
PUBG 38 % 97 % 141 fps -
Assassin Creed : Odyssey 53 % 96 % 69 fps -
Inference on CPU using
Openvino CPU usage GPU usage Game frame rate Inference latency
No Game - - - 50.63ms
Overwatch 68 % ( 309.1 % ) 98 % ( 101.0 % ) 145 fps ( 99.3 % ) 57.97 ms ( 114 % )
PUBG 75 % ( 197.4 % ) 96 % ( 99.0 % ) 137 fps ( 97.2 % ) 59.92 ms ( 118 % )
Assassin Creed : Odyssey 84 % ( 158.5 % ) 96 % ( 100.0 % ) 69 fps ( 100.0 % ) 82.87 ms ( 164 % )
CPU : Intel i7-6700K GPU : Nvidia GTX 1080 ( ) : Rate of change
Inference on GPU using
Openvino
CPU usage GPU usage Game frame rate Inference latency
No Game - - - 43.87ms
Overwatch 38 % ( 172.7 % ) 97 % ( 100.0 % ) 119 fps ( 81.5 % ) 77.51 ms ( 177 % )
PUBG 66 % ( 173.7 % ) 97 % ( 100.0 % ) 113 fps ( 80.1 % ) 76.01 ms ( 173 % )
Assassin Creed : Odyssey 66 % ( 124.5 % ) 96 % ( 100.0 % ) 58 fps ( 84.1 % ) 88.93 ms ( 203 % )
@IntelSoftware @IntelGraphics 19
Choosing Solution for Deep Learning Inference
423.48 ms
34.75 ms
20.34 ms
2.21 ms
0
50
100
150
200
250
300
350
400
450
Naive cpp Numpy Tensorflow DL Inference Engine
Average Latency on CPU
(Lower numbers indicate better performance)
12X
faster
20X
faster
191X
faster
@IntelSoftware @IntelGraphics
Game Client
IK Solver
20
Introduction to Intel OpenVINO
MKL-DNN Plug-in
Inference engine
Model
Optimizer
IRTrain a
model
CPU
Deep Learning Deployment Toolkit
Deploy Pre-Trained Model
Tensorflow, Caffe, MXNet, ONNX
@IntelSoftware @IntelGraphics 21
Optimization : Cubic Hermite Spline [1/2]
! = 0
! =1
$%
$&
'%
'&
$ ! = 2!) − 3!, + 1 $% + !) − 2!, + ! '% + −2!) + 3!, $& + (!) − !,)'&
@IntelSoftware @IntelGraphics 22
Optimization : Cubic Hermite Spline [2/2]
! " = 2"% − 3"( + 1 !+ + "% − 2"( + " ,+ + −2"% + 3"( !- + ("% − "(),-
! " = "% "( " 1
2 −2 1 1
−3 3 −2 −1
0 0 1 0
1 0 0 0
!+
!-
,+
,-
Matrix calculations can be accelerated by Intel Openvino .
in matrix form
@IntelSoftware @IntelGraphics 23
Optimization : Batch inference
Serial computation
Parallel computation
@IntelSoftware @IntelGraphics
IK Solver
24
Optimization for multiple characters [1/2]
Character
Character
Character
Character
Character
Motion timer
updates frame number.
Trajectory
Network
Pose
Network
Next frame motion data
Batch Manager
Request next frame
motion data
Next motion frame
@IntelSoftware @IntelGraphics 25
Frequency of used batch size
(10, 14.5 )
(20, 15.3 )
(30, 9.0 )
(50, 7.7 )
(70, 5.5 )
0
2
4
6
8
10
12
14
16
18 1
3
5
7
10
12
15
20
25
29
40
50
54
70
90
110
130
150
170
190
210
230
250
270
300
370
400
520
540
1000
Frequencyofuse
Used Batch Size
@IntelSoftware @IntelGraphics 26
Finding optimal batch size that achieves maximum
throughput while maintaining limited latency
Set bs to initial batch size
Repeat until we obtain a reliable max latency
Start measuring latency
If number of inference > bs
infer multiple times
Else If number of inference <= bs
infer once and ignore unused space
Finish measuring latency
Update max latency
End
0
2
4
6
8
10
12
14
16
18
5 10 15 20 25 30 35 40 45 50
Batch size
@IntelSoftware @IntelGraphics 28
Quality Comparison
Our ApproachNumerical Approach
@IntelSoftware @IntelGraphics 29
@IntelSoftware @IntelGraphics 31
Deep Learning based Inverse Kinematics
§ Character animation becomes more realistic by solving IK.
§ Conventional approaches for full-body IK are complex or computationally
expensive.
§ Solving full-body IK using Intel Openvino is cost efficient and also flexible.
§ Process of “Climbing IK Solver”
1. Trajectory network
2. Curve fitting
3. Pose network
§ Gathered training data from manually crafted reference motion.
@IntelSoftware @IntelGraphics 32
Optimization using Intel® OpenVINO™ toolkit
§ CPU is suitable for computing inference on Game-Client.
§ Deep Learning Deployment Toolkit is high performance framework for computing
inference on a CPU.
§ Model Optimizer converts and optimizes the trained model to IR. On Game-Client,
Inference Engine loads this IR and it can now run inference on CPU using optimized
hardware plugin (MKL-DNN plugin).
§ Improved curve fitting performance by computing matrix form of cubic Hermit spline
with Inference Engine.
§ Batching inference task improves performance by parallelizing inference task by the
Inference Engine.
§ Finding optimal batch size to meet limited latency
Questions?
33
Yoon Dongwon
E-mail : dongwonyoon@ncsoft.com
@IntelSoftware @IntelGraphics
Reference
https://software.intel.com/en-us/openvino-toolkit
https://software.intel.com/en-us/articles/intel-software-engineers-assist-with-
unreal-engine-419-optimizations
https://intel.github.io/mkl-dnn/understanding_memory_formats.html
https://software.intel.com/en-us/articles/OpenVINO-Inference-Engine-
Optimization-Guide
Accelerate Large-Scale Inverse Kinematics with the Intel® Distribution of OpenVINO™ Toolkit

More Related Content

What's hot

World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...Intel® Software
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Intel® Software
 
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...Intel® Software
 
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Intel® Software
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Intel® Software
 
Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...
Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...
Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...Intel® Software
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Intel® Software
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Intel® Software
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsIntel® Software
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Intel® Software
 
Parallelizing Conqueror's Blade
Parallelizing Conqueror's BladeParallelizing Conqueror's Blade
Parallelizing Conqueror's BladeIntel® Software
 
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...Intel® Software
 
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...Intel® Software
 
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-ResolutionUltra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-ResolutionIntel® Software
 
Optimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER IIOptimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER IIIntel® Software
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019Intel® Software
 
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Intel® Software
 
Unity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsUnity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsIntel® Software
 
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...Intel® Software
 

What's hot (20)

World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
 
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
 
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
Ray Tracing with Intel® Embree and Intel® OSPRay: Use Cases and Updates | SIG...
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
 
Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...
Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...
Use Variable Rate Shading (VRS) to Improve the User Experience in Real-Time G...
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
 
Masked Occlusion Culling
Masked Occlusion CullingMasked Occlusion Culling
Masked Occlusion Culling
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® Graphics
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
Parallelizing Conqueror's Blade
Parallelizing Conqueror's BladeParallelizing Conqueror's Blade
Parallelizing Conqueror's Blade
 
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
Open Source Interactive CPU Preview Rendering with Pixar's Universal Scene De...
 
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
 
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-ResolutionUltra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
 
Optimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER IIOptimizing Total War*: WARHAMMER II
Optimizing Total War*: WARHAMMER II
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019
 
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
Embree Ray Tracing Kernels | Overview and New Features | SIGGRAPH 2018 Tech S...
 
Unity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsUnity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and Tools
 
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
 

Similar to Accelerate Large-Scale Inverse Kinematics with the Intel® Distribution of OpenVINO™ Toolkit

Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Unity Technologies
 
Columnar processing for SQL-on-Hadoop: The best is yet to come
Columnar processing for SQL-on-Hadoop: The best is yet to comeColumnar processing for SQL-on-Hadoop: The best is yet to come
Columnar processing for SQL-on-Hadoop: The best is yet to comeWang Zuo
 
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesMastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesJean-Philippe Doiron
 
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU Selection
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU SelectionMachine-Learning-based Performance Heuristics for Runtime CPU/GPU Selection
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU SelectionAkihiro Hayashi
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War IIISlide_N
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
Programming the Cell Processor A simple raytracer from pseudo-code to spu-code
Programming the Cell Processor A simple raytracer from pseudo-code to spu-codeProgramming the Cell Processor A simple raytracer from pseudo-code to spu-code
Programming the Cell Processor A simple raytracer from pseudo-code to spu-codeSlide_N
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for GamesUmbra
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for GamesSampo Lappalainen
 
Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...
Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...
Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...Akihiro Hayashi
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final PresentationMatthew Chang
 
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360Simon Scarle
 
Threading Successes 01 Intro
Threading Successes 01   IntroThreading Successes 01   Intro
Threading Successes 01 Introguest40fc7cd
 
AI Food detector; A model of Generative adversarial network for food Classifier
AI Food detector; A model of Generative adversarial network for food ClassifierAI Food detector; A model of Generative adversarial network for food Classifier
AI Food detector; A model of Generative adversarial network for food Classifierjimmy majumder
 
Lunch session: Quantum Computing
Lunch session: Quantum ComputingLunch session: Quantum Computing
Lunch session: Quantum ComputingRolf Huisman
 
Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Jun Okumura
 
Weakly Supervised Whole Slide Image Analysis Using Cloud Computing
Weakly Supervised Whole Slide Image Analysis Using Cloud ComputingWeakly Supervised Whole Slide Image Analysis Using Cloud Computing
Weakly Supervised Whole Slide Image Analysis Using Cloud ComputingSean Yu
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Jeff Sipko
 
Getting The Most Out of VR | Sinjin Bain
Getting The Most Out of VR | Sinjin BainGetting The Most Out of VR | Sinjin Bain
Getting The Most Out of VR | Sinjin BainJessica Tams
 

Similar to Accelerate Large-Scale Inverse Kinematics with the Intel® Distribution of OpenVINO™ Toolkit (20)

Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...
 
Scaling Deep Learning
Scaling Deep LearningScaling Deep Learning
Scaling Deep Learning
 
Columnar processing for SQL-on-Hadoop: The best is yet to come
Columnar processing for SQL-on-Hadoop: The best is yet to comeColumnar processing for SQL-on-Hadoop: The best is yet to come
Columnar processing for SQL-on-Hadoop: The best is yet to come
 
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesMastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devices
 
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU Selection
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU SelectionMachine-Learning-based Performance Heuristics for Runtime CPU/GPU Selection
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU Selection
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
Programming the Cell Processor A simple raytracer from pseudo-code to spu-code
Programming the Cell Processor A simple raytracer from pseudo-code to spu-codeProgramming the Cell Processor A simple raytracer from pseudo-code to spu-code
Programming the Cell Processor A simple raytracer from pseudo-code to spu-code
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
 
Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...
Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...
Machine-learning based performance heuristics for Runtime CPU/GPU Selection i...
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360
 
Threading Successes 01 Intro
Threading Successes 01   IntroThreading Successes 01   Intro
Threading Successes 01 Intro
 
AI Food detector; A model of Generative adversarial network for food Classifier
AI Food detector; A model of Generative adversarial network for food ClassifierAI Food detector; A model of Generative adversarial network for food Classifier
AI Food detector; A model of Generative adversarial network for food Classifier
 
Lunch session: Quantum Computing
Lunch session: Quantum ComputingLunch session: Quantum Computing
Lunch session: Quantum Computing
 
Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)
 
Weakly Supervised Whole Slide Image Analysis Using Cloud Computing
Weakly Supervised Whole Slide Image Analysis Using Cloud ComputingWeakly Supervised Whole Slide Image Analysis Using Cloud Computing
Weakly Supervised Whole Slide Image Analysis Using Cloud Computing
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
Getting The Most Out of VR | Sinjin Bain
Getting The Most Out of VR | Sinjin BainGetting The Most Out of VR | Sinjin Bain
Getting The Most Out of VR | Sinjin Bain
 

More from Intel® Software

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology Intel® Software
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaIntel® Software
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciIntel® Software
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.Intel® Software
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Intel® Software
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Intel® Software
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Intel® Software
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchIntel® Software
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel® Software
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019Intel® Software
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesIntel® Software
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision SlidesIntel® Software
 
ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...
ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...
ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...Intel® Software
 
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...Intel® Software
 
Intel® AI: Parameter Efficient Training
Intel® AI: Parameter Efficient TrainingIntel® AI: Parameter Efficient Training
Intel® AI: Parameter Efficient TrainingIntel® Software
 
Intel® AI: Non-Parametric Priors for Generative Adversarial Networks
Intel® AI: Non-Parametric Priors for Generative Adversarial Networks Intel® AI: Non-Parametric Priors for Generative Adversarial Networks
Intel® AI: Non-Parametric Priors for Generative Adversarial Networks Intel® Software
 
Persistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvPersistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvIntel® Software
 
Big Data Uses with Distributed Asynchronous Object Storage
Big Data Uses with Distributed Asynchronous Object StorageBig Data Uses with Distributed Asynchronous Object Storage
Big Data Uses with Distributed Asynchronous Object StorageIntel® Software
 

More from Intel® Software (20)

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and Anaconda
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI Research
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview Slides
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
 
AIDC India - AI on IA
AIDC India  - AI on IAAIDC India  - AI on IA
AIDC India - AI on IA
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino Slides
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision Slides
 
ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...
ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...
ANYFACE*: Create Film Industry-Quality Facial Rendering & Animation Using Mai...
 
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
 
Intel® AI: Parameter Efficient Training
Intel® AI: Parameter Efficient TrainingIntel® AI: Parameter Efficient Training
Intel® AI: Parameter Efficient Training
 
Intel® AI: Non-Parametric Priors for Generative Adversarial Networks
Intel® AI: Non-Parametric Priors for Generative Adversarial Networks Intel® AI: Non-Parametric Priors for Generative Adversarial Networks
Intel® AI: Non-Parametric Priors for Generative Adversarial Networks
 
Persistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvPersistent Memory Programming with Pmemkv
Persistent Memory Programming with Pmemkv
 
Big Data Uses with Distributed Asynchronous Object Storage
Big Data Uses with Distributed Asynchronous Object StorageBig Data Uses with Distributed Asynchronous Object Storage
Big Data Uses with Distributed Asynchronous Object Storage
 

Recently uploaded

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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[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
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
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
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 

Recently uploaded (20)

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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[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
 
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)
 
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...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
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...
 
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...
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.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
 

Accelerate Large-Scale Inverse Kinematics with the Intel® Distribution of OpenVINO™ Toolkit

  • 1. Yoon Dongwon (Game AI Team, Game AI Lab, AI Center, NCSOFT) Jang Hanyoung (Motion AI Team, Game AI Lab, AI Center, NCSOFT)
  • 2. @IntelSoftware @IntelGraphics 2 Agenda • Introduction • Deep learning based Inverse Kinematics • Optimization using Intel® OpenVINO™ toolkit • Result • Conclusion
  • 3. @IntelSoftware @IntelGraphics 3 The Team Game AI Lab Motion AI Team Game AI Team Reinforcement Learning Team
  • 4.
  • 5. @IntelSoftware @IntelGraphics 5 Inverse Kinematics (IK) • Compute joint angle that makes end-effector move to the target. Target Joint angle 3 Joint angle 1 Joint angle 2 End-effector ? ? ? Catch the target
  • 6. @IntelSoftware @IntelGraphics 6 Inverse Kinematics in Games • Generate animations that interact with the surrounding environment ex) Solving the foot skating problem ex) Generate animation to catch some object
  • 7. @IntelSoftware @IntelGraphics 7 Goal • Large number of characters climb rugged cliff with IK
  • 8. @IntelSoftware @IntelGraphics 8 Challenges Traditional methods are not suitable for the objective Numerical approach Analytical approach Quality Good Bad Performance Slow Fast Numerical approach Analytical approach Deep Learning Quality Good Bad Good Performance Slow Fast Fast Solution
  • 9.
  • 10. @IntelSoftware @IntelGraphics 10 Approach “Input” • Current Hands and Feet Positions • Target Hands and Feet Positions “Output” • Climbing motion • Number of Frames : 60 • Length : 2 seconds Deep Learning based IK Solver R R
  • 11. @IntelSoftware @IntelGraphics 11 Architecture [1/2] Trajectory Network 60 Pose Networks R R 5 Trajectories Deep Learning based IK Solver
  • 12. @IntelSoftware @IntelGraphics 12 Architecture [2/2] Trajectory Network 60 Pose Networks Curve fitting R R R R 5 Trajectories Smoothened 5 Trajectories Deep Learning based IK Solver
  • 13. @IntelSoftware @IntelGraphics 13 Gathering Training Data 1. Produce manually created “reference motion”. 2. Then randomize “start and end targets” based on “reference motion”. 3. Finally for each “start and end targets”, generate motion data using “numerical approach”. Random targets Reference motion Generated motion using numerical approach
  • 14.
  • 15. @IntelSoftware @IntelGraphics 15 Overview Training server Infers IK Animation Deploy Trained Network “How to optimize client-side inference?” • The process of Deep-learning based IK Client
  • 16. @IntelSoftware @IntelGraphics ① Small-sized tasks 16 CPU vs GPU [1/3] : Requirements Inference for IK • Small-sized neural networks • Tasks are performed for each game loop • Small batch size • Require quick response ( low–latency ) • GPU is busy rendering. ② Inference on Game-Client Client
  • 17. @IntelSoftware @IntelGraphics 17 CPU vs GPU [2/3] : ① Small-sized tasks Small sized neural networks and small batch size Large sized neural networks and large batch size
  • 18. @IntelSoftware @IntelGraphics 18 CPU vs GPU [3/3] : ② Inference overhead on Game-Client Without Inference CPU usage GPU usage Game frame rate Inference latency No Game - - - - Overwatch 22 % 97 % 146 fps - PUBG 38 % 97 % 141 fps - Assassin Creed : Odyssey 53 % 96 % 69 fps - Inference on CPU using Openvino CPU usage GPU usage Game frame rate Inference latency No Game - - - 50.63ms Overwatch 68 % ( 309.1 % ) 98 % ( 101.0 % ) 145 fps ( 99.3 % ) 57.97 ms ( 114 % ) PUBG 75 % ( 197.4 % ) 96 % ( 99.0 % ) 137 fps ( 97.2 % ) 59.92 ms ( 118 % ) Assassin Creed : Odyssey 84 % ( 158.5 % ) 96 % ( 100.0 % ) 69 fps ( 100.0 % ) 82.87 ms ( 164 % ) CPU : Intel i7-6700K GPU : Nvidia GTX 1080 ( ) : Rate of change Inference on GPU using Openvino CPU usage GPU usage Game frame rate Inference latency No Game - - - 43.87ms Overwatch 38 % ( 172.7 % ) 97 % ( 100.0 % ) 119 fps ( 81.5 % ) 77.51 ms ( 177 % ) PUBG 66 % ( 173.7 % ) 97 % ( 100.0 % ) 113 fps ( 80.1 % ) 76.01 ms ( 173 % ) Assassin Creed : Odyssey 66 % ( 124.5 % ) 96 % ( 100.0 % ) 58 fps ( 84.1 % ) 88.93 ms ( 203 % )
  • 19. @IntelSoftware @IntelGraphics 19 Choosing Solution for Deep Learning Inference 423.48 ms 34.75 ms 20.34 ms 2.21 ms 0 50 100 150 200 250 300 350 400 450 Naive cpp Numpy Tensorflow DL Inference Engine Average Latency on CPU (Lower numbers indicate better performance) 12X faster 20X faster 191X faster
  • 20. @IntelSoftware @IntelGraphics Game Client IK Solver 20 Introduction to Intel OpenVINO MKL-DNN Plug-in Inference engine Model Optimizer IRTrain a model CPU Deep Learning Deployment Toolkit Deploy Pre-Trained Model Tensorflow, Caffe, MXNet, ONNX
  • 21. @IntelSoftware @IntelGraphics 21 Optimization : Cubic Hermite Spline [1/2] ! = 0 ! =1 $% $& '% '& $ ! = 2!) − 3!, + 1 $% + !) − 2!, + ! '% + −2!) + 3!, $& + (!) − !,)'&
  • 22. @IntelSoftware @IntelGraphics 22 Optimization : Cubic Hermite Spline [2/2] ! " = 2"% − 3"( + 1 !+ + "% − 2"( + " ,+ + −2"% + 3"( !- + ("% − "(),- ! " = "% "( " 1 2 −2 1 1 −3 3 −2 −1 0 0 1 0 1 0 0 0 !+ !- ,+ ,- Matrix calculations can be accelerated by Intel Openvino . in matrix form
  • 23. @IntelSoftware @IntelGraphics 23 Optimization : Batch inference Serial computation Parallel computation
  • 24. @IntelSoftware @IntelGraphics IK Solver 24 Optimization for multiple characters [1/2] Character Character Character Character Character Motion timer updates frame number. Trajectory Network Pose Network Next frame motion data Batch Manager Request next frame motion data Next motion frame
  • 25. @IntelSoftware @IntelGraphics 25 Frequency of used batch size (10, 14.5 ) (20, 15.3 ) (30, 9.0 ) (50, 7.7 ) (70, 5.5 ) 0 2 4 6 8 10 12 14 16 18 1 3 5 7 10 12 15 20 25 29 40 50 54 70 90 110 130 150 170 190 210 230 250 270 300 370 400 520 540 1000 Frequencyofuse Used Batch Size
  • 26. @IntelSoftware @IntelGraphics 26 Finding optimal batch size that achieves maximum throughput while maintaining limited latency Set bs to initial batch size Repeat until we obtain a reliable max latency Start measuring latency If number of inference > bs infer multiple times Else If number of inference <= bs infer once and ignore unused space Finish measuring latency Update max latency End 0 2 4 6 8 10 12 14 16 18 5 10 15 20 25 30 35 40 45 50 Batch size
  • 27.
  • 28. @IntelSoftware @IntelGraphics 28 Quality Comparison Our ApproachNumerical Approach
  • 30.
  • 31. @IntelSoftware @IntelGraphics 31 Deep Learning based Inverse Kinematics § Character animation becomes more realistic by solving IK. § Conventional approaches for full-body IK are complex or computationally expensive. § Solving full-body IK using Intel Openvino is cost efficient and also flexible. § Process of “Climbing IK Solver” 1. Trajectory network 2. Curve fitting 3. Pose network § Gathered training data from manually crafted reference motion.
  • 32. @IntelSoftware @IntelGraphics 32 Optimization using Intel® OpenVINO™ toolkit § CPU is suitable for computing inference on Game-Client. § Deep Learning Deployment Toolkit is high performance framework for computing inference on a CPU. § Model Optimizer converts and optimizes the trained model to IR. On Game-Client, Inference Engine loads this IR and it can now run inference on CPU using optimized hardware plugin (MKL-DNN plugin). § Improved curve fitting performance by computing matrix form of cubic Hermit spline with Inference Engine. § Batching inference task improves performance by parallelizing inference task by the Inference Engine. § Finding optimal batch size to meet limited latency
  • 33. Questions? 33 Yoon Dongwon E-mail : dongwonyoon@ncsoft.com