The STE||AR Group is proud to announce the release of HPX 1.1.0, 10 years after 
the first commit<https://github.com/STEllAR-GROUP/hpx/commit/b0e98c9>! This 
release contains 2300 commits since the previous release and has closed over 
150 issues. HPX 1.1.0 brings users full control over how HPX uses processing 
units, improvements to parallel algorithms and many other usability 
improvements. This release would not have been possible without the help of all 
the people who have contributed bug reports, testing, code and improvements to 
the documentation. Thank you!


Download the release from our download 
page<http://stellar-group.org/libraries/hpx/downloads/> or from our GitHub 
page<https://github.com/STEllAR-GROUP/hpx/releases>.


The highlights of this release are:

  *   We have changed the way HPX manages the processing units on a node. We no 
longer implicitly bind all available cores to a single thread pool. The user 
has now full control over what processing units are bound to what thread pool, 
each with a separate scheduler. It is now also possible to create your own 
scheduler implementation and control what processing units this scheduler 
should use. We added the hpx::resource::partitioner that manages all available 
processing units and assigns resources to the used thread pools. The runtime, 
thread pools and individual threads can now be suspended and resumed 
independently. This functionality helps in running HPX concurrently to code 
that is directly relying on OpenMP or MPI.
  *   We have continued to implement various parallel algorithms. HPX now 
almost completely implements all of the parallel algorithms as specified by the 
C++17 standard. We have also continued to implement these algorithms for the 
distributed use case (for segmented data structures, such as 
hpx::partitioned_vector).
  *   The parallel algorithms adopted for C++17 restrict the iterator 
categories usable with those to at least forward iterators. Our implementation 
of the parallel algorithms supported input iterators (and output iterators) as 
well by simply falling back to sequential execution. We have now made our 
implementations conforming by requiring at least forward iterators.
  *   We have added a compatibility layer for std::thread, std::mutex, and 
std::condition_variable allowing for the code to use those facilities where 
available and to fall back to the corresponding Boost facilities otherwise.
  *   We have added a new launch policy hpx::launch::lazy that allows to defer 
the decision on what launch policy to use to the point of execution.
  *   We have added several improvements to how components can be constructed.

For a complete list of new features and breaking changes please see our release 
notes<http://stellar.cct.lsu.edu/files/hpx-1.1.0/html/hpx/whats_new/hpx_1_1_0.html>.
 If you have any questions, comments, or exploits to report you can comment 
below, reach us on IRC (#stellar on Freenode), or email us at 
[email protected]<mailto:[email protected]>. We value 
on your input!
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to