Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Performance Benchmarks for TBB

johnsonjthomas
Beginner
720 Views
Hi,

Does anyone know about any performance benchmarks for TBB?

Thanks,
Johnson
0 Kudos
5 Replies
jimdempseyatthecove
Honored Contributor III
720 Views
Johnson,

You might consider the PARSEC benchmark suite. http://parsec.cs.princeton.edu/

This is very comprehensive, very large (~3GB) download.

Many of the benchmarks have TBB, pthreads, OpenMP variations of the same benchmark program.

If you are on a Linux system you should not have too much of a problem.
If you are on Windows, there is a considerable amount of work to do. (mostly finding and installing required libraries).
I have ported several of the benchmarks to Windows. I would be willing to assist you in this area if you need assistance.

Jim Dempsey
0 Kudos
johnsonjthomas
Beginner
720 Views
Hi Jim,

Thanks for the information. I downloaded the PARSEC core version (43 MB) and tried building the tbb part only, but came up with some errors. I am trying to performance tune TBB 2.1 on HPUX IA64 platform. I am new to this sort of thing. Actually its my university project. I generated profiler reports using Caliper tool on HPUX IA64 platform. I am trying to analyse these reports to find the bottlenecks. Could you suggest me some initial steps or suggestions that I can try regarding performance tuning?.
Any help would be great.

Thanks,
Johnson
0 Kudos
robert-reed
Valued Contributor II
720 Views

Let me get this straight: you're trying to performance tune some application using TBB or you're trying to performance tune TBB itself? Our developers already do quite a bit of performance tuning on the library itself. If you're intent on tuning TBB, you might start by using a newer version: 2.1 is more than a year old; 2.2 was released last summer and we're on the verge of releasing 3.0.

Regarding help using Caliper, you might have more success posting your query at an HP forum or website. There are lots of people on this site who can tell you about VTune analyzer and about Intel Parallel Amplifier, but probably only a few who have any experience with Caliper.

0 Kudos
johnsonjthomas
Beginner
720 Views
Hi Robert,

I am trying to performance tune TBB library itself. Actually my project is performance tuning of TBB 2.2 on HP-UX IA64 platform. But I am trying on TBB 2.1 since I have ported this version to HP-UX IA64 platform. I used Caliper since its a famous HP profiler tool. Any steps to go about tuning?

Thanks,
Johnson
0 Kudos
robert-reed
Valued Contributor II
720 Views
Well, I don't really know what features Caliper provides for doing performance analysis, having only read a brief web summary of it. That brief check suggested it can do hot spot analysis and has some ability to program the PMU, but beyond that I don't know.

Our usual methodology is to start with a hot spot analysis of a workload that characterizes the type of work you'd like to perform well, identifying where the program spends most of its time. It's in these areas that any changes to the code will likely have the greatest effect, positive or negative. (We're obviously looking for changes that improve performance ;-). The most significant benefits to performance generally come from rethinking the algorithms, first finding ways to avoid doing work, then looking for ways to do the necessary work faster or with better balance or fewer waits on dependence issues.

However, given the amount of work already invested in the performance of TBB, the most likely opportunities would be in the idiosyncrasies of the interface to your OS of choice(HP-UX?) or on a particular underlying HW architecture. My secret hope is that you'll have a difficult time of it, which would reinforce my assessment that our engineering team have already done a pretty good job with TBB ;-)
0 Kudos
Reply