ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Intel® Threading Building Blocks (Intel TBB) for Open Source
    Computer/linux 2011. 3. 24. 15:17
    Strange enough, I cannot find Install.txt in their source code which is downloaded from   Intel TBB download. Anyway, Google it, so Google returns INSTALL.txt to me. But the explanation I found in INSTALL.txt is not valid for Open Source sources. I guess, they doesn't include install.sh script into Open Source version.  Anyway, try to understand their directory structure.  Then....


    jhlee@coffee:~/programs$ tar xvzf tbb30_20101215oss_src.tgz 

    jhlee@coffee:~/programs$ cd tbb30_20101215oss/

    jhlee@coffee:~/programs/tbb30_20101215oss$ ls
    build  CHANGES  COPYING  doc  examples  include  index.html  Makefile  README  
    src

    jhlee@coffee:~/programs/tbb30_20101215oss$ bash build/generate_tbbvars.sh

    jhlee@coffee:~/programs/tbb30_20101215oss$ ls
    build  CHANGES  COPYING  doc  examples  include  index.html  Makefile  README  
    src  tbbvars.csh  tbbvars.sh

    jhlee@coffee:~/programs/tbb30_20101215oss$ bash tbbvars.sh

    jhlee@coffee:~/programs/tbb30_20101215oss$ ls build/
    AIX.gcc.inc           index.html          Makefile.test          version_info_sunos.sh
    AIX.inc               linux.gcc.inc       suncc.map.pause        version_info_windows.js
    codecov.txt           linux.icc.inc       SunOS.gcc.inc          vsproject
    common.inc            linux.inc           SunOS.inc              windows.cl.inc
    common_rules.inc      macos.gcc.inc       SunOS.suncc.inc        windows.gcc.inc
    detect.js             macos.icc.inc       test_launcher.bat      windows.icl.inc
    FreeBSD.gcc.inc       macos.inc           test_launcher.sh       windows.inc
    FreeBSD.inc           Makefile.rml        version_info_aix.sh    xbox360.cl.inc
    generate_tbbvars.bat  Makefile.tbb        version_info_linux.sh  xbox360.inc
    generate_tbbvars.sh   Makefile.tbbmalloc  version_info_macos.sh

    jhlee@coffee:~/programs/tbb30_20101215oss$ make

    jhlee@coffee:~/programs/tbb30_20101215oss$ ls build/
    AIX.gcc.inc                                             Makefile.tbbmalloc
    AIX.inc                                                 Makefile.test
    codecov.txt                                             suncc.map.pause
    common.inc                                              SunOS.gcc.inc
    common_rules.inc                                        SunOS.inc
    detect.js                                               SunOS.suncc.inc
    FreeBSD.gcc.inc                                         test_launcher.bat
    FreeBSD.inc                                             test_launcher.sh
    generate_tbbvars.bat                                    version_info_aix.sh
    generate_tbbvars.sh                                     version_info_linux.sh
    index.html                                              version_info_macos.sh
    linux.gcc.inc                                           version_info_sunos.sh
    linux.icc.inc                                           version_info_windows.js
    linux.inc                                               vsproject
    linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_debug    windows.cl.inc
    linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_release  windows.gcc.inc
    macos.gcc.inc                                           windows.icl.inc
    macos.icc.inc                                           windows.inc
    macos.inc                                               xbox360.cl.inc
    Makefile.rml                                            xbox360.inc
    Makefile.tbb

    jhlee@coffee:~/programs/tbb30_20101215oss$ ls build/linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_release/
    arena.d                    itt_notify.o             spin_mutex.d
    arena.o                    large_objects.d          spin_mutex.o
    backend.d                  large_objects.o          spin_rw_mutex.d
    backend.o                  libtbbmalloc_proxy.so    spin_rw_mutex.o
    backref.d                  libtbbmalloc_proxy.so.2  spin_rw_mutex_v2.d
    backref.o                  libtbbmalloc.so          spin_rw_mutex_v2.o
    cache_aligned_allocator.d  libtbbmalloc.so.2        task.d
    cache_aligned_allocator.o  libtbb.so                task_group_context.d
    concurrent_hash_map.d      libtbb.so.2              task_group_context.o
    concurrent_hash_map.o      market.d                 task.o
    concurrent_monitor.d       market.o                 task_v2.d
    concurrent_monitor.o       mutex.d                  task_v2.o
    concurrent_queue.d         mutex.o                  tbb.def
    concurrent_queue.o         observer_proxy.d         tbb_function_replacement.d
    concurrent_queue_v2.d      observer_proxy.o         tbb_function_replacement.o
    concurrent_queue_v2.o      pipeline.d               tbb_main.d
    concurrent_vector.d        pipeline.o               tbb_main.o
    concurrent_vector.o        private_server.d         tbbmalloc.d
    concurrent_vector_v2.d     private_server.o         tbbmalloc.def
    concurrent_vector_v2.o     proxy.d                  tbbmalloc.o
    condition_variable.d       proxy.o                  tbbmallocproxy.def
    condition_variable.o       queuing_mutex.d          tbb_misc.d
    critical_section.d         queuing_mutex.o          tbb_misc_ex.d
    critical_section.o         queuing_rw_mutex.d       tbb_misc_ex.o
    dynamic_link.d             queuing_rw_mutex.o       tbb_misc.o
    dynamic_link.o             reader_writer_lock.d     tbb_statistics.d
    frontend.d                 reader_writer_lock.o     tbb_statistics.o
    frontend.o                 recursive_mutex.d        tbb_thread.d
    governor.d                 recursive_mutex.o        tbb_thread.o
    governor.o                 rml_tbb.d                tbbvars.csh
    itt_notify.d               rml_tbb.o                tbbvars.sh
    itt_notify_malloc.d        scheduler.d              version_string.tmp
    itt_notify_malloc.o        scheduler.o


    Then, I can compile their examples. 

      If I add the following lines, I can compile and run each example in its own directory. 

    bash

    export TBB30_INSTALL_DIR="${HOME}/programs/tbb"
    export tbb_bin=${TBB30_INSTALL_DIR}
    export CPATH="${TBB30_INSTALL_DIR}/include" 
    export LIBRARY_PATH="${tbb_bin}/build/linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_release/" 
    export LIBRARY_PATH="${tbb_bin}/build/linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_debug/:${LIBRARY_PATH}"
    export LD_LIBRARY_PATH="${LIBRARY_PATH}:${LD_LIBRARY_PATH}" 


    (t)csh

    setenv TBB30_INSTALL_DIR "${HOME}/tbb"
    setenv tbb_bin "${HOME}/tbb"
    setenv CPATH "${TBB30_INSTALL_DIR}/include"
    setenv LIBRARY_PATH "${tbb_bin}/build/linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_release/"
    setenv LIBRARY_PATH "${tbb_bin}/build/linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug/:${LIBRARY_PATH}"
    setenv LD_LIBRARY_PATH "${LIBRARY_PATH}:$LD_LIBRARY_PATH"

    'Computer > linux' 카테고리의 다른 글

    autoconf with ROOT  (0) 2011.04.13
    GNU screen  (0) 2011.03.24
    svn:ignore  (0) 2011.03.23

    댓글

Designed by Tistory.