Giter Site home page Giter Site logo

adk9 / hpx5 Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 3.0 86.71 MB

High Performance ParalleX runtime system

Home Page: https://crest.sice.indiana.edu/hpx-5/

License: BSD 3-Clause "New" or "Revised" License

Emacs Lisp 0.01% Makefile 2.70% Shell 5.59% M4 2.71% Python 0.52% C 51.03% Roff 0.07% Assembly 5.86% C++ 27.25% TeX 4.26%

hpx5's Introduction

HPX–5

HPX-5 is the High Performance ParalleX runtime library developed at CREST at Indiana University. This open source, portable, and performance-oriented implementation is guided by the ParalleX execution model. It provides a programming model for parallel and distributed applications, allowing programs to run unmodified on systems from a single SMP to large clusters or supercomputers with thousands of nodes. HPX-5 supports Linux running on Intel x86, Intel Knights Landing, IBM Power8 and various ARM platforms. We use HPX-5 for a broad range of scientific applications enabling scientists write code that performs and scales better than contemporary parallel runtimes.

HPX–5 supports both SMP and networked configurations using the Photon networking library. MPI support is included for legacy applications and portability.

In order to get started with HPX~5, you first need to know some basic information and how to go about using it. This document discusses how to get up and running quickly with the HPX–5 Runtime System. Everything from unpacking and compilation of the distribution to execution of some tools.

Platform Support

HPX-5 is tested on Linux on x86_64, Intel Knights Landing, ARMv7, AArch64 (ARMv8) and IBM Power8. Experimental support is available for SMP execution on Darwin on x86_64.

Tool Support

The following tools have been verified to work with HPX-5.

  • GCC 4.8.4 or newer (Tested with 4.8.4, 4.9.1, 4.9.2, 5.1.0, 5.2.0, 5.3.0, 6.2.0).
  • clang Tested with 3.8.1 (3.5 and earlier are known to be broken).
  • icc (Tested with 17.1).
  • GNU Make 3.81+

Configuration and Building

HPX-5 relies on standard autotools infrastructure for configuration and building. Basic details can be found in the INSTALL file, while advanced instructions are available on the website.

$ ./configure --prefix=/path-to-install --enable-mpi --enable-photon
$ make
$ make install
$ export PKG_CONFIG_PATH=/path-to-install/lib/pkgconfig:$PKG_CONFIG_PATH
$ export LD_LIBRARY_PATH=/path-to-install/lib:$LD_LIBRARY_PATH

Running

HPX–5 provides runtime options that can be specified on the command line or in the environment. The list of options can be obtained from any HPX–5 program by adding --hpx-help option.

HPX–5 programs can be run using any of the MPI or PMI launchers such as mpirun or mpiexec. E.g. to run the pingpong example,

$ mpirun -np 2 examples/pingpong 10 -m -v

Detailed build instructions can be found in the User's Guide to HPX–5 found at https://hpx.crest.iu.edu/documentation and FAQs in (https://hpx.crest.iu.edu/faqs_and_tutorials).

hpx5's People

Contributors

adk9 avatar benjmart avatar disprosium8 avatar dmswany avatar gaohao95 avatar jayaajay avatar jesunsahariar avatar khuck avatar ldalessa avatar maeneas avatar marcinz avatar nnmahaja avatar rrnewton avatar thejkane avatar uswick avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.