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

By Nikunj Gupta

A C++ Runtime Replacement


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.

Google Summer of Code Statistics

After the Google Mentor Summit, we started to gather some statistics about our participation in Google Summer of Code. In Summer 2014, we were first time accepted as an organization.  Figure 1 shows that since our first year we have increased the number of students mentored from two to six. Unfortunately, with an more students, the odd of a student failing the program increased. In 2017 we started to analyze the pull requests of our students. Here, we counted the open pull request at the last day of GSoC and the closed one one day later. In 2018 we started to analyze the ammount of applications we received .We also analyzed the amount of students per country of residence and continent of residence.

GSoC 2016 Wrap-up

This summer the STE||AR Group was proud to mentor four students through Google’s Summer of Code program. These students worked on a variety of projects which helped improve our software, HPX. This Library is a distributed C++ runtime system which supports a standards compliant API and helps users to scale their applications across thousands of machines. The improvements that

Welcome to the STE||AR Group’s New Site!

The STE||AR Group is an international collaboration of researchers who are committed to making applications scalable on today’s and tomorrow’s machines.  We want this website to provide a platform to support and promote our work.  Here you can find a community of researchers who are interested in sharing and building upon the best ideas in HPC.  We strongly believe that the best way to spread these ideas is to have them applied in real applications by an active user base.  The Libraries page provides links to software developed by our researchers for anyone to download and try out.  Please look at the library descriptions and see if any of this software applies to you!

In addition to providing demonstrations of our current work, we would like to also share and coordinate the direction of our group’s research.  We hope that by explicitly stating what we are currently working on and what we hope to work on we can entice internal and external collaboration. These collaborations are mutually beneficial as the pressure to fulfill new needs will improve everyone’s software.  Feel free to peruse our research interest on the Research page and see where you could fit into the mix.

Finally, we hope to use this site to distribute news and updates of the happenings of this group.  Please come back here to read about recent releases, publications, and conferences that  we are involved with.  If you are interested in our work or just have a few questions, please contact us at: or visit our IRC channel #ste||ar on Freenode.  We would love to exchange our ideas with you!