Quantcast
Channel: Intel® Threading Building Blocks
Viewing all 1148 articles
Browse latest View live

Intel® Parallel Studio XE 2015 Update 2 Professional Edition for C++ Linux*

$
0
0

Intel® Parallel Studio XE 2015 Update 2 Professional Edition for C++ parallel software development suite combines Intel's C/C++ compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

  • Intel® Parallel Studio XE 2015 Update 2 Composer Edition for C++ - includes Intel® C++ Compiler, Intel® Integrated Performance Primitives (Intel® IPP), Intel® Threading Building Blocks (Intel® TBB), Intel® Math Kernel Library (Intel® MKL) and GNU* Project Debugger (GDB*)
  • Intel® Advisor XE 2015 Update 1
  • Intel® Inspector XE 2015 Update 1
  • Intel® VTune™ Amplifier XE 2015 Update 2
  • Sample programs
  • Documentation

New in this release:

  • Components updated to current versions
  • Support for Fedora* 21 has been added

Note:  For more information on the changes listed above, please read the individual component release notes.

 See the previous releases's ReadMe to see what was new in that release.

Resources

Contents
File:  parallel_studio_xe_2015_update2_online.sh
Online installer

File:  parallel_studio_xe_2015_update2.tgz
Product for developing 32-bit and 64-bit applications

  • Developers
  • Linux*
  • C/C++
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® C++ Studio XE
  • Intel® Parallel Studio XE Professional Edition
  • Intel® Advisor XE
  • Intel® VTune™ Amplifier XE
  • Intel® Inspector XE
  • URL
  • Theme Zone: 

    IDZone

    Intel® Parallel Studio XE 2015 Update 2 Professional Edition for C++ Windows*

    $
    0
    0

    Intel® Parallel Studio XE 2015 Update 2 Professional Edition for C++ parallel software development suite combines Intel's C/C++ compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

    • Intel® Parallel Studio XE 2015 Update 2 Composer Edition for C++ - includes Intel® C++ Compiler, Intel® Integrated Performance Primitives (Intel® IPP), Intel® Threading Building Blocks (Intel® TBB) and Intel® Math Kernel Library (Intel® MKL)
    • Intel® Advisor XE 2015 Update 1
    • Intel® Inspector XE 2015 Update 1
    • Intel® VTune™ Amplifier XE 2015 Update 2
    • Sample programs
    • Documentation

    New in this release:

    • Components updated to current versions

    Note:  For more information on the changes listed above, please read the individual component release notes.

     See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents 
    File:  parallel_studio_xe_2015_update2_online_setup.exe
    Online installer

    File:  parallel_studio_xe_2015_update2_setup.exe
    Product for developing 32-bit and 64-bit applications

  • Developers
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • C/C++
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® C++ Studio XE
  • Intel® Parallel Studio XE Professional Edition
  • Intel® Advisor XE
  • Intel® VTune™ Amplifier XE
  • Intel® Inspector XE
  • URL
  • Theme Zone: 

    IDZone

    Intel® Parallel Studio XE 2015 Update 2 Professional Edition for Windows*

    $
    0
    0

    Intel® Parallel Studio XE 2015 Update 2 Professional Edition parallel software development suite combines Intel's C/C++ compiler and Fortran compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

    • Intel® Parallel Studio XE 2015 Update 2 Composer Edition - includes Intel® Visual Fortran Compiler, Intel® C++ Compiler, Intel® Integrated Performance Primitives (Intel® IPP), Intel® Threading Building Blocks (Intel® TBB) and Intel® Math Kernel Library (Intel® MKL)
    • Intel® Advisor XE 2015 Update 1
    • Intel® Inspector XE 2015 Update 1
    • Intel® VTune™ Amplifier XE 2015 Update 2
    • Sample programs
    • Documentation

    New in this release:

    • Components updated to current versions

    Note:  For more information on the changes listed above, please read the individual component release notes.

     See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents 
    File:  parallel_studio_xe_2015_update2_online_setup.exe
    Online installer

    File:  parallel_studio_xe_2015_update2_setup.exe
    Product for developing 32-bit and 64-bit applications

  • Developers
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • C/C++
  • Fortran
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Fortran Compiler
  • Intel® Fortran Composer XE
  • Intel® Visual Fortran Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Parallel Studio XE
  • Intel® Parallel Studio XE Professional Edition
  • Intel® Advisor XE
  • Intel® VTune™ Amplifier XE
  • Intel® Inspector XE
  • URL
  • Theme Zone: 

    IDZone

    Intel® Parallel Studio XE 2015 Update 2 Professional Edition for Linux*

    $
    0
    0

    Intel® Parallel Studio XE 2015 Update 2 Professional Edition parallel software development suite combines Intel's C/C++ compiler and Fortran compiler; performance and parallel libraries; error checking, code robustness, and performance profiling tools into a single suite offering.  This new product release includes:

    • Intel® Parallel Studio XE 2015 Update 2 Composer Edition - includes Intel® Fortran Compiler, Intel® C++ Compiler, Intel® Integrated Performance Primitives (Intel® IPP), Intel® Threading Building Blocks (Intel® TBB), Intel® Math Kernel Library (Intel® MKL) and GNU* Project Debugger (GDB*)
    • Intel® Advisor XE 2015 Update 1
    • Intel® Inspector XE 2015 Update 1
    • Intel® VTune™ Amplifier XE 2015 Update 2
    • Sample programs
    • Documentation

    New in this release:

    • Components updated to current versions
    • Support for Fedora* 21 has been added

    Note:  For more information on the changes listed above, please read the individual component release notes.

    See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents
    File:  parallel_studio_xe_2015_update2_online.sh
    Online installer

    File:  parallel_studio_xe_2015_update2.tgz
    Product for developing 32-bit and 64-bit applications

  • Developers
  • Linux*
  • C/C++
  • Fortran
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Fortran Compiler
  • Intel® Fortran Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Parallel Studio XE
  • Intel® Parallel Studio XE Professional Edition
  • Intel® Advisor XE
  • Intel® VTune™ Amplifier XE
  • Intel® Inspector XE
  • URL
  • Theme Zone: 

    IDZone

    Intel® Parallel Studio XE 2015 Update 2 Composer Edition for Windows*

    $
    0
    0

    Intel® Parallel Studio XE 2015 Update 2 Composer Edition for Windows* includes Intel's latest Fortran and C/C++ compilers and performance libraries for IA-32 and Intel® 64 architecture systems. This new product release now includes: Intel® Visual Fortran Compiler 15.0.2, Intel® C++ Compiler XE Version 15.0.2, Intel® Math Kernel Library (Intel® MKL) Version 11.2 Update 2, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.2 Update 1, Intel® Threading Building Blocks (Intel® TBB) Version 4.3 Update 3, Intel® Debugger Extension for Intel® Many Integrated Core Architecture (Intel® MIC Architecture) Version 7.7-8.0

    New in this release:

    • New string conversion functions added to libistrconv in Intel® C++ Compiler 15.0.2
    • /QxCOMMON-AVX512 and /QaxCOMMON-AVX512 options added in Intel® C++ Compiler 15.0.2
    • New Library Support for Assignment with Allocatable Polymorphic Components in Intel® Visual Fortran Compiler 15.0.2
    • Microsoft Visual Studio Community 2013 supported
    • Intel® C++ Compiler 15.0.2
    • Intel® Visual Fortran Compiler 15.0.2
    • Intel® Math Kernel Library 11.2 Update 2
    • Intel® Threading Building Blocks 4.3 Update 3
    • Corrections to reported problems

    Note:  For more information on the changes listed above, please read the individual component release notes. See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents
    File: w_compxe_online_2015.2.179.exe
    Online installer

    File: w_compxe_2015.2.179.exe
    Product for developing 32-bit and 64-bit applications (with Microsoft Visual Studio 2010 Shell & Libraries*, English version)

    File: w_compxe_all_jp_2015.2.179.exe
    Product for developing 32-bit and 64-bit applications (with Microsoft Visual Studio 2010 Shell & Libraries*, Japanese version)

    File:  w_ccompxe_redist_msi_2015.2.179.zip
    Redistributable Libraries for 32-bit and 64-bit msi files

    File:  w_fcompxe_redist_msi_2015.2.179.zip
    Redistributable Libraries for 32-bit and 64-bit msi files

    File:  get-ipp-8.2-crypto-library.htm
    Cryptography Library

  • Developers
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • C/C++
  • Fortran
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Fortran Compiler
  • Intel® Fortran Composer XE
  • Intel® Visual Fortran Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Parallel Studio XE Cluster Edition
  • URL
  • Theme Zone: 

    IDZone

    Intel® Parallel Studio XE 2015 Update 2 Composer Edition for Linux*

    $
    0
    0

    Intel® Parallel Studio XE 2015 Update 2 Composer Edition for Linux includes Intel's latest Fortran and C/C++ compilers and performance libraries for IA-32, Intel® 64, and Intel® Many Integrated Core (Intel® MIC) architecture systems. This new product release now includes: Intel® Fortran Compiler 15.0.2, Intel® C++ Compiler 15.0.2, GNU* Project Debugger (GDB*) 7.8 IA-32/Intel® 64 debuggerGNU* Project Debugger (GDB*) 7.7 Intel® Xeon Phi™ coprocessor debuggerIntel® Math Kernel Library (Intel® MKL) Version 11.2 Update 2, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.2 Update 1, Intel® Threading Building Blocks (Intel® TBB) Version 4.3 Update 3

    New in this release:

    • New string conversion functions added to libistrconv in Intel® C++ Compiler 15.0.2
    • -xCOMMON-AVX512 and -axCOMMON-AVX512 options added in Intel® C++ Compiler 15.0.2
    • New Library Support for Assignment with Allocatable Polymorphic Components in Intel® Fortran Compiler 15.0.2
    • Fedora 21* now supported
    • Intel® C++ Compiler 15.0.2
    • Intel® Fortran Compiler 15.0.2
    • GNU* Project Debugger (GDB*) 7.8 IA-32/Intel® 64 debugger
    • Intel® Math Kernel Library 11.2 Update 2
    • Intel® Threading Building Blocks 4.3 Update 3
    • Corrections to reported problems

    Note: For more information on the changes listed above, please read the individual component release notes. See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents
    File:  l_compxe_online_2015.2.xxx.sh
    Product for developing 32-bit and 64-bit applications

    File:  l_compxe_2015.2.xxx.tgz
    Product for developing 32-bit and 64-bit applications

    File:  l_ccompxe_2015.2.xxx_redist.tgz
    Redistributable Libraries

    File:  l_fcompxe_2015.2.xxx_redist.tgz
    Redistributable Libraries

    File:  get-ipp-8.2-crypto-library.htm
    Cryptography Library

  • Developers
  • Linux*
  • C/C++
  • Fortran
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Fortran Compiler
  • Intel® Fortran Composer XE
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • Intel® Parallel Studio XE Composer Edition
  • URL
  • Theme Zone: 

    IDZone

    What's New? Intel® Threading Building Blocks 4.3 Update 3

    Linearizability tester

    $
    0
    0

    We have recently evaluated tbb::concurrent_unordered_set with a new tool that finds linearizability violations, a certain class of concurrency-related bugs [1]. I just wanted to share that link in case there is interest in using the tool for other data structures in TBB. Of course, any form of feedback, questions, feature requests etc. are always warmly invited.

    All best regards,

    Alex

    [1] https://github.com/ahorn/linearizability-tester


    ask for helps on improving the TBB parallel efficiency regarding hyper-threading etc.

    $
    0
    0

    Hello! I have some confusing parallel timing results for my code, which performs
    heavy numerical work.

    For using 1 core, my timing is 882 seconds;
    For using 8 cores, my timing is 121 seconds (7.3x faster);
    for using 16 cores; my timing is 101 seconds (8.7x faster);
    for using 32 logical cores; timing is 100 seconds, as same with using 16 cores.

    My questions focus on two points:

    1  why the timing for hyper-threading is same with 16 physical cores?
    2  the 8 cores timing shows nearly linear speedup. However, why 16 cores only
       have marginal improvements against with 8 cores?

    The working environment is:
    Two 2.6 GHz 64bit Intel 8-core XEON E5-2600 with 16 physical cores and 32 logical cores
    32 GB of memory

    Finally let me introduce more details about my code. This code is performing
    4body analytical integrals in quantum chemistry in terms of Gaussian type
    functions.

    This is the head file to define the class with operator():
    UInt is just size_t type.

       /**
        * \class TBB_GInts4D
        * the result is in form of matrix
        */
       class TBB_GInts4DMatrix {

          private:

             //  
             // basic data needed for calculation
             //  
             bool sameShellPair;                   ///< whether the bra and ket are coming from same source?
             UInt nSpin;                           ///< number of spin states
             Double thresh;                        ///< threshold value for gints4d work
             Double spThresh;                      ///< threshold value for generating shell pairs

             //  
             // reference for the input
             //  
             all of data here are constant reference.....

             //  
             // the output data
             //  
             Mtrx alphaMatrix;                     ///< alpha  matrix
             Mtrx betaMatrix;                      ///< beta  matrix

          public:

             /**
              * constructor
              * \param spStatus     whether bra and ket are same shell pair infor?
              * \param ginfor       information center for gints job
              * \param bra,ket      shell pair infor class for bra and ket side
              * \param b1,b2,k1,k2  reference for shell data
              * \param alpha,beta   input density matrices
              */
             TBB_GInts4DMatrix(bool spStatus, const GIntJobInfor& ginfor0, const SigMolShellPairInfor& bra,
                  const SigMolShellPairInfor& ket, const MolShell& b1, const MolShell& b2,
                  const MolShell& k1, const MolShell& k2, const Mtrx& alpha, const Mtrx& beta);
        
             /**
              * destructor
              */
             ~TBB_GInts4DMatrix() { };

             /**
              * functional operator to generate the integral results
              * this is used as parallel_reduce
              */
             void operator()(const blocked_range<UInt>& r);

             /**
              * splitting constructor used by TBB
              * we copy all of reference data except result
              * which should be always empty initially
              */
             TBB_GInts4DMatrix(const TBB_GInts4DMatrix& tbb_gints4d, split);

             /**
              * for assemble results in threads together
              */
             void join(TBB_GInts4DMatrix& tbb_gints4d) {   

                // update the alpha/beta matrix
                alphaMatrix.add(tbb_gints4d.alphaMatrix);
                if (nSpin == 2) {
                   betaMatrix.add(tbb_gints4d.betaMatrix);
                }   
             };

             .......
          }

    This is the cpp file for this class:

    // constructor
    TBB_GInts4DMatrix::TBB_GInts4DMatrix(bool spStatus, const GIntJobInfor& ginfor0,
          const SigMolShellPairInfor& bra, const SigMolShellPairInfor& ket,
          const MolShell& b1, const MolShell& b2, const MolShell& k1, const MolShell& k2,
          const Mtrx& alpha, const Mtrx& beta):sameShellPair(spStatus),nSpin(ginfor0.getNSpin()),
       thresh(ginfor0.int4DThreshVal()),spThresh(ginfor0.spThreshVal()),
       bra1(b1),bra2(b2),ket1(k1),ket2(k2),braInfo(bra),ketInfo(ket),
       ginfor(ginfor0),alphaDen(alpha),betaDen(beta)
    {
       // set up results
       alphaMatrix.init(alphaDen.getRow(),alphaDen.getCol());
       if (nSpin==2) {
          betaMatrix.init(betaDen.getRow(),betaDen.getCol());
       }   
    }

    // copy constructor
    TBB_GInts4DMatrix::TBB_GInts4DMatrix(const TBB_GInts4DMatrix& tbb_gints4d,
          split):sameShellPair(tbb_gints4d.sameShellPair),
       nSpin(tbb_gints4d.nSpin),thresh(tbb_gints4d.thresh),spThresh(tbb_gints4d.spThresh),
       bra1(tbb_gints4d.bra1),bra2(tbb_gints4d.bra2),ket1(tbb_gints4d.ket1),
       ket2(tbb_gints4d.ket2),braInfo(tbb_gints4d.braInfo),ketInfo(tbb_gints4d.ketInfo),
       ginfor(tbb_gints4d.ginfor),alphaDen(tbb_gints4d.alphaDen),betaDen(tbb_gints4d.betaDen)
    {
       // set up results
       alphaMatrix.init(alphaDen.getRow(),alphaDen.getCol());
       if (nSpin==2) {
          betaMatrix.init(betaDen.getRow(),betaDen.getCol());
       }   
    }

    // this is the body for defining operator ()
    void TBB_GInts4DMatrix::operator()(const blocked_range<UInt>& r)  
    {
       //  
       // setup scratch data for ERI calculation
       // 1  atom shell pair (bra and ket)
       // 2  heap memory management if necessary
       // 3  integral array
       // 4  J/K digestion
       //  
       basically, here I just allocate memory for scratch data
       in terms of TBB scalable allocator with STL vector

       // now real work begins
       for( UInt n=r.begin(); n!=r.end(); ++n ) {
              
             // here we perform heavy numerical work to calculate
             // the 4 body integrals. All of variables are local
             // to threads, no more memory needed except above
             // scratch data
             // the calculation inside the loop costs 10^5 to 10^6 CPU
             // instructions to finish
             // the results will be added to result alphaMatrix and
             // betaMatrix, which are local per thread
       }
    }

    This is the way I use the class:

       // get the global information
       const GlobalInfor& globInfor = ginfor.getGlobalInfor();

       // possible timing code
       tick_count t0 = tick_count::now();

       // set up the scheduler
       task_scheduler_init init(task_scheduler_init::deferred);
       if (globInfor.useMultiThreads()) {
          init.initialize();
       }else{
          init.initialize(1);
       }

       // do normal integral matrix calculation
       UInt braLen = braInfor.getNSigAtomShellPairs();
       bool sameShellPairs = true;
       UInt len = braLen*(braLen+1)/2;
       TBB_GInts4DMatrix intWork(sameShellPairs,ginfor,braInfor,ketInfor,s,s,s,s,den.getMtrx(0),den.getMtrx(1));
       parallel_reduce(blocked_range<UInt>(0,len),intWork);

       // possible timing code
       tick_count t1 = tick_count::now();
       Double t = (t1-t0).seconds();
       if (globInfor.printTiming()) {
          printf("%s  %-12.6f\n", "GInts4D work with TBB threads, time in seconds  ", t);
       }

    Thank you so much for your help!!!

    fenglai
     

     

    Affinity

    $
    0
    0

    Hello. I have been starded work with Intel TBB. Is it possible to set affinity in Intel TBB? I want to run one thread on one core. I write sample test code, but it's dont work correcly.

    class Test {
      public:
        void operator()(const tbb::blocked_range<int>& range) const {
          cerr << "CPU: "<< sched_getcpu() << " this: "<< this<< ", begin: "<< range.begin() << ", end: "<< range.end() << ""<< endl;
        }
    };
    
    
    int main()
    {
        cout << endl << endl;
        cout << "***** Intel TBB *****"<< endl;
    
        tbb::affinity_partitioner ap;
        tbb::task_scheduler_init init(8);
        Test test;
    
        tbb::parallel_for(tbb::blocked_range<int>(0, 800, 100), test, ap);
    
        return 0;
    }

    When i run it, i get the following result:

    CPU: 16 this: 0x7f2ff6d1fd58, begin: 0, end: 100
    CPU: 16 this: 0x7f2ff6d1f358, begin: 100, end: 200
    CPU: 16 this: 0x7f2ff6d1f658, begin: 200, end: 300
    CPU: 16 this: 0x7f2ff6d1f358, begin: 300, end: 400
    CPU: 16 this: 0x7f2ff6d1f958, begin: 400, end: 500
    CPU: 16 this: 0x7f2ff6d1f158, begin: 500, end: 600
    CPU: 16 this: 0x7f2ff6d1f458, begin: 600, end: 700
    CPU: 16 this: 0x7f2ff6d1f158, begin: 700, end: 800

    Whats is the problem? Thank a lot.

    videos on threadingbuildingblocks.org are not working.

    $
    0
    0

    The videos on the site are not visible for now. I am not even getting errors. just an empty screen. Not sure if it is on my side by i would not be surprised if there is something wrong going on. I tried from work and home and both are failing on multiple machines.

    Regards.

    Body classes of unlimited function nodes

    $
    0
    0

    For a long time my understanding of the prominent warning that the function node body will be copied was that there had to be at least as many instances of the body class as there are of concurrent threads executing that particular body. But that understanding was incorrect. Nothing seems to be preventing multiple threads from accessing the same instance of the body class, so there is an implicit (at least, I haven't seen it stated anywhere) assumption that the operator() associated with the body is reentrant. First of all, can somebody confirm this? And second, what are my options for obtaining the desired behavior of one body class instance/thread, and yet having this body reside in an unlimited node? I care because I want the class to have member variables, and that's not possible with anything other than a serial node.

    Statically linking to tbb

    $
    0
    0

    Hey, is there a way to statically link to both TBB and IPP?

    I would like to deploy a binary only.

    Thanks,

    Alon

    tbbmalloc operator new should check new_handler's before throwing std::bad_alloc

    Archive versions of TBB

    $
    0
    0

    Hello,

    I am looking for older versions of TBB (2.0 commaligned and 3.x commaligned). Can anyone please point me to the right link? I could not find it. Thank you in advance.


    Intel® C++ Composer XE 2013 SP1 for Linux*, Update 5

    $
    0
    0

    Intel® C++ Composer XE 2013 SP1 Update 5 includes the latest Intel C/C++ compilers and performance libraries for IA-32, Intel® 64, and Intel® Many Integrated Core (Intel® MIC) architecture systems. This new product release now includes: Intel® C++ Compiler XE Version 14.0 Update 5, GNU* Project Debugger (GDB*) 7.5, Intel® Debugger 13.0, Intel® Math Kernel Library (Intel® MKL) Version 11.1 Update 4, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.1 Update 1, Intel® Threading Building Blocks (Intel® TBB) Version 4.2 Update 5.

    New in this release:

    Note:

    1. For more information on the changes listed above, please read the individual component release notes. See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents
    File:  l_ccompxe_online_2013_sp1.5.212.sh
    Product for developing 32-bit and 64-bit applications

    File:  l_ccompxe_2013_sp1.5.212.tgz
    Product for developing 32-bit and 64-bit applications

    File:  l_ccompxe_2013_sp1.5.212_redist.tgz
    Redistributable Libraries

    File:  get-ipp-8.1-crypto-library.htm
    Cryptography Library

  • Developers
  • Linux*
  • C/C++
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Debugger
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • URL
  • Theme Zone: 

    IDZone

    Intel® C++ Composer XE 2013 SP1 for Windows*, Update 5

    $
    0
    0

    Intel® C++ Composer XE 2013 SP1 Update 5 includes the latest Intel C/C++ compilers and performance libraries for IA-32 and Intel® 64 architecture systems. This new product release now includes: Intel® C++ Compiler XE Version 14.0.5, Intel® Math Kernel Library (Intel® MKL) Version 11.1 Update 4, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.1 Update 1, Intel® Threading Building Blocks (Intel® TBB) Version 4.2 Update 5, Intel(R) Debugger Extension 7.5-1.0 for Intel(R) Many Integrated Core Architecture.

    New in this release:

    Note:  For more information on the changes listed above, please read the individual component release notes. See the previous releases's ReadMe to see what was new in that release.

    Resources

    Contents
    File: w_ccompxe_online_2013_sp1.5.239.exe
    Online installer

    File: w_ccompxe_2013_sp1.5.239.exe
    Product for developing 32-bit and 64-bit applications

    File:  w_ccompxe_redist_msi_2013_sp1.5.239.zip
    Redistributable Libraries for 32-bit and 64-bit msi files

    File:  get-ipp-8.1-crypto-library.htm
    Cryptography Library

  • Developers
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 8
  • Windows*
  • C/C++
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Debugger
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • URL
  • Theme Zone: 

    IDZone

    A TBB example does not compile in VS 2013

    $
    0
    0

    Hello All,

    I was able to build and run shortpath example using the nmake and the Makefile to build the example. In the command line window (in Spanish is: Simbolo del sistema, I think Prompt window in English) I ran tbbvars.bat and I fixed PATH and INCLUDE environment variables:

    set PATH=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\bin;%PATH%

    set INCLUDE=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\include;%INCLUDE%

    Then I executed nmake and the executable was built and I ran it.

    Then I opened the .sln file in Visual Studio 2013, the first message was that the .vcxproj was going to be updated to vs 2013 and I accepted.

    I opened the project's properties window and selected the same compiler as before, I also changed the libraries to ia32\vc12 instead of ia32\vc10

    When I compile the project I get 52 errors, 42 of them LNK errors, for some reason VS2013 is not linking correctly.

    Does anyone know if is it possible to build tbb examples with vs2013? if it is, where should I check?

    I attach the project's files

    Thank you.

    P.S. List of errors

    Error    2    error LNK2001: símbolo externo __purecall sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    3    error LNK2019: símbolo externo "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) sin resolver al que se hace referencia en la función "void __cdecl shortpath(void)" (?shortpath@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    4    error LNK2001: símbolo externo "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(newaop_s.obj)    shortpath
    Error    5    error LNK2019: símbolo externo "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) sin resolver al que se hace referencia en la función __unwindfunclet$?shortpath@@YAXXZ$0    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    6    error LNK2001: símbolo externo "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    7    error LNK2019: símbolo externo _atexit sin resolver al que se hace referencia en la función "void __cdecl `dynamic initializer for 'public: static class std::_Generic_error_category std::_Error_objects<int>::_Generic_object''(void)" (??__E?_Generic_object@?$_Error_objects@H@std@@2V_Generic_error_category@2@A@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    8    error LNK2001: símbolo externo _atexit sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    9    error LNK2019: símbolo externo __imp___invalid_parameter sin resolver al que se hace referencia en la función "public: bool __thiscall std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > >::operator==(class std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > > const &)const " (??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Vargument@internal@utility@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    10    error LNK2019: símbolo externo __imp__printf sin resolver al que se hace referencia en la función "void __cdecl print_path(void)" (?print_path@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    11    error LNK2019: símbolo externo __imp__exit sin resolver al que se hace referencia en la función __catch$?parse_cli_arguments@utility@@YAXHQAPBDVcli_argument_pack@1@@Z$0    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    12    error LNK2019: símbolo externo _abs sin resolver al que se hace referencia en la función "bool __cdecl die_toss(unsigned int,unsigned int,class utility::FastRandom &)" (?die_toss@@YA_NIIAAVFastRandom@utility@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    13    error LNK2019: símbolo externo __imp__free sin resolver al que se hace referencia en la función "void __cdecl std::_DebugHeapDelete<class std::_Facet_base>(class std::_Facet_base *)" (??$_DebugHeapDelete@V_Facet_base@std@@@std@@YAXPAV_Facet_base@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    14    error LNK2001: símbolo externo __imp__free sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    15    error LNK2019: símbolo externo _sqrt sin resolver al que se hace referencia en la función "double __cdecl get_distance(struct point const &,struct point const &)" (?get_distance@@YANABUpoint@@0@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    16    error LNK2019: símbolo externo __imp___hypot sin resolver al que se hace referencia en la función _hypot    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    17    error LNK2001: símbolo externo __imp___hypot sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    18    error LNK2019: símbolo externo __imp__memmove sin resolver al que se hace referencia en la función "unsigned int * __cdecl std::_Uninit_move<unsigned int,unsigned int,unsigned int>(unsigned int *,unsigned int *,unsigned int *,struct std::_Wrap_alloc<class std::allocator<unsigned int> > &,unsigned int *,struct std::_Scalar_ptr_iterator_tag)" (??$_Uninit_move@III@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@0U_Scalar_ptr_iterator_tag@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    19    error LNK2019: símbolo externo _memcpy sin resolver al que se hace referencia en la función "public: static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    20    error LNK2019: símbolo externo __imp__memchr sin resolver al que se hace referencia en la función "char const * __cdecl std::_Find<char const *,char>(char const *,char const *,char const &,struct std::integral_constant<bool,1>)" (??$_Find@PBDD@std@@YAPBDPBD0ABDU?$integral_constant@_N$00@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    21    error LNK2019: símbolo externo _memcmp sin resolver al que se hace referencia en la función "public: static int __cdecl std::char_traits<char>::compare(char const *,char const *,unsigned int)" (?compare@?$char_traits@D@std@@SAHPBD0I@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    22    error LNK2019: símbolo externo _memset sin resolver al que se hace referencia en la función "public: static char * __cdecl std::char_traits<char>::assign(char *,unsigned int,char)" (?assign@?$char_traits@D@std@@SAPADPADID@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    23    error LNK2019: símbolo externo _strlen sin resolver al que se hace referencia en la función "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    24    error LNK2019: símbolo externo "__declspec(dllimport) public: __thiscall std::exception::exception(char const * const &)" (__imp_??0exception@std@@QAE@ABQBD@Z) sin resolver al que se hace referencia en la función "public: __thiscall std::logic_error::logic_error(char const *)" (??0logic_error@std@@QAE@PBD@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    25    error LNK2019: símbolo externo "__declspec(dllimport) public: __thiscall std::exception::exception(class std::exception const &)" (__imp_??0exception@std@@QAE@ABV01@@Z) sin resolver al que se hace referencia en la función "public: __thiscall std::logic_error::logic_error(class std::logic_error const &)" (??0logic_error@std@@QAE@ABV01@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    26    error LNK2019: símbolo externo "__declspec(dllimport) public: virtual __thiscall std::exception::~exception(void)" (__imp_??1exception@std@@UAE@XZ) sin resolver al que se hace referencia en la función "public: virtual __thiscall std::logic_error::~logic_error(void)" (??1logic_error@std@@UAE@XZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    27    error LNK2019: símbolo externo "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) sin resolver al que se hace referencia en la función "void __cdecl ReleaseGraph(void)" (?ReleaseGraph@@YAXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    28    error LNK2019: símbolo externo __imp___CrtDbgReportW sin resolver al que se hace referencia en la función "public: bool __thiscall std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > >::operator==(class std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class utility::internal::argument> > > > const &)const " (??8?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Vargument@internal@utility@@@std@@@std@@@std@@@std@@QBE_NABV01@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    29    error LNK2019: símbolo externo "__declspec(dllimport) public: __thiscall std::bad_cast::bad_cast(char const *)" (__imp_??0bad_cast@std@@QAE@PBD@Z) sin resolver al que se hace referencia en la función "class std::ctype<char> const & __cdecl std::use_facet<class std::ctype<char> >(class std::locale const &)" (??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    30    error LNK2019: símbolo externo __imp__SwitchToThread@0 sin resolver al que se hace referencia en la función "public: void __thiscall tbb::internal::atomic_backoff::pause(void)" (?pause@atomic_backoff@internal@tbb@@QAEXXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    31    error LNK2019: símbolo externo __imp__QueryPerformanceCounter@4 sin resolver al que se hace referencia en la función "public: static class tbb::tick_count __cdecl tbb::tick_count::now(void)" (?now@tick_count@tbb@@SA?AV12@XZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    32    error LNK2019: símbolo externo __imp__QueryPerformanceFrequency@4 sin resolver al que se hace referencia en la función "private: static __int64 __cdecl tbb::tick_count::interval_t::ticks_per_second(void)" (?ticks_per_second@interval_t@tick_count@tbb@@CA_JXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    33    error LNK2019: símbolo externo __imp___wassert sin resolver al que se hace referencia en la función "int __cdecl utility::internal::step_function_power2_ladder(int,double)" (?step_function_power2_ladder@internal@utility@@YAHHN@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    34    error LNK2001: símbolo externo "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" (??0bad_cast@std@@QAE@ABV01@@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    35    error LNK2001: símbolo externo "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    36    error LNK2001: símbolo externo "public: virtual __thiscall std::bad_cast::~bad_cast(void)" (??1bad_cast@std@@UAE@XZ) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    37    error LNK2001: símbolo externo "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    38    error LNK2019: símbolo externo @__security_check_cookie@4 sin resolver al que se hace referencia en la función "public: static void __cdecl `public: void __thiscall utility::cli_argument_pack::parse(unsigned int,char const * * const)'::`5'::throw_unknown_parameter::_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    39    error LNK2001: símbolo externo @__security_check_cookie@4 sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    40    error LNK2019: símbolo externo __CxxThrowException@8 sin resolver al que se hace referencia en la función "public: static void __cdecl `public: void __thiscall utility::cli_argument_pack::parse(unsigned int,char const * * const)'::`5'::throw_unknown_parameter::_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    41    error LNK2019: símbolo externo ___CxxFrameHandler3 sin resolver al que se hace referencia en la función __unwindfunclet$?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$2    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    42    error LNK2001: símbolo externo ___CxxFrameHandler3 sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    43    error LNK2019: símbolo externo ___RTDynamicCast sin resolver al que se hace referencia en la función "public: bool __thiscall tbb::interface7::internal::adaptive_partition_type_base<class tbb::interface7::internal::auto_partition_type>::check_being_stolen(class tbb::task &)" (?check_being_stolen@?$adaptive_partition_type_base@Vauto_partition_type@internal@interface7@tbb@@@internal@interface7@tbb@@QAE_NAAVtask@4@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    44    error LNK2019: símbolo externo __dtoui3 sin resolver al que se hace referencia en la función "bool __cdecl utility::internal::is_power_of_2<double>(double)" (??$is_power_of_2@N@internal@utility@@YA_NN@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    45    error LNK2019: símbolo externo __ltod3 sin resolver al que se hace referencia en la función "public: static double __cdecl tbb::tick_count::resolution(void)" (?resolution@tick_count@tbb@@SANXZ)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    46    error LNK2001: símbolo externo "const type_info::`vftable'" (??_7type_info@@6B@) sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    47    error LNK2019: símbolo externo ___security_cookie sin resolver al que se hace referencia en la función "public: static void __cdecl `public: void __thiscall utility::cli_argument_pack::parse(unsigned int,char const * * const)'::`5'::throw_unknown_parameter::_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_@throw_unknown_parameter@?4??parse@cli_argument_pack@utility@@QAEXIQAPBD@Z@SAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    48    error LNK2001: símbolo externo ___security_cookie sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    49    error LNK2001: símbolo externo __fltused sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\shortpath.obj    shortpath
    Error    50    error LNK2001: símbolo externo __fltused sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\msvcprtd.lib(locale0_implib.obj)    shortpath
    Error    51    error LNK2001: símbolo externo _mainCRTStartup sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\LINK    shortpath
    Error    52    error LNK2001: símbolo externo __load_config_used sin resolver    C:\tbb43_20150209oss\examples\concurrent_priority_queue\shortpath\msvs\LINK    shortpath
    Error    53    error LNK1120: 42 externos sin resolver    C:\Users\Luis\AppData\Local\Temp\tbb_examples\Debug\shortpath.exe    shortpath

     

    Proposed patch 4.3 for simplifying compilation errors for tbb::atomic

    $
    0
    0

    Dear TBB Developers,

    Please consider the attached patch for tbb43_20141009oss_src which simplifies the compilation errors for misusing tbb::atomic.

    Basically, tbb users sometimes misuse tbb::atomic with unsupported types, for example.
    And the compiler-error message about the misuse is not easy to understand since it exposes internal details about tbb.

    Here is the compiler-error message of misusing tbb::atomic with a non-supported type with Clang 3.5.

    tbb43_20141009oss/include/tbb/atomic.h:220:34: error: implicit instantiation of undefined template 'tbb::internal::aligned_storage<MyPair, 16>'
        aligned_storage<T,sizeof(T)> my_storage;
                                     ^
    tbb43_20141009oss/include/tbb/atomic.h:405:16: note: in instantiation of template class 'tbb::internal::atomic_impl<MyPair>' requested here
    struct atomic: internal::atomic_impl<T> {
                   ^
    main.cpp:11:23: note: in instantiation of template class 'tbb::atomic<MyPair>' requested here
      tbb::atomic<MyPair> b;
                          ^
    tbb43_20141009oss/include/tbb/atomic.h:93:8: note: template is declared here
    struct aligned_storage;

    With the attached patch, the compiler-error message shall be like this, with helpful error message.

    mytbb43/include/tbb/atomic.h:448:3: error: static_assert failed "tbb::atomic only supports integral type, enumeration type and pointer type"
      __TBB_STATIC_ASSERT(internal::atomic_not_support_type<T>::value, "tbb::atomic only supports integral type, enumeration type and pointer type");
      ^                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    mytbb43/include/tbb/tbb_stddef.h:493:44: note: expanded from macro '__TBB_STATIC_ASSERT'
    #define __TBB_STATIC_ASSERT(condition,msg) static_assert(condition,msg)
                                               ^
    main.cpp:11:23: note: in instantiation of template class 'tbb::atomic<MyPair, tbb::internal::bool_constant<false> >' requested here
      tbb::atomic<MyPair> b;

    I think this kind of compiler-error message will be more helpful to tbb users.

    Thanks

    -xuepeng

    AttachmentSize
    Downloadatomic_patch.txt1.39 KB

    Determination of the number of words in the file.

    $
    0
    0

    Hello!

    What parallel pattern presented in Intel TBB is better to use to determine the number of words in the file?

    Thank you for your attention!

    Viewing all 1148 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>