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

TBB For MinGW

dharaj
Beginner
1,718 Views
This problem seems to have been asked before without a satisfactory solution. There is no way of building for windows and mingw currently distributed with TBB.

I've tried to make my own inc files to get it working but I am, how you say, bad at it.

I have an angle on how it could be done, but I'd appreciate it if a more skilled person either helped or did it himself. If I knew what TBB required of the compiler and how to satisfy those needs via GCC, this would be trvial. Alas, the inc files are a little opaque to my amateur eyes.

I know of one issue, that is that the windows inc file called detect.js. The thing is, this script gets information like the runtime version by calling the VC++ compiler. Not good. I'm not sure how to get such info for MinGW and the linux gcc inc isn't very helpful.

Basically the inc files have to be spliced together; part linux gcc, part windows cl. I don't know how to do it.

I do know that mingw uses the same runtime as VC++, so it should be possible with a little work.

"Halp."
0 Kudos
30 Replies
Alexey-Kukanov
Employee
530 Views
Quoting - balage
What I plan to do, is to get the latest development version, and see if I can do the necessary modifications.

Anyway, the "patch" can be downloaded from here (I cannot see my attachment to my prev post - do they work?):

http://digitus.itk.ppke.hu/~oroba/tbb/tbb21_20080605oss_mingw_patch_1.zip

Balzs, it would be great if you could contribute your patch via the official TBB contribution page: http://www.threadingbuildingblocks.org/contribution_first.php. Without that, we couldnot use your work to improve MinGW support in TBB. Thank you!

0 Kudos
tricaric
Beginner
530 Views

Balzs, it would be great if you could contribute your patch via the official TBB contribution page: http://www.threadingbuildingblocks.org/contribution_first.php. Without that, we couldnot use your work to improve MinGW support in TBB. Thank you!


Whatever happened to the MinGW patch? Did it get submitted and then included into mainline TBB?

Pasquale

0 Kudos
Alexey-Kukanov
Employee
530 Views
No it did not get submitted :(

0 Kudos
RafSchietekat
Valued Contributor III
530 Views
Quoting - tricaric
Whatever happened to the MinGW patch? Did it get submitted and then included into mainline TBB?

Pasquale

Forgetting all about last year's promises: how far do you get with atomic.Raf_Schietekat.20081206.zip plus this last-minute replacement for its include/tbb/atomic.h?

0 Kudos
tricaric
Beginner
530 Views
Raf: could you please elaborate on how your atomic patch would improve MinGW support? I'm not sure I'm following that.

Alexey: that's really too bad. I've now tried to contact him directly via email (googled him), I really hope he gets my message and has a chance to submit his patch(es) officially to TBB. While we wait for that, is there any plan for the TBB team to start to work at MinGW support anyway? If not, do you think that the submission of the patch by balage will trigger dedicated MinGW support at some level?

Regards, Pasquale
0 Kudos
RafSchietekat
Valued Contributor III
530 Views
Quoting - tricaric
Raf: could you please elaborate on how your atomic patch would improve MinGW support? I'm not sure I'm following that.

[...]

Support for atomics means getting involved with assembler, which is the biggest part of porting, Atomics are also by far the biggest part of assembler, so it was relatively easy to also do the non-atomic parts. The patch now supports three times as many architectures as the original: x86(-64), POWER/PowerPC, Itanium (these are now in TBB, and even there it has been confirmed that more platforms work with the patch than TBB out-of-the-box), Alpha, ARM, ESA/390-z/Architecture, MIPS, PA-RISC, SPARC (most of them still need to be validated and perhaps corrected, but they're fairly complete). Of course, that's only the architecture side of it, there's also the compiler side, but MinGW is about the GNU compiler, which is the one used for all of these platforms, exceptions notwithstanding. The third part is operating systems, and I did add a couple of those, too. Maybe MinGW needs additional work, but forgive me for thinking that this might be a good base for it, and of course I wouldn't mind adding this to its list of features.
0 Kudos
RafSchietekat
Valued Contributor III
530 Views
And then, again, there was silence. Did you try or not? What were your findings?
0 Kudos
tricaric
Beginner
530 Views
I will have to try to find a solution in about a couple months, and I'll report then.

Given the general amount of (non)-support and (non)-interest, I don't plan on spending much time on it. Even if I have invested already months on writing TBB-based parallel code, results so far are less than exciting, and if all stays like that, I'm sooo out of here. Strip away all TBB nonsense and forget about the multicore (illusion)-(delusion)-revolution. Maybe Intel would have been better off staying an hardware-only company... Just release processors, and let serious developers write libraries...

P.
0 Kudos
RafSchietekat
Valued Contributor III
530 Views

"I will have to try to find a solution in about a couple months, and I'll report then." See #5.

0 Kudos
divashin
Beginner
530 Views
So, still no MinGW support for TBB =(

0 Kudos
Reply