Open Source Game Development Threading Quake 3
New PC Games 3D Multiplayer Online Game Programming Software: Where do we begin threading? Profiling, Profiling, Profiling. A good understanding of application behavior is needed before we can decide what type of parallelism is best suited for a particular subsystem.

Quake* 3

Profiling

So, where do we begin threading? Profiling, Profiling, Profiling. A good understanding of application behavior is needed before we can decide what type of parallelism is best suited for a particular subsystem.

Sampling the application with the Intel® VTune™ Performance Analyzer will give us a detailed analysis of the amount of CPU time being used by each module and function. This information provides useful insight into doing a functional decomposition, meaning it will help us decide what portions of the engine we would want to run on multiple threads in parallel to maximize performance.

Generating a call graph of the application running a specific workload using the Intel® VTune™ Performance Analyzer will give us a detailed analysis showing the self time (time being spent in a function) and total time (time spent in a function and all the functions called within it) at each node, along with the call hierarchy. This information, along with the sampling data, can provide useful insight into where it's best along the call tree to do a data decomposition.


If you're interested in this topic, these articles may be helpful:

Cache-blocking technique on Hyper-Threading Technology-enabled processors
by Phil Kerly, senior software engineer, Software and Solutions Group,...
Artificial neural nets and Hyper-Threading technology
by Chuck Desylva, Intel Corp. There are many artificial-intelligenc...
Hyper-Threading Technology and Multi-Core Processor Detection, Part One (Flash* 8.0MB)
Intel engineer Phil Kerly explains how to detect both Hyper-Threading ...
Discussion Forum: Threading on Intel® Parallel Architectures
With the introduction of the Pentium® 4 3.06 GHz processor, and Hy...
Show Us Your Threads and Win an Intel® Core 2 Duo iMac*
It’s All About Personal Expression! You express yourself through so...

Related Jobs:

Animation Engineer #9435 - CA - Los Angeles - Electronic Arts Inc.
Post Description Animation Engineer Electronic Arts (EA) is the wor...
Sr. SAP Systems Analyst - ABAP Developer #112-05 - CA - Culver City - Sony Corporation of America
Job Detail Req Code: 112-05 Title: Sr. SAP Systems Analyst - A...
Software Development Engineer #144615 - WA - Redmond - Microsoft Corporation
In the 21st century everyone is photographer. We owe much to affordabl...
Software Development Engineer #148838 - WA - Redmond - Microsoft Corporation
In the 21st century everyone is photographer. We owe much to affordabl...
Software Development Engineer #144324 - WA - Redmond - Microsoft Corporation
In the 21st century everyone is photographer. We owe much to affordabl...
FileNet Architect #1285 - IL - Oak Brook - Crowe Chizek
OPPORTUNITY: Crowe Chizek is a leading provider of innovative busines...
Technical Writer #57799 - CA - San Rafael - Autodesk, Inc.
Autodesk, Inc. (NASDAQ: ADSK) is wholly focused on ensuring that great...
Software Development Engineer #138325 - TX - Dallas - Microsoft Corporation
3D Programmer Job Description Ensemble Studios Role The 3D prog...
Tools Programmer - CA - San Rafael - Factor 5
We are looking for a tools programmer who will be responsible for the ...
Software Development Engineer #151336 - WA - Redmond - Microsoft Corporation
Interested in super-aggressive optimization of graphics algorithm impl...