Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly specifying problem areas

GPA 4: cannot see TBB Instrumentation and tasks in GPA

ptomicek
Beginner
606 Views
Hi, it seems like my thread asking this question has disappeared for some reason, so i will ask again.
How do you instrument an application using Intel threading building blocks so that you can see where different tast start and enr. Right now I can only see DirectX traces.
Thank you for any help.
0 Kudos
9 Replies
Neal_Pierman
Valued Contributor I
606 Views
Hello,

First of all, please let me know what system you are running on -- right-click on the GPA Monitor in the notification tray and select "About..." and copy that info here.

Next, please right-click on the GPA Monitor in the notification tray, select the "Profiles" menu item and the "Domains" tab, and be sure to check all domains that are listed. Also, please let me know what options you've selected in the "General" tab.

Thanks!

Neal

0 Kudos
Neal_Pierman
Valued Contributor I
606 Views
Hello,

Also, I don't have a lot of info about what you've tried or not tried, so I'm assuming that you've seen the Intel GPA SDK Reference Help File, as this also shows how you can instrument your own code.

One more thing -- what version of Intel TBB are you using?

thanks!

Neal

ps-> Have you tried a very simple code snippet to see whether things work the way you intended? If so, please include this here for me as well.
0 Kudos
ptomicek
Beginner
606 Views
Ok, so my system spec:

Windows 7, 64-bit DEP enabled
Num Processors: 8
Memory: 6135MB
System BIOS: American Megatrends Inc. 0404 (02/27/2009)
Video BIOS: Version 70.24.11.00.01 (01/15/11)
Driver 0:
Device: NVIDIA GeForce GTX 560 Ti
Provider: NVIDIA
Date: 9-22-2011
Version: 8.17.12.8538
VendorId: 10de
ProductId: 1200
Stepping: a1
No support for GPA Instrumentation
GPA install directory: C:\Program Files\Intel\GPA v4.2\
GPA version: 4.2.155414
Current user is in Administrators group: YES
Windows 7, 64-bit DEP enabledNum Processors: 8Memory: 6135MBSystem BIOS: American Megatrends Inc. 0404 (02/27/2009)Video BIOS: Version 70.24.11.00.01 (01/15/11)Driver 0: Device: NVIDIA GeForce GTX 560 Ti Provider: NVIDIA Date: 9-22-2011 Version: 8.17.12.8538 VendorId: 10de ProductId: 1200 Stepping: a1 No support for GPA InstrumentationGPA install directory: C:\Program Files\Intel\GPA v4.2\GPA version: 4.2.155414Current user is in Administrators group: YES
I have only one profile, default:
In General Tab:
Enable tracing : ticked
DirectX Data Level: Detailed
Internal Data Level: On
Buffer Size : 50 MB
Capture Application startup : False
Capture Hardware Context data : True
In Domains Tab:
There are no domains for me to select, the list is empty.
0 Kudos
ptomicek
Beginner
606 Views
I am using TBB 4.0 (initial relese, not the latest update 1)
0 Kudos
Neal_Pierman
Valued Contributor I
606 Views
Hello,

I did some digging and found that the current version of Intel TBB uses a different instrumentation API than is used by Intel GPA. In other words, you won't be able to capture any TBB activity in the Intel GPA trace file, so you won't see individual Intel TBB threads and tasks within Intel GPA Platform Analyzer.

The best option for you at this time is to instrument your key game threads and modules using the Intel GPA ITT API, as documented in the Intel GPA SDK Reference Guide (available from the Intel GPA "Start" menu). You'll then see task activity within your game for those sections of your game code that you instrument. But if you do want to use both Intel TBB and the new ITT API, you'll have to undefine the DO_ITT_NOTIFY pre-processor symbol by removing /DDO_ITT_NOTIFY from the compiler command line in the build configuration (this is needed to avoid a name collision that occurs with the two different instrumentation API's).

NOTE: There was a version of Intel TBB that had been instrumented with the "old" TAL API used by older versions of Intel GPA. But nobody has modified the Intel TBB libraries to use the new ITT API, and I've not heard of any specific plans to do this.

I know this may not be the answer you wanted to hear, but that's the latest information that I have.

Regards,

Neal
0 Kudos
ptomicek
Beginner
606 Views
Thank you Neal,
I've expected that it might come to instrumenting manually, I was just a bit confused by the fact that I saw a few older presentations mainly from Game Developer Conference, where it was said that TBB was instrumented for use with GPA. It was actually also told that TBB is pre-instrumented for GPA by Intel engineer at GDC Europe this August, who also did a presentation about GPA there. It seems there is a bit of miscomunication about status of things between the TBB team and the GPA team :).
Anyways, thank you again for clarifing the situation and I will utilise ITT API for instrumentation.
0 Kudos
Neal_Pierman
Valued Contributor I
606 Views
Hello,

I apologize for the misinformation on Intel TBB and Intel GPA.

Can you provide me some more information about the engineer you contacted at GDC Europe? I'll follow-up with the engineer and the Intel TBB team to see whether there's some new information about Intel TBB instrumentation to see what's available. Also, I'll update the older Intel GPA document on the site to let people know that Intel TBB is no longer compatible with the latest version of Intel GPA.

By the way, I know Intel GPA works with OpenCL -- is this something that might be useful for you as an alternative?

Regards,

Neal
0 Kudos
ptomicek
Beginner
606 Views
Hi Neal,
The engineer I talked to is Philipp Gerasimov. Whether it was him or other Intel engineer at the Intel stand who actually mentioned that TBB is pre-instumented I cannot be 100% certain.
Thank you for mentioning OpenCL. Altough it does not suit my needs as replacement for TBB, it is good to know GPA supports this standard.
0 Kudos
Neal_Pierman
Valued Contributor I
606 Views
Hello,

Actually I guessed that it was Philipp that you talked to, and the two of us have had email correspondence on this topic today. We also reconfirmed with others that Intel TBB is not compatible with the current version of Intel GPA.

I also modified the article that talks about using Intel TBB and Intel GPA to mention the incompatibility.

As to OpenCL, please see this article about Intel GPA and OpenCL.

Thanks again for your use of Intel GPA, and please let me know if there's anything else I can help with.

Regards,

Neal

PS-> Philipp is a great engineer with a strong game development background, and he's a real expert in using Intel GPA. So be sure to talk to him when you see him again at a conference, as I'm sure he can provide some great tips on game development analysis and optimization.
0 Kudos
Reply