Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17060 Discussions

how to specify custom synchronization primitives?

joewhaley
Beginner
503 Views
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.

0 Kudos
1 Reply
David_A_Intel1
Employee
503 Views
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.

0 Kudos
Reply