HPX V0.9.7 Released!

The newest version of HPX (V0.9.7) is now available for download! Over the past few months the STE||AR Group at Louisiana State University, has been hard at work making HPX more portable than ever before! With the port of HPX to the BlueGene/Q machine, we now can run on almost all of the world’s top 500 machines. We have improved our support for the Intel Xeon Phi ® which will allow HPX users to more fully exploit this exciting accelerator. HPX V0.9.7 will give users the ability to write straight forward code which will automatically utilize the hardware available in their machines and simultaneously be able to run on different architectures around the world.

As for previous releases, we focused for this release on designing an application programming interface (API) which is very much aligned with the C++11 and the upcoming C++14 Standards. This simplifies the tasks of the programmers by exposing a familiar set of functions and types.

Below is a more detailed list of improvements for this release:

  • Ported HPX to BlueGene/Q
  • Improved HPX support for Intel Xeon Phi ® accelerators
  • Reimplemented hpx::bind, hpx::tuple, and hpx::function for better performance and better compliance with the C++11 Standard. Added hpx::mem_fn.
  • Reworked hpx::when_all and hpx::when_any for better C++ compliance.. Added hpx::when_any_swapped.
  • Added hpx::copy as a precursor for a migrate functionality
  • Added hpx::get_ptr allowing to directly access the memory underlying a given component
  • Added the hpx::lcos::broadcast, hpx::lcos::reduce, and hpx::lcos::fold collective operations
  • Added hpx::get_locality_name allowing to retrieve the name of any of the localities for the application.
  • Added support for more flexible thread affinity control from the HPX command line, such as new modes for –hpx:bind (balanced, scattered, compact), improved default settings when running multiple localities on the same node.
  • Added experimental executors for simpler thread pooling and scheduling. This API may change in the future as it will stay aligned with the ongoing C++ standardization efforts.
  • Massively improved the performance of the HPX serialization code. Added partial support for zero copy serialization of array and bitwise-copyable types.
  • General performance improvements of the code related to threads and futures.

For more information, please see the extensive release notes.

You can download the release here, or get HPX directly from GitHub. If you have suggestions, questions, or ideas we would love to hear from you. You can find us at our website, reach us at hpx-users@stellar.cct.lsu.edu, or chat with us live on IRC in the #ste||ar chat room on Freenode.

The development of HPX is supported by National Science Foundation through awards 1117470 (APX) and 1240655 (STAR) and Department of Energy (DoE) through the award DE-SC0008714 (XPRESS). In addition we utilize computer resources through allocations from LSU HPC and XSEDE.

GD Star Rating
Be Sociable, Share!

Leave a Reply

Your email address will not be published. Required fields are marked *