Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various minor changes to support FLeCSI #3179

Merged
merged 2 commits into from Feb 18, 2018
Merged

Various minor changes to support FLeCSI #3179

merged 2 commits into from Feb 18, 2018

Conversation

hkaiser
Copy link
Member

@hkaiser hkaiser commented Feb 17, 2018

  • adding more constructors to resource::partitioner (aligned with hpx::init)
  • adding hpx::parallel::execution::pool_executor alias (for consistency)
  • adding default constructor for pool-executor
  • adding support to request minimal number of cores (threads) (hpx.force_min_os_threads)
  • Making sure resume/suspend is not called for schedulers that don't support it

- adding more constructors to resource::partitioner (aligned with hpx::init)
- adding hpx::parallel::execution::pool_executor alias (for consistency)
- adding default constructor for pool-executor
- adding support to request minimal number of cores (threads) (hpx.force_min_os_threads)
@hkaiser hkaiser added this to the 1.1.0 milestone Feb 17, 2018
hkaiser added a commit to STEllAR-GROUP/flecsi that referenced this pull request Feb 17, 2018
- add executors allowing to separate 'normal' tasks and all mpi operations
  mpi operations are always scheduled on a separate core, 'normal' tasks on
  the rest of the node
- added reduce_min and reduce_max to context policy
- enabled (and functional) tests:
  - flecsi/execution/test/launch.cc
  - flecsi/execution/test/simple_function.cc
  - flecsi/execution/test/simple_task.cc
  - flecsi/execution/test/reduction.cc
- for now, disabled FLeCSI tutorial by default (for HPX)

Note: this requires for STEllAR-GROUP/hpx#3179 and laristra/cinch#125 to be merged first
hkaiser added a commit to STEllAR-GROUP/flecsi that referenced this pull request Feb 17, 2018
- add executors allowing to separate 'normal' tasks and all mpi operations
  mpi operations are always scheduled on a separate core, 'normal' tasks on
  the rest of the node
- added reduce_min and reduce_max to context policy
- enabled (and functional) tests:
  - flecsi/execution/test/launch.cc
  - flecsi/execution/test/simple_function.cc
  - flecsi/execution/test/simple_task.cc
  - flecsi/execution/test/reduction.cc
- for now, disabled FLeCSI tutorial by default (for HPX)

Note: this requires for STEllAR-GROUP/hpx#3179 and laristra/cinch#125 to be merged first
@msimberg
Copy link
Contributor

@hkaiser Excellent catches regarding suspension. Sorry for missing this. This looks good to me, but for the long term I should make the checks more fine grained. Suspension on static schedulers is only disabled because of the problem of suspending a thread from the same pool, but suspending the whole pool from another pool should in fact work without problems. I'll try to work out something for that.

…pport it

- this introduces a new scheduler mode flag: enable_suspension that is set by default
  for the schedulers that support this operation
- this flag is also used to reject resume/suspend requests if this flag is not set
  for a given scheduler
- flyby: made scheduler_base::suspend()/resume() virtual
@hkaiser hkaiser merged commit 8b0f81c into master Feb 18, 2018
@hkaiser hkaiser deleted the support_flecsi branch February 18, 2018 16:54
hkaiser added a commit to STEllAR-GROUP/flecsi that referenced this pull request Feb 24, 2018
- add executors allowing to separate 'normal' tasks and all mpi operations
  mpi operations are always scheduled on a separate core, 'normal' tasks on
  the rest of the node
- added reduce_min and reduce_max to context policy
- enabled (and functional) tests:
  - flecsi/execution/test/launch.cc
  - flecsi/execution/test/simple_function.cc
  - flecsi/execution/test/simple_task.cc
  - flecsi/execution/test/reduction.cc
- for now, disabled FLeCSI tutorial by default (for HPX)

Note: this requires for STEllAR-GROUP/hpx#3179 and laristra/cinch#125 to be merged first
hkaiser added a commit to STEllAR-GROUP/flecsi that referenced this pull request Mar 4, 2018
- add executors allowing to separate 'normal' tasks and all mpi operations
  mpi operations are always scheduled on a separate core, 'normal' tasks on
  the rest of the node
- added reduce_min and reduce_max to context policy
- enabled (and functional) tests:
  - flecsi/execution/test/launch.cc
  - flecsi/execution/test/simple_function.cc
  - flecsi/execution/test/simple_task.cc
  - flecsi/execution/test/reduction.cc
- for now, disabled FLeCSI tutorial by default (for HPX)

Note: this requires for STEllAR-GROUP/hpx#3179 and laristra/cinch#125 to be merged first
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants