Page 1 of 3 123 LastLast
Results 1 to 10 of 21

Thread: Many Features Proposed For C++14

  1. #1
    Join Date
    Jan 2007
    Posts
    15,092

    Default Many Features Proposed For C++14

    Phoronix: Many Features Proposed For C++14

    C++14 is the next update for the C++ programming language. While slated as only a minor extension to C++11, there are several new features being proposed...

    http://www.phoronix.com/vr.php?view=MTMzNzY

  2. #2
    Join Date
    Aug 2012
    Location
    Pennsylvania, United States
    Posts
    1,910

    Default

    So OpenMP would be considered a standard library and replace <threads>?

  3. #3
    Join Date
    Sep 2010
    Posts
    472

    Default

    No it will add not replace threads.

  4. #4
    Join Date
    Jul 2008
    Location
    Greece
    Posts
    3,798

    Default

    Quote Originally Posted by Ericg View Post
    So OpenMP would be considered a standard library and replace <threads>?
    OpenMP is a high-level threading API. It couldn't possibly replace <threads>.

  5. #5
    Join Date
    Dec 2012
    Posts
    550

    Default

    All I want is modules. Pls Herb. End the textual inclusion nightmare.

  6. #6
    Join Date
    Oct 2007
    Location
    Under the bridge
    Posts
    2,146

    Default

    Quote Originally Posted by zanny View Post
    All I want is modules. Pls Herb. End the textual inclusion nightmare.
    ++++

    But I don't think modules will land this decade, if ever. Because adding a fifth parameter-passing method is more important than, say, not crashing whenever you throw an exception from a shared library. Who cares about modules or encapsulation or terrible copy-paste coding (sorry, "textual inclusion"), now you can have rvalue-references and a dozen standard optional random number generators!

  7. #7
    Join Date
    Mar 2008
    Posts
    209

    Default

    having written high performance massively parallel software my experience with openMP is quite unimpressive. Gains are typically quite sub linear, more log-like. It's okay as a stop gap for trying to upgrade old non thread safe software. IMHO new vector unit technology can be dramatically faster. In my experience there are 2 levels of parallelization: instruction level. best left to vectorization techniques, and task level parallelism which is an issue of software design and not a coding problem.

  8. #8
    Join Date
    Nov 2012
    Posts
    182

    Default

    Bah C++11 was awesome, but this C++14 list looks like it was writen by somebody who want to code Java. It is all extensions to the standard library that no one uses anyway. Yawn.

  9. #9
    Join Date
    Jun 2009
    Posts
    2,932

    Default

    Quote Originally Posted by bnolsen View Post
    having written high performance massively parallel software my experience with openMP is quite unimpressive. Gains are typically quite sub linear, more log-like. It's okay as a stop gap for trying to upgrade old non thread safe software. IMHO new vector unit technology can be dramatically faster. In my experience there are 2 levels of parallelization: instruction level. best left to vectorization techniques, and task level parallelism which is an issue of software design and not a coding problem.
    This depends very much on your algorithm. Most importantly how large the thread copying overhead is compared to the actualy workload of each thread and how much of your algorithm needs to be inside critical sections.

    If you apply it to the outermost loops, with each loop iteration doing lots and lots of work with minimal critical sections, gains can be very close to linear, in my experience.

    OpenMP is a wonderful, wonderful way to make software multi-threaded without major rewrites.

  10. #10

    Default

    Quote Originally Posted by pingufunkybeat View Post
    This depends very much on your algorithm. Most importantly how large the thread copying overhead is compared to the actualy workload of each thread and how much of your algorithm needs to be inside critical sections.

    If you apply it to the outermost loops, with each loop iteration doing lots and lots of work with minimal critical sections, gains can be very close to linear, in my experience.

    OpenMP is a wonderful, wonderful way to make software multi-threaded without major rewrites.
    Agreed. We use it for stochastic simulations, where each path numerically solves a set of stochastic partial differential equations with different noises. The processes only need to communicate infrequently to average results. Speed up is basically linear up to at least 12 cores (unless you become limited by memory bandwidth issues).

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •