- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am trying out Intel Parallel Inspector to look for data races in our C++ codebase. The tool identifies a number of false "races", most likely because it does not seem to understand the synchronization primitives. The code uses Boost C++ synchronization, specifically boost::mutex, boost::shared_lock, boost::unique_lock, and boost::upgrade_lock. It also has some custom rwlocks.
How can I specify the lock functions so Parallel Studio won't complain about data accesses that are correctly protected by the locks? I read something about ITT_NOTIFY() but I couldn't find any documentation or examples.
I am trying out Intel Parallel Inspector to look for data races in our C++ codebase. The tool identifies a number of false "races", most likely because it does not seem to understand the synchronization primitives. The code uses Boost C++ synchronization, specifically boost::mutex, boost::shared_lock, boost::unique_lock, and boost::upgrade_lock. It also has some custom rwlocks.
How can I specify the lock functions so Parallel Studio won't complain about data accesses that are correctly protected by the locks? I read something about ITT_NOTIFY() but I couldn't find any documentation or examples.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello joe!
You have correctly analyzed the issue! By default, the Parallel Inspector recognizes all native threading primitives. Our previous generation of products enabled support for custom threading implementations via _itt_notify APIs. For backward-compatibility, Intel Parallel Inspector supports these legacy APIs.
Regarding documentation of the _itt_notify APIs, they are part of the Thread Checker and Thread Profiler products and are documented in those products. Please see the Thread Checker documentation for details.
You have correctly analyzed the issue! By default, the Parallel Inspector recognizes all native threading primitives. Our previous generation of products enabled support for custom threading implementations via _itt_notify APIs. For backward-compatibility, Intel Parallel Inspector supports these legacy APIs.
Regarding documentation of the _itt_notify APIs, they are part of the Thread Checker and Thread Profiler products and are documented in those products. Please see the Thread Checker documentation for details.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page