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
0
votes
1 answer

Load balancing, scheduler, data layout in HPX

Does HPX expose an interface for users to write their own application-specific load balancing strategies? Or such load balance policies need to be entangled with the application logic? Related with 1), does users have control over the scheduling…
david
  • 1
0
votes
1 answer

How to use pybind11 to call hpx async function in recursive python code?

So , what I want to do is to call this async function in the recursive function in python . But it is not working and I dont have idea why it shouldn't . This is my binding for async function in hpx and trying to use in recursive function in…
0
votes
1 answer

Using HPX, is there a built-in way to spawn a task on the least busy locality?

When using HPX, if I understand correctly, with hpx::async you can easily spawn a task that is scheduled by the threading subsystem to run on any available core either on the current locality or on a specific remote locality by supplying an id_type.…
neop
  • 89
  • 2
  • 9
0
votes
1 answer

What is the correct way to use hpx::when_any function?

I have just started learning parallel programming in c++ and wanted to use HPX for it. I need to complete several tasks in groups of N and I wanted to write code that puts all the threads into a vector and when at least one is done replace it with…
0
votes
1 answer

Why HPX requires future's "then" to be part of a DAG (directed acyclic graph)?

In HPX introduction tutorials you learn that you can make use of future's then() method, that allows you to enqueue some operation to be computed when the future is ready. In this manual there is a sentence that says "Used to build up dataflow DAGs…
0
votes
1 answer

Compilation error with hpx::dataflow and member function

What is the correct way to call hpx::dataflow with a member function? hpx::async works fine, but we can't figure out, why hpx::dataflow doesn't compile. #include #include #include class A { public: A&…
breyerml
  • 267
  • 2
  • 14
0
votes
1 answer

Does HPX provide a task-based parallelized iteration function with grain size control?

Does HPX provide any sort of parallelized iteration function built on top of task-based fork-join parallelism that also lets you control the grain size used? similar to TBB's parallel_for or Cilk's cilk_for.
Ryan Burn
  • 2,126
  • 1
  • 14
  • 35
0
votes
1 answer

Will dynamic allocation during a for loop create a memory leak?

I'm having an issue solving the problem of dynamic allocation... I have a function reduce which accumulates values, and in this case I am iterating over boost::tuple's. My issue is here: //executes this code in chunks,…
Syntactic Fructose
  • 18,936
  • 23
  • 91
  • 177
1
2