As HPX has grown from a small experiment to an international project with much promise, many of us have begun to stop and make comparisons of HPX to other runtime systems and established threading libraries. After submitting papers, we get uncomfortable when reviewers point out some of the improvements that need to be made in HPX. While it is good to listen and react to criticism, I believe we should never let implementation problems in HPX get under our skin. At the end of the day, HPX is just a tool for getting us where we want to be. What we are really working toward is far grander.
One of the reasons I believe the STE||AR Group has been successful so far is that we strive to create a new era in computing. Our vision of this future is based on two fundamental beliefs. We believe that the challenges we have in the face of exascale computing can be tackled by properly by abstracting the principles of the ParalleX model and that the C++ concurrency model is the API that can provide us that abstraction. By extending the C++ model to become aware of the distributed nature of today’s compute resources, we believe that application developers will have the tools to seamlessly write scalable, sustainable, and fault-tolerant code. I believe it is this vision that draws new people to HPX, not the code base itself. Many of our collaborators that we work with now, joined the team not because HPX was the perfect tool for them, but because the potential that HPX offered. This potential, combined with the vibrant and growing community around HPX, is our most valuable asset.
HPX is not yet perfect. We have a long way to go to make it ready for the future. It is quite probable that, in order to implement this grand vision we will have to scrap large swaths of code, include great ideas born in other projects, and at times replace the work that we have put our blood sweat and tears into. However, I believe this commitment to the vision and not to the product is what makes our work so successful. We see the future and we are on our way!