- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am new to the forum. I am trying to build the latest stable version of TBB on a powerpc 64 bit machine running linux. I searched in the forum and web but could not find instructions on how to build TBB on this platform. Has anyone tried to build TBB on ppc-linux? Thanks for any suggestions/help.
Thanks,
Ln
Link Copied
9 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi, first of allI suggest to use the latest comm-align version. it is a bit newer than the latest stable version and it is also quite stable.
Porting instructions are located in build/index.html file in source package.
at first glanceport looks to be as simple as adding following lines under "#elif __linux__ || __FreeBSD__" directive, line 64 in include/tbb/tbb_machine.h file.
#elif __POWERPC__
#include "machine/mac_ppc.h"
But who knows:)
--Vladimir
Porting instructions are located in build/index.html file in source package.
at first glanceport looks to be as simple as adding following lines under "#elif __linux__ || __FreeBSD__" directive, line 64 in include/tbb/tbb_machine.h file.
#elif __POWERPC__
#include "machine/mac_ppc.h"
But who knows:)
--Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Vladimir Polin (Intel)
hi, first of allI suggest to use the latest comm-align version. it is a bit newer than the latest stable version and it is also quite stable.
Porting instructions are located in build/index.html file in source package.
at first glanceport looks to be as simple as adding following lines under "#elif __linux__ || __FreeBSD__" directive, line 64 in include/tbb/tbb_machine.h file.
#elif __POWERPC__
#include "machine/mac_ppc.h"
But who knows:)
--Vladimir
Porting instructions are located in build/index.html file in source package.
at first glanceport looks to be as simple as adding following lines under "#elif __linux__ || __FreeBSD__" directive, line 64 in include/tbb/tbb_machine.h file.
#elif __POWERPC__
#include "machine/mac_ppc.h"
But who knows:)
--Vladimir
Hello Vladimir,
Thanks for the quick reply. I tried your suggestion. After adding the suggested two lines to tbb_machine.h, I tried to do a make at the top-level dir. The make complained that the architecture is not recognized. Then I added the following lines to build/linux.inc
ifeq ($(uname_m),ppc64)
export arch:=ppc
endif
With the above change to linux.inc, I ran make. The compilation terminates with the following (attached at the end) errors. To my inexperienced eye, it looks like the some definitions for some synchronization related macros/functions are missing.
Thanks for the suggestions and help.
cd "./build/linux_ppc_gcc_cc4.1.2_libc2.5_kernel2.6.18_release" && sh ../../build/generate_tbbvars.sh linux_ppc_gcc_cc4.1.2_libc2.5_kernel2.6.18_release
cd "./build/linux_ppc_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug" && sh ../../build/generate_tbbvars.sh linux_ppc_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug
gmake -C "./build/linux_ppc_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug" -r -f ../../build/Makefile.tbb cfg=debug tbb_root=../..
gmake[1]: Entering directory `/gsa/yktgsa-h1/08/lrengan/MyTools/tbb22_009oss/build/linux_ppc_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug'
../../build/Makefile.tbb:39: CONFIG: cfg=debug arch=ppc compiler=gcc os=linux runtime=cc4.1.2_libc2.5_kernel2.6.18
g++ -c -MMD -DTBB_USE_DEBUG -DDO_ITT_NOTIFY -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_hash_map.cpp
In file included from ../../include/tbb/spin_rw_mutex.h:33,
from ../../include/tbb/concurrent_hash_map.h:40,
from ../../src/tbb/concurrent_hash_map.cpp:29:
../../include/tbb/tbb_machine.h:98:2: error: #error Minimal requirements for tbb_machine.h not satisfied
../../include/tbb/tbb_machine.h: In function 'T __TBB_load_with_acquire(const volatile T&)':
../../include/tbb/tbb_machine.h:106: error: there are no arguments to '__TBB_release_consistency_helper' that depend on a template parameter, so a declaration of '__TBB_release_consistency_helper' must be available
../../include/tbb/tbb_machine.h:106: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../../include/tbb/tbb_machine.h: In function 'void __TBB_store_with_release(volatile T&, V)':
../../include/tbb/tbb_machine.h:115: error: there are no arguments to '__TBB_release_consistency_helper' that depend on a template parameter, so a declaration of '__TBB_release_consistency_helper' must be available
../../include/tbb/tbb_machine.h: In function 'void __TBB_Pause(int32_t)':
../../include/tbb/tbb_machine.h:122: error: '__TBB_Yield' was not declared in this scope
../../include/tbb/tbb_machine.h: In member function 'void tbb::internal::atomic_backoff::pause()':
../../include/tbb/tbb_machine.h:148: error: '__TBB_Yield' was not declared in this scope
---------- More error messages. I have posted above only a part of it. -----------------
Thanks,
Ln
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - lakshminarayanan.r
Hello Vladimir,
Thanks for the quick reply. I tried your suggestion. After adding the suggested two lines to tbb_machine.h, I tried to do a make at the top-level dir. The make complained that the architecture is not recognized. Then I added the following lines to build/linux.inc
ifeq ($(uname_m),ppc64)
export arch:=ppc
endif
With the above change to linux.inc, I ran make. The compilation terminates with the following (attached at the end) errors. To my inexperienced eye, it looks like the some definitions for some synchronization related macros/functions are missing.
Thanks for the suggestions and help.
---------- More error messages. I have posted above only a part of it. -----------------
Thanks,
Ln
Hello,
I got this mostly working with TBB 2.1. Raf Schietekat then fixed a previously existing low-level PowerPC implementation issue, whereupon we apparently had a properly functional Linux/PPC port. This should all be documented in an earlier thread. I don't know why these changes weren't incorporated in the the release tree--as I recall Raf was diligent about uploading files/patches.
(Where's the search-the-forum functionality???)
Kei
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - keiisn
(Where's the search-the-forum functionality???)
http://software.intel.com/en-us/forums/showthread.php?t=59929
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - lakshminarayanan.r
Hi,
I am new to the forum. I am trying to build the latest stable version of TBB on a powerpc 64 bit machine running linux. I searched in the forum and web but could not find instructions on how to build TBB on this platform. Has anyone tried to build TBB on ppc-linux? Thanks for any suggestions/help.
Thanks,
Ln
Hey, if you're still interested I have the whole tree for version 2.1, just let me know.
Kei
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Kei
Hey, if you're still interested I have the whole tree for version 2.1, just let me know.
Kei
Hi Kei,
Yes, I am interested.
I tried your previous suggestion: I read that post and tried to apply the patch. But, I could not get a working version.
So, if you have a version that might work, I would be very happy to try it out immediately.
Thanks for the help.
Ln
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - lakshminarayanan.r
Hi Kei,
Yes, I am interested.
I tried your previous suggestion: I read that post and tried to apply the patch. But, I could not get a working version.
So, if you have a version that might work, I would be very happy to try it out immediately.
Thanks for the help.
Ln
The easiest way for me to do this is to use our local file transfer interface, for which I'd need you email address. You'd be emailed a notice of file availability and some sort of one-time access key. Let me know--kei.davis@lanl.gov.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kei,
I found this thread while looking for a way to run my tbb code on a power5/linux system. I would appreciate if you could send me the tree as well. I will email you. Thanks
--
Andriy
PS To all: any idea if/when ppc64/linux platform will be supported?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel TBB was ported to PowerPC 32/64 for Linux and Blue Gene CNK over the past few years. It's being used on Blue Gene/Q (64-bit PowerPC with Linux-compatible OS) today.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page