..
    Copyright (C) 2007-2013 Hartmut Kaiser
    Copyright (c) 2016 Adrian Serio

    SPDX-License-Identifier: BSL-1.0
    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

.. _history:

=======
History
=======

The development of High Performance ParalleX (|hpx|) began in 2007. At that
time, Hartmut Kaiser became interested in the work done by the ParalleX group at
the |cct|_, a multi-disciplinary research institute at |lsu|_. The ParalleX
group was working to develop a new and experimental execution model for future
high performance computing architectures. This model was christened ParalleX.
The first implementations of ParalleX were crude, and many of those designs had
to be discarded entirely. However, over time the team learned quite a bit about
how to design a parallel, distributed runtime system which implements the
concepts of ParalleX.

From the very beginning, this endeavour has been a group effort. In addition to
a handful of interested researchers, there have always been graduate and
undergraduate students participating in the discussions, design, and
implementation of |hpx|. In 2011 we decided to formalize our collective research
efforts by creating the |stellar|_ group (**S**\ ystems **T**\ echnology, **E**\
mergent Para\ **ll**\ elism, and **A**\ lgorithm **R**\ esearch). Over time, the
team grew to include researchers around the country and the world. In 2014, the
|stellar|_ Group was reorganized to become the international community it is
today. This consortium of researchers aims to develop stable, sustainable, and
scalable tools which will enable application developers to exploit the
parallelism latent in the machines of today and tomorrow. Our goal of the |hpx|
project is to create a high quality, freely available, open source
implementation of ParalleX concepts for conventional and future systems by
building a modular and standards conforming runtime system for SMP and
distributed application environments. The API exposed by |hpx| is conformant to
the interfaces defined by the C++ ISO Standard and adheres to the programming
guidelines used by the |boost|_ collection of C++ libraries. We steer the
development of |hpx| with real world applications and aim to provide a smooth
migration path for domain scientists.

To learn more about |stellar|_ and ParalleX, see :ref:`people` and :ref:`why_hpx`.
