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

Development Release vs. Commercial Aligned Release

pvonkaenel
New Contributor III
369 Views
Hi all,

I've been fighting with a termination deadlock problem in the commercial aligned release TBB for awhile now. In an act of desperation I decided to download and try the development release, and discovered the problem is gone. My question is how many people are using the development release, how stable is it, and do the dev changes routinely make it back into the commercial release?

Thanks,
Peter
0 Kudos
1 Solution
robert-reed
Valued Contributor II
369 Views
Quoting - pvonkaenel
Hi Robert and thanks for the answer. While I really do need the run-time linking (LoadLibrary() based) termination deadlock fix, your comments are making me seriously reconsider going with the development release. It looks like that code base has gone through some significant restructuringsince the 2.1 Upg 4 release. Do you have any idea how long it takes these changes to make it into the commercial aligned release?
It really does depend upon the nature of the change. The development release is an easy way to push out bug fixes as well as half-baked features (OK, 3/4-baked. They're usually in pretty good shape ;-). Some changes may go straight to a stable/commercial release (especially if there is a demand for them) while others may languish in the development release until enough experience and/or commentary can be gathered or improvements incorporated to justify a wider distribution. And as you noticed, the development release can provide a glimse of where TBB is headed: internal restructuring to improve the scheduler and to prepare for new mechanisms for managing threads as a process-level resource may already be in progress. Other than a little trouble with L-value references in the parallel_invoke implementation, I've been able to use the latest development release without apparent difficulties, which is what I've generally found with the development release. And eventually those features/fixes make it into the other releases and availability to a wider audience.

View solution in original post

0 Kudos
5 Replies
robert-reed
Valued Contributor II
369 Views
Quoting - pvonkaenel
Hi all,

I've been fighting with a termination deadlock problem in the commercial aligned release TBB for awhile now. In an act of desperation I decided to download and try the development release, and discovered the problem is gone. My question is how many people are using the development release, how stable is it, and do the dev changes routinely make it back into the commercial release?

Thanks,
Peter

The development release is the hairy edge. Though it may get fixes before they show up in the commericial aligned release, it also can contain errors and "experimental" code. I've been playing with parallel_invoke, for example, working on some test cases for a blog I'm writing. I've already hacked the header file to overcome a compilation issue. So you may be able to find fixes like the one you think you've found, but always remember the development release is the least stable of the TBB variants to be found on the web site.

0 Kudos
pvonkaenel
New Contributor III
369 Views

The development release is the hairy edge. Though it may get fixes before they show up in the commericial aligned release, it also can contain errors and "experimental" code. I've been playing with parallel_invoke, for example, working on some test cases for a blog I'm writing. I've already hacked the header file to overcome a compilation issue. So you may be able to find fixes like the one you think you've found, but always remember the development release is the least stable of the TBB variants to be found on the web site.


Hi Robert and thanks for the answer. While I really do need the run-time linking (LoadLibrary() based) termination deadlock fix, your comments are making me seriously reconsider going with the development release. It looks like that code base has gone through some significant restructuringsince the 2.1 Upg 4 release. Do you have any idea how long it takes these changes to make it into the commercial aligned release?

Thanks again,
Peter
0 Kudos
robert-reed
Valued Contributor II
370 Views
Quoting - pvonkaenel
Hi Robert and thanks for the answer. While I really do need the run-time linking (LoadLibrary() based) termination deadlock fix, your comments are making me seriously reconsider going with the development release. It looks like that code base has gone through some significant restructuringsince the 2.1 Upg 4 release. Do you have any idea how long it takes these changes to make it into the commercial aligned release?
It really does depend upon the nature of the change. The development release is an easy way to push out bug fixes as well as half-baked features (OK, 3/4-baked. They're usually in pretty good shape ;-). Some changes may go straight to a stable/commercial release (especially if there is a demand for them) while others may languish in the development release until enough experience and/or commentary can be gathered or improvements incorporated to justify a wider distribution. And as you noticed, the development release can provide a glimse of where TBB is headed: internal restructuring to improve the scheduler and to prepare for new mechanisms for managing threads as a process-level resource may already be in progress. Other than a little trouble with L-value references in the parallel_invoke implementation, I've been able to use the latest development release without apparent difficulties, which is what I've generally found with the development release. And eventually those features/fixes make it into the other releases and availability to a wider audience.
0 Kudos
jaredkeithwhite
New Contributor I
369 Views
I'm pretty sure that I'm on the Commercially Aligned release (the version of TBB that I'm using is actually packaged together with the Intel Compiler, version 11.083 that I purchased). I too have noticed that a few things have changed:

In the development release:
1) There don't seem to be null_rw_mutex / null_mutex in the
2) There seems to be the new concurrent_bounded_queue.

Can anyone comment on the state of #1, the null mutexes? I rather like this concept. Also, does anyone have any performance characteristics to compare the bounded queue versus the older queue?

Regards,
-Jared



Quoting - Robert Reed (Intel)
It really does depend upon the nature of the change. The development release is an easy way to push out bug fixes as well as half-baked features (OK, 3/4-baked. They're usually in pretty good shape ;-). Some changes may go straight to a stable/commercial release (especially if there is a demand for them) while others may languish in the development release until enough experience and/or commentary can be gathered or improvements incorporated to justify a wider distribution. And as you noticed, the development release can provide a glimse of where TBB is headed: internal restructuring to improve the scheduler and to prepare for new mechanisms for managing threads as a process-level resource may already be in progress. Other than a little trouble with L-value references in the parallel_invoke implementation, I've been able to use the latest development release without apparent difficulties, which is what I've generally found with the development release. And eventually those features/fixes make it into the other releases and availability to a wider audience.

0 Kudos
robert_jay_gould
Beginner
369 Views
For my BIG "commercial" project to release about mid 2010 I'm still keeping up with the dev builds, but will probably move to commercially aligned around november (if a new release happens around that time).

For my small stuff I always use the dev builds.
0 Kudos
Reply