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

TBB for a Web browser plugin - distribution questions

ypoissant
Beginner
1,220 Views
Situation: We are a developer ofa 3D renderer Web browser plugin. We are looking at solutions to parallelize the plugin. We have pretty much settled for TBB.

Questions:
- Are we allowed to distribute the TBB dll with our plugin package?

- If yes, what would be the recommendations pertaining to placing this dll on the client system?

- One mentioned reason why there are no staticly linked library for TBB is because of the need to have a singleton threads allocator and scheduler. If we package the TBB dll in our plugin package, isn't there a possibility that this might be broken?

- If yes, then are there any recommended approaches for solving this issue?

- Is TBB the right solution in this situation?

Regards
Yves Poissant
2020 Technologies
0 Kudos
11 Replies
Tux__the_Linux_Pengu
1,220 Views
Quoting ypoissant
- Are we allowed to distribute the TBB dll with our plugin package?

You should be able to, TBB is open-source. I don't know an answer to your other questions, though. :-(

0 Kudos
ypoissant
Beginner
1,220 Views
Thanks Tux. We don't intend to use the OpenSource version because of the GLP licence obligations though. I guess, I'll need to download the 30-days evaluation version in order to get to read the redistribution licence agreement.

I'd like to clarify my third question above :

We are concerned that we cannot find informations or instructions for dealing with the potential of having multiple versions of the TBB libraries on the same client computer. From our searches (we are currently two persons trying to illucidate this issue) on Intel web site and on the Web in general, it does not seem to be a discussed issue.

Rereading the "static library" FAQ, I think I now understand that the singleton requirement is per application. So is it correct to conclude that when distributing the TBB libraries, I only need to save the TBB related dlls insome plugin dll private folder?

We want to make certain that the installation solution will avoid some other installer to overwrite our TBB library with an earlier (or otherwise incompatible) version. And that our own installation is not going to overwrite someone else's previously installed libraries. And although I mention "dll" explicitly, the same issue is concerning us for OSX too.

This forum might not be the proper place to post such questions. Can anyone point me to the right place or person where I can get answers to that type of questions?

This is a pretty critical issue to us. Any pointers would be greatly appreciated.

Yes Poissant
2020 Technologies Inc
0 Kudos
Tux__the_Linux_Pengu
1,220 Views
Quoting ypoissant
This forum might not be the proper place to post such questions. Can anyone point me to the right place or person where I can get answers to that type of questions?

It says here that "if you require the ability to modify or distribute the commercial source code of TBB, contact your Intel representative for more information." They may be able to help you.

0 Kudos
Tux__the_Linux_Pengu
1,220 Views
Quoting ypoissant
This forum might not be the proper place to post such questions. Can anyone point me to the right place or person where I can get answers to that type of questions?

It says here that "if you require the ability to modify or distribute the commercial source code of TBB, contact your Intel representative for more information." They may be able to help you.

BTW, maybe your installer could just install a full distribution of TBB along with the plugin.

0 Kudos
ypoissant
Beginner
1,220 Views
Tux,

We do not intend to modify TBB. We just want to make sure we can redistribute the binary libraries along with our plugin.

I dowloaded the 30 days evaluation version and from what I can read inthe "redist.txt" document, basically every files, source and binaries, in the TBB package can be redistributed. Do I understand this right?

But I would feel better if that was confirmed by someone at Intel. Anybody from Intel would like to confirm?

Yves
0 Kudos
Tux__the_Linux_Pengu
1,220 Views
Quoting ypoissant
Tux,

We do not intend to modify TBB. We just want to make sure we can redistribute the binary libraries along with our plugin.

I dowloaded the 30 days evaluation version and from what I can read inthe "redist.txt" document, basically every files, source and binaries, in the TBB package can be redistributed. Do I understand this right?

But I would feel better if that was confirmed by someone at Intel. Anybody from Intel would like to confirm?

Yves

Oh, okay. There are a few people from Intel on this forum, maybe they'll see this. :-) If all else fails, you could always call/email/etc.

0 Kudos
Alexey-Kukanov
Employee
1,220 Views
Yves,

we do not give any legal advice on this forum. Based on common sense, it seems reasonable to assume that TBB DLLs are allowed for redistribution, because how would developers use TBB otherwise, given that there is no static libraries. And you found these files listed as redistributable in the documentation. However if you still have concerns, you should ask a lawyer.

For the rest of the questions, let me get back to you later. In essense, it's a DLL Hell issue, and any escape out of it would have either some constraints or some consequences.
0 Kudos
ypoissant
Beginner
1,220 Views
Thanks Alexey for your reply.

I'll wait for further informations/recommendation concerning thedll installations.

I understand about the "legal advices" here. Thanks.

Yves
0 Kudos
Alexey-Kukanov
Employee
1,220 Views
Quoting ypoissant
Rereading the "static library" FAQ, I think I now understand that the singleton requirement is per application. So is it correct to conclude that when distributing the TBB libraries, I only need to save the TBB related dlls in some plugin dll private folder?


You are right that the singleton requirement is per application. And you are right that keeping TBB DLLs next to the plugin DLL is the best thing to avoid conflicts with other apps and other plugins (provided that each plugin has its exclusive folder, which is not always the case).

Still, there is more to be said. I am collecting some details.

0 Kudos
ypoissant
Beginner
1,220 Views
Thanks Alexey,

While you are collecting information, if you can also collect information concerning basically the same issue for OSX, we'd appreciate.

Regards,
Yves Poissant
0 Kudos
Tux__the_Linux_Pengu
1,220 Views
Quoting ypoissant
Thanks Alexey,

While you are collecting information, if you can also collect information concerning basically the same issue for OSX, we'd appreciate.

Regards,
Yves Poissant

You probably already solved your distribution problem, but here is something I found. It's not about distribution, but it says that "commercial license allows use in products," which you intend to do. BTW, you wrote that pdf, Alexey!

0 Kudos
Reply