HPX meets Fedora

With the release of HPX 1.2.0, we added support of HPX to the offical Fedora updates-testing repository. Following packages are available on Fedora 28/29

We provide HPX compiled with the GNU compiler collection, with the OpenMPI compiler, and the MPICH compiler.  The hpx-devel packages contains the header files and he hpx-*-examples package contains all the examples compiled with the respective compiler.  The purpose of these packages is educational and we hope to lower the entrance point to experiment with HPX. For performance measurements we recommend to compile HPX on the used hardware.

Compiling and Running Blazemark

By Shahrzad Shirzad

Blazemark is the benchmark suite for Blaze library. In order to compile and run Blazemark with HPX backend, take the following steps:

  1. Change the Configfile at blaze/blazemark by filling in the CXX=, CXXFLAGS=, LIBRARY_DIRECTIVES= fields in the Configfile:
    This is an example of the configurations used for Clang:
    # Compiler selection
    CXX="clang++"
    # Special compiler flags
    CXXFLAGS="-O3 -march=native -std=c++17 -stdlib=libc++ -DNDEBUG -fpermissive -DBLAZE_USE_HPX_THREADS -isystem /hpx/install/path/include -Wl,-wrap=main"
    # Library settings (optional)
    # In some cases it might be necessary to specify additional library paths and add additional
    # libraries. This can be done via this setting.
    LIBRARY_DIRECTIVES="-L/hpx/install/path/lib/ -lhpx -rdynamic /hpx/install/path/lib/libhpx_init.a -ldl -lrt -lhpx_wrap - L/boost/install/path/lib -lboost_system -lboost_program_options"
  2. ./configure Configfile
  3. make benchmark_name
  4. ./bin/benchmark_name

Notes:

  • You can change vector or matrix sizes to run the benchmark on through the benchmark_name.prm file located at /blaze/blazemark/params folder.

For more information on available benchmarks, command line parameters, and also the list of supported libraries please visit Blazemark.

HPX 1.2.0 Released!

The STE||AR Group is proud to announce the release of HPX 1.2.0. This release is the first in our more frequent release schedule. We are aiming to produce one release every six months in an effort to get new features and stable releases out to users more quickly. As a result this release is smaller than many previous releases, but nevertheless contains many important improvements. This release includes among others performance improvements, a new implementation of hpx_main.hpp, scheduler hints, and many stability improvements. This release also removes many previously deprecated features. Make sure you read the full release notes to see which deprecated features were removed.

Thank you to everyone who has contributed from all over the world!

Download the release below, from our download page, or from our GitHub page.

Compiling and Running BlazeTest

By Shahrzad Shirzad

BlazeTest is a testing tool provided by Blaze. In order to compile and run BlazeTest with HPX backend, take the following steps:

  1.  Change the Configfile at blaze/blazetest by filling in the CXX=, CXXFLAGS=, LIBRARY_DIRECTIVES= fields in the Configfile:
    This is an example of the configurations used for Clang:
    # Compiler selection
    CXX="clang++"
    # Special compiler flags
    CXXFLAGS="-O3 -march=native -std=c++17 -stdlib=libc++ -DNDEBUG -fpermissive -DBLAZE_USE_HPX_THREADS -isystem /hpx/install/path/include -Wl,-wrap=main"# Library settings (optional)
    # In some cases it might be necessary to specify additional library paths and add additional
    # libraries. This can be done via this setting.
    LIBRARY_DIRECTIVES="-L/hpx/install/path/lib/ -lhpx -rdynamic /hpx/install/path/lib/libhpx_init.a -ldl -lrt -lhpx_wrap - L/boost/install/path/lib -lboost_system -lboost_program_options"
  2.  ./configure Configfile
  3.  make essentials
  4.  ./run

GSoC 18: Final Documentation for a C++ run time replacement

By Nikunj Gupta

A C++ Runtime Replacement

Abstract

A user can make use of the HPX functionality only after initializing the HPX Runtime System. To initialize the user has to call thehpx::init function with valid parameters and an entry point for the HPX runtime system (defaulting tohpx_main if none provided).

My GSoC project was to integrate the HPX runtime system with C++ runtime system i.e. to make all HPX features directly available from int main. To give a clear picture, this was already pre-implemented using a C++ macro #define main hpx_startup::user_main. This method, however, is not robust and can result in unexpected errors. The project, therefore, involved researching various ways to integrate the two seamlessly and make sure it is robust at the same time. I was able to integrate the runtime systems for machines running Linux or Mac OSX.

GSoC 2018 Participants Announced!

We can now announce the participants in the STE||AR Group’s 2018 Google Summer of Code! We are very proud to announce the names of those 7 students who this year will be funded by Google to work on projects for our group.

These recipients represent only a handful of the many excellent proposals that we had to choose from. For those unfamiliar with the program, the Google Summer of Code brings together ambitious students

HPX 1.1.0 Released!

The STE||AR Group is proud to announce the release of HPX 1.1.0, 10 years after the first commit! 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, questions, testing, code and improvements to the documentation. Thank you!

Download the release using the links below, from our download page, or from our GitHub page.

GsoC’18: Interview @ Heise online

This year we got interviewed about our activities at Google Summer of Code by heise online.  First, they interviewed one of this years organizers Patrick Diehl about his responsibilities as a mentor and organizer. Please find the interview in German here. Second, they interviewed Marcin Copik, a former student and a current mentor about his experiences. Please find the interview in German here.