Questions tagged [hpx]

HPX is a general purpose C++ runtime system for parallel and distributed applications of any scale.

The goal of HPX is to create a high quality, freely available, open source implementation of the ParalleX model for conventional systems, such as classic Linux based Beowulf clusters or multi-socket highly parallel SMP nodes. At the same time, HPX aims to have a very modular and well designed runtime system architecture which would allow the group to port their implementation onto new computer system architectures. HPX wants real world applications to drive the development of the runtime system, coining out required functionalities and converging onto a stable API which will provide a smooth migration path for developers. The API exposed by HPX is modelled after the interfaces defined by the C++11 ISO standard and adheres to the programming guidelines used by the Boost collection of C++ libraries.

Links

23 questions
10
votes
2 answers

HPX minimal two node example set-up?

The HPX getting started tutorial assumes you are using PBS or slurm. These may be quite common in the HPC community but as a developer I'm more used to the scenario of here are a couple of machines you can install stuff on. It's not immediately…
Bruce Adams
  • 4,953
  • 4
  • 48
  • 111
3
votes
1 answer

Parallel reduce (e.g. sum) a vector of hpx::futures

We are currently trying to implement a red-black Gauss-Seidel solver for a numerical simulation. For that we divided our simulation area into equal sized subgrids. We are able to asynchronously perform the red-black cycles for the pressure equation…
breyerml
  • 267
  • 2
  • 14
2
votes
0 answers

Recursive parallel algorithms with C++/P2300 sender/receiver execution model

In structured parallel programming, algorithms are often defined recursively in a divide-and-conquer fashion. The proposal P2300 that is currently targeted for C++26 aims to provide a modern solid foundation for asynchronous and parallel programming…
akreuzkamp
  • 21
  • 2
2
votes
2 answers

Different C++ mangled names in Boost library and in application

I am compiling HPX (a high performance computing library) in macos and it uses Boost. I am using clang 10 with meson as the build system. Using nm to dump the library and the application binary to inspect the symbols, I found that there is a one…
Angelo
  • 51
  • 1
  • 5
2
votes
0 answers

Performance of MPI parcelport in HPX

I'm performing some simple tests concerning remote communications in HPX, compiled such that parcelports are based on MPI. I'm facing some issues about bandwidth and latency of communications. The test is performed by this simple code: #include…
2
votes
3 answers

Designing an Iterator to throw an exception on dereference

I need to find a way to test my exception handling in a function I wrote called hpx::parallel::copy. Other functions in the library such as hpx::parallel::transform are easy to test as a predicate can be passed in which throws an exception, but copy…
Syntactic Fructose
  • 18,936
  • 23
  • 91
  • 177
2
votes
1 answer

Localities in parallelism

New to parallelism and learning the ropes to HPX with C++. I'm looking at a specific hello-word example that will print hello world on every OS-thread on every locality, some output would look like: hello world from OS-thread 1 on locality 0 hello…
Syntactic Fructose
  • 18,936
  • 23
  • 91
  • 177
1
vote
1 answer

Can't build HPX with CMake on Windows - found [Boost] suitable version "1.75.0", minimum required is "1.61"

I'm trying to build HPX with CMake on Windows 10 (the end game is to build OpenCV with MSVC). I have downloaded Boost 1.75.0, ran bootstrap.bat then b2.exe from an admin CMD. I then added the path to the boost folder to PATH variable. Next I opened…
Maya Sela
  • 31
  • 5
1
vote
3 answers

HPX transform_reduce

I've tried to use transform_reduce from hpx as given in the Answer https://stackoverflow.com/a/54481320/11008404 but I can't compile it. My code so far: #include #include #include…
R2D2
  • 23
  • 6
1
vote
1 answer

Memory Architecture of HPX

HPX supports Active Global Address Space.Over a long period of time, I can't able to figure out what "AGAS" really is ? By doing some research with HPX-5 supported memory models. What I can able to see is in "AGAS: memory can be moved to other…
PreeJackie
  • 587
  • 4
  • 14
1
vote
2 answers

Is it possible to write code that can switch between HPX and C++1x thread?

Since the API is fairly similar between hpx and #include is it possible to have the same code be able to run hpx or #include? Since boost is a requirement of hpx, my use case here is there are systems that aren't allowed boost and…
pyCthon
  • 11,746
  • 20
  • 73
  • 135
1
vote
1 answer

Q How does HPX fair vs 'apache cloud computing' (e.g. vs spark)?

I have been looking at HPX (https://github.com/STEllAR-GROUP/hpx) as a potential mechanism for making applications more scalable. I believe HPX is primarily targeted at (and therefore optimised for) the HPC community who typically have clusters of…
Bruce Adams
  • 4,953
  • 4
  • 48
  • 111
1
vote
1 answer

HPX build on Mac gives linker errors

I'm trying to build build HPX on OS X Yosemite. I'm getting the following linker errors on running the command 'make'. I'm using gcc as my compiler. Linking CXX shared library ../lib/libhpx.dylib 0 0x1056e66a0 __assert_rtn + 144 1 …
nidhimj22
  • 435
  • 1
  • 4
  • 14
1
vote
4 answers

Un-named function parameters

I'm looking at some code pertaining to the n3960 standard proposal and noticed some functions have parameters with no name, yet have a full function definition. Could someone explain how this is? Example: template
Syntactic Fructose
  • 18,936
  • 23
  • 91
  • 177
0
votes
0 answers

How to override SYS variable in Exstream

I want to override system variable while running the application. Is there way to override SYS variable in page using control file VARSET.
1
2