Vijay Tatkar's Blog

All | Benchmarks | Business | Cloud Computing | General | Hardware | Linux/Unix | Performance | Software | Solaris | Sun | Sun Studio
« Previous day (May 7, 2008) | Main | Next day (May 9, 2008) »
20080508 Thursday May 08, 2008

Intel Threading Building Block library now available on Solaris + Sun Studio
Sun and Intel are collaborating to bring Intel TBB (Threading Building Block) software to the Solaris platform using the Sun Studio compilers. Today's the official launch of this collaborative effort. There is a lot of demand in the field for Intel SW (currently available on Linux and Windows) to be ported to Solaris, and this port nicely fills in one of the interesting gaps. One of my engineers worked collaboratively with Intel to make this happen; the success of this venture will encourage us to collaborate on other things as well. I welcome whole-heartedly this innovative problem solving technique to the Solaris platform; particularly with Sun Studio compilers. Parallelism is a critical area in SW development in our bold new future (together I might venture to add, for Intel and Sun). Sun Studio attempts to provide various high performance solutions; Solaris is a wonderful base to build this on with its built-in Multi-Threading support (from day 1 of Solaris 1.0) and the MT-safe libraries that form the bedrock of a parallel programming base. Intel's TBB complements this solution space nicely by offering a unique approach to simplifying parallelism for a certain kind of C++ problem set.

What is Intel Threading Building Block?
Intel invented Threading Building Block (TBB) as a leading-edge, open-source runtime library with a rich set of templates to significantly lower the effort required to express parallelism in C++ programs. The opensource site is here. Some of the benefits of Intel TBB are:

Solving the parallelism problem for C++ is a tricky one; unlike Fortran programs that are loop-intensive and thus lend themselves to automatic parallelization under certain general programming characteristics, C++ templates pose a level of difficulty with iterators and pointers that optimizers find hard to analyze. TBB is a solution that up-levels the problem, at least for certain problem sets, to a level of abstraction for software writers where low-level parallelism details are automatically handled.
Intel TBB was available for Linux  and Windows from Intel's product website (here).
A version of TBB that can run on the Solaris platform (x86) is now being . This version of TBB can be built using the latest Sun Studio Express compilers and tools(download a copy from here).
The code changes required to make this work on Solaris using Sun Studio have been putback to the opensource site.

Downloading TBB:
You can download TBB (http://threadingbuildingblocks.org). Remember to choose the stable version of TBB.
Download both the source version and the Sun binaries available at the TBB download site.
Use gunzip to unzip the tbb source archive and then extract from the tar archive, using gtar. A directory named tbb20_010oss_src is created.
Similarly extract the sun binaries and place them adjacent to the src directory of the source distribution.

Building TBB for Solaris:
% cd tbb20_010_oss_src
% gmake
This builds the TBB library and places it in the build directory, for example,
tbb20_010oss_src/build/SunOS_ia32_suncc_cc5.9_kernel5.10_release.
This directory contains the files libtbb.so and libtbbmalloc.so.
The TBB build also generates two files, tbbvars.csh and tbbvars.sh. These two files contain useful settings of environment variables such as LD_LIBRARY_PATH, which are needed for building an example.
If you downloaded the sun binaries for TBB, the shared objects for the library will be available in the
directory tbb20_20080408oss_src/sun/ia32/cc3.4.3_kernel5.10/lib and the tbbvars.csh and tbbvars.sh scripts will
be in the directory tbb20_20080408oss_src/sun/ia32/cc3.4.3_kernel5.10/bin.
You will find more information on TBB at the Sun Studio Developer Tools Portal,, in particular check out this introductory article on TBB .
Heres raising a toast to the happy introduction of this collaborative effort! Congratulations, Intel!!
This could be the start of something new and wonderful together!


Posted by tatkar ( May 08 2008, 09:53:41 AM PDT ) Permalink Comments [1]
Like this post?  del.icio.us  bookmark it   |   submit to dig digg.com digg it   |   slashdot slashdot it   |   technorati Technorati it

Who Am I?

Calendar

RSS Feeds

Search

Links

Presentations

Latest TechDays Presos

Navigation

Referers