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

discuss TBB revamp #320

Open
jeffhammond opened this issue Nov 6, 2019 · 9 comments
Open

discuss TBB revamp #320

jeffhammond opened this issue Nov 6, 2019 · 9 comments
Assignees

Comments

@jeffhammond
Copy link
Member

The TBB team is working on a major update to align TBB with C++11. This involves removing features that are redundant with C++11/14/17.

See https://software.intel.com/sites/default/files/managed/d5/97/TBBRevamp.pdf for details.

@robertjharrison @evaleev @m-a-d-n-e-s-s/tbb-maintainers this is a good time to (1) protest deprecation of features you can't live without or mitigate and (2) request new features.

@jeffhammond jeffhammond self-assigned this Nov 6, 2019
@justusc
Copy link
Member

justusc commented Nov 6, 2019

One feature that was a major hassle in the original integration was a global wait for all tasks. This cannot be done within tbb.

@robertjharrison
Copy link
Contributor

Jeff ... thanks for the heads up on this. We also have ParSEC as a back end now and it might be timely for us to contribute to the TBB discussion.

@evaleev
Copy link
Contributor

evaleev commented Mar 28, 2020

related to this (and overdue): the need to remove deprecated functionality, e.g. tbb_scheduler_init in favor of https://software.intel.com/en-us/node/589744 etc.

@anton-potapov
Copy link
Contributor

anton-potapov commented Jan 29, 2021

Given source changes are required to migrate to oneTBB, question of testing does arise. I see following places in the code that do use deprecated task API :

  • RMI
    • begin
    • end
  • ThreadPool
    • add
    • run_task

What is the right way to make sure the changes does not break anything?

@robertjharrison
Copy link
Contributor

robertjharrison commented Jan 29, 2021 via email

@anton-potapov
Copy link
Contributor

The TBB version detection and libraries also need fixing in cmake, etc.

Yes, definitely. However it seems to me the least problem at the moment.

It might be worth a chat about the design

It would be great! But in order to propose the efficient design I need better understanding of desired behavior.

since we have been, for want of a better word, "fighting" TBB since (at least historically) it would not be happy if we started a separate thread for communication (so we had to submit a task that had to do gymnastics in order to force it to actually run with the TBB lazy scheduling)

Is RmiTask::execute and RMI::begin the gymnastics that mentioned above?

and similarly when submitting a few large granularity tasks it was hard to get them to run promptly.

Could you please elaborate more on this ?

Some more questions from my side :

  • What ThreadPool::run_taskis intended for ? Can it be simply {return false;} (As it seems does not break anything) ?
  • I see no test that are affected by commenting out TBB part of RMI::begin. Is it intended or do I something wrong ?
  • is HIGHPRIORITY feature of madness in use ?

@robertjharrison
Copy link
Contributor

robertjharrison commented Feb 4, 2021 via email

@anton-potapov
Copy link
Contributor

anton-potapov commented Feb 19, 2021

@robertjharrison , it seems that right now I do not have a proper answers to your questions (as I do not a have enough understanding of the issues at the moment).

What I suggest lets try to migrate to oneTBB as is, and try to think for more straightforward solution in parallel (or during migration).

As a first step here is PR to reduce usage of deprecated API.
Who can review it ?

@barracuda156
Copy link

What is the status of this? Currently linking to oneTBB is totally broken:

In file included from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/misc/ran.h:36,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/tensor/tensor.cc:52:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:825:29: error: expected class-name before ',' token
  825 |             public tbb::task,
      |                             ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1048:14: error: 'task' in namespace 'tbb' does not name a type
 1048 |         tbb::task* execute() {
      |              ^~~~
In file included from /opt/local/include/tbb/task.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:73:
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void* madness::PoolTaskInterface::operator new(std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1061:53: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1061 |              return ::operator new(size, tbb::task::allocate_root());
      |                                                     ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::PoolTaskInterface::operator delete(void*, std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: error: 'destroy' is not a member of 'tbb::v1::task'
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: note: suggested alternatives:
In file included from /opt/local/include/gcc12/c++/memory:144,
                 from /opt/local/include/oneapi/tbb/detail/_template_helpers.h:27,
                 from /opt/local/include/oneapi/tbb/detail/_task.h:22,
                 from /opt/local/include/oneapi/tbb/task.h:22:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
In file included from /opt/local/include/tbb/global_control.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:77:
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
In file included from /opt/local/include/oneapi/tbb/detail/_small_object_pool.h:23,
                 from /opt/local/include/oneapi/tbb/detail/_task.h:23:
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:59: error: 'task' in namespace 'tbb' does not name a type
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                           ^~~~
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '>' before '*' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                               ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '(' before '*' token
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:64: error: expected primary-expression before '>' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                                ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::ThreadPool::add(madness::PoolTaskInterface*)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1331:28: error: 'enqueue' is not a member of 'tbb::v1::task'
 1331 |                 tbb::task::enqueue(*task);
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static bool madness::ThreadPool::run_task()':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:22: error: expected primary-expression before '&' token
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:24: error: 'waiter' was not declared in this scope; did you mean 'write'?
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                        ^~~~~~
      |                        write
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:50: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                  ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:73: error: 'empty_task' in namespace 'tbb' does not name a type
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                                         ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:22: error: expected primary-expression before '&' token
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:24: error: 'dummy' was not declared in this scope
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                        ^~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:69: error: 'empty_task' in namespace 'tbb' does not name a type
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                                                                     ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1382:24: error: 'enqueue' is not a member of 'tbb::v1::task'
 1382 |             tbb::task::enqueue(dummy);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: error: 'destroy' is not a member of 'tbb::v1::task'
 1388 |             tbb::task::destroy(waiter);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: note: suggested alternatives:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/misc/ran.h:36,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/tensor/tensor.h:36,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/tensor/lapack.cc:37:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:825:29: error: expected class-name before ',' token
  825 |             public tbb::task,
      |                             ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1048:14: error: 'task' in namespace 'tbb' does not name a type
 1048 |         tbb::task* execute() {
      |              ^~~~
In file included from /opt/local/include/tbb/task.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:73:
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void* madness::PoolTaskInterface::operator new(std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1061:53: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1061 |              return ::operator new(size, tbb::task::allocate_root());
      |                                                     ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::PoolTaskInterface::operator delete(void*, std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: error: 'destroy' is not a member of 'tbb::v1::task'
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: note: suggested alternatives:
In file included from /opt/local/include/gcc12/c++/memory:144,
                 from /opt/local/include/oneapi/tbb/detail/_template_helpers.h:27,
                 from /opt/local/include/oneapi/tbb/detail/_task.h:22,
                 from /opt/local/include/oneapi/tbb/task.h:22:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
In file included from /opt/local/include/tbb/global_control.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:77:
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
In file included from /opt/local/include/oneapi/tbb/detail/_small_object_pool.h:23,
                 from /opt/local/include/oneapi/tbb/detail/_task.h:23:
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:59: error: 'task' in namespace 'tbb' does not name a type
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                           ^~~~
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '>' before '*' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                               ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '(' before '*' token
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:64: error: expected primary-expression before '>' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                                ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::ThreadPool::add(madness::PoolTaskInterface*)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1331:28: error: 'enqueue' is not a member of 'tbb::v1::task'
 1331 |                 tbb::task::enqueue(*task);
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static bool madness::ThreadPool::run_task()':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:22: error: expected primary-expression before '&' token
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:24: error: 'waiter' was not declared in this scope; did you mean 'write'?
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                        ^~~~~~
      |                        write
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:50: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                  ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:73: error: 'empty_task' in namespace 'tbb' does not name a type
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                                         ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:22: error: expected primary-expression before '&' token
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:24: error: 'dummy' was not declared in this scope
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                        ^~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:69: error: 'empty_task' in namespace 'tbb' does not name a type
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                                                                     ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1382:24: error: 'enqueue' is not a member of 'tbb::v1::task'
 1382 |             tbb::task::enqueue(dummy);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: error: 'destroy' is not a member of 'tbb::v1::task'
 1388 |             tbb::task::destroy(waiter);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: note: suggested alternatives:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:36,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldprofile.h:37,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/world.h:72,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/MADworld.h:42,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/mra/mra.h:44,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/mra/mra1.cc:32:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:825:29: error: expected class-name before ',' token
  825 |             public tbb::task,
      |                             ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1048:14: error: 'task' in namespace 'tbb' does not name a type
 1048 |         tbb::task* execute() {
      |              ^~~~
In file included from /opt/local/include/tbb/task.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:73:
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void* madness::PoolTaskInterface::operator new(std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1061:53: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1061 |              return ::operator new(size, tbb::task::allocate_root());
      |                                                     ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::PoolTaskInterface::operator delete(void*, std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: error: 'destroy' is not a member of 'tbb::v1::task'
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: note: suggested alternatives:
In file included from /opt/local/include/gcc12/c++/memory:144,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/safempi.h:74,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldmpi.h:55,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldinit.h:42,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/world.h:69:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
In file included from /opt/local/include/tbb/global_control.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:77:
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
In file included from /opt/local/include/oneapi/tbb/detail/_small_object_pool.h:23,
                 from /opt/local/include/oneapi/tbb/detail/_task.h:23,
                 from /opt/local/include/oneapi/tbb/task.h:22:
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:59: error: 'task' in namespace 'tbb' does not name a type
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                           ^~~~
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '>' before '*' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                               ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '(' before '*' token
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:64: error: expected primary-expression before '>' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                                ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::ThreadPool::add(madness::PoolTaskInterface*)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1331:28: error: 'enqueue' is not a member of 'tbb::v1::task'
 1331 |                 tbb::task::enqueue(*task);
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static bool madness::ThreadPool::run_task()':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:22: error: expected primary-expression before '&' token
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:24: error: 'waiter' was not declared in this scope; did you mean 'write'?
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                        ^~~~~~
      |                        write
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:50: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                  ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:73: error: 'empty_task' in namespace 'tbb' does not name a type
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                                         ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:22: error: expected primary-expression before '&' token
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:24: error: 'dummy' was not declared in this scope
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                        ^~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:69: error: 'empty_task' in namespace 'tbb' does not name a type
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                                                                     ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1382:24: error: 'enqueue' is not a member of 'tbb::v1::task'
 1382 |             tbb::task::enqueue(dummy);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: error: 'destroy' is not a member of 'tbb::v1::task'
 1388 |             tbb::task::destroy(waiter);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: note: suggested alternatives:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
[  5%] Building CXX object src/madness/misc/CMakeFiles/MADmisc-obj.dir/gprofexit.cc.o
cd /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/build/src/madness/misc && /opt/local/bin/mpicxx-mpich-gcc12 -DMADNESS_MPI_HEADER=\"mpi.h\" -DMAD_ROOT_DIR=\"/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d\" -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/build/src/madness/misc -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/misc -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/build/src -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/build/src/madness/world -I/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world -I/opt/local/include -pipe -I/opt/local/libexec/boost/1.76/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -fPIC -std=c++17 -MD -MT src/madness/misc/CMakeFiles/MADmisc-obj.dir/gprofexit.cc.o -MF CMakeFiles/MADmisc-obj.dir/gprofexit.cc.o.d -o CMakeFiles/MADmisc-obj.dir/gprofexit.cc.o -c /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/misc/gprofexit.cc
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h: At global scope:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:188:35: error: expected class-name before ',' token
  188 |                 : public tbb::task, private madness::Mutex
      |                                   ^
In file included from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:36,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldprofile.h:37,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/world.h:72,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/MADworld.h:42,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/chem/AC.h:11,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/chem/AC.cc:7:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:825:29: error: expected class-name before ',' token
  825 |             public tbb::task,
      |                             ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1048:14: error: 'task' in namespace 'tbb' does not name a type
 1048 |         tbb::task* execute() {
      |              ^~~~
In file included from /opt/local/include/tbb/task.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:73:
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void* madness::PoolTaskInterface::operator new(std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1061:53: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1061 |              return ::operator new(size, tbb::task::allocate_root());
      |                                                     ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::PoolTaskInterface::operator delete(void*, std::size_t)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: error: 'destroy' is not a member of 'tbb::v1::task'
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:28: note: suggested alternatives:
In file included from /opt/local/include/gcc12/c++/memory:144,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/safempi.h:74,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldmpi.h:55,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldinit.h:42,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/world.h:69:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
In file included from /opt/local/include/tbb/global_control.h:17,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:77:
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
In file included from /opt/local/include/oneapi/tbb/detail/_small_object_pool.h:23,
                 from /opt/local/include/oneapi/tbb/detail/_task.h:23,
                 from /opt/local/include/oneapi/tbb/task.h:22:
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:59: error: 'task' in namespace 'tbb' does not name a type
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                           ^~~~
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '>' before '*' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                               ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:63: error: expected '(' before '*' token
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1071:64: error: expected primary-expression before '>' token
 1071 |                 tbb::task::destroy(*reinterpret_cast<tbb::task*>(p));
      |                                                                ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static void madness::ThreadPool::add(madness::PoolTaskInterface*)':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1331:28: error: 'enqueue' is not a member of 'tbb::v1::task'
 1331 |                 tbb::task::enqueue(*task);
      |                            ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h: In static member function 'static bool madness::ThreadPool::run_task()':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:22: error: expected primary-expression before '&' token
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:24: error: 'waiter' was not declared in this scope; did you mean 'write'?
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                        ^~~~~~
      |                        write
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:50: error: 'allocate_root' is not a member of 'tbb::v1::task'
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                  ^~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1377:73: error: 'empty_task' in namespace 'tbb' does not name a type
 1377 |             tbb::task& waiter = *new( tbb::task::allocate_root() ) tbb::empty_task;
      |                                                                         ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:22: error: expected primary-expression before '&' token
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                      ^
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:24: error: 'dummy' was not declared in this scope
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                        ^~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1381:69: error: 'empty_task' in namespace 'tbb' does not name a type
 1381 |             tbb::task& dummy = *new( waiter.allocate_child() ) tbb::empty_task;
      |                                                                     ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1382:24: error: 'enqueue' is not a member of 'tbb::v1::task'
 1382 |             tbb::task::enqueue(dummy);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: error: 'destroy' is not a member of 'tbb::v1::task'
 1388 |             tbb::task::destroy(waiter);
      |                        ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/thread.h:1388:24: note: suggested alternatives:
/opt/local/include/gcc12/c++/pstl/glue_memory_defs.h:52:1: note:   'std::destroy'
   52 | destroy(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last);
      | ^~~~~~~
/opt/local/include/oneapi/tbb/global_control.h:41:37: note:   'tbb::detail::r1::destroy'
   41 | TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&);
      |                                     ^~~~~~~
/opt/local/include/oneapi/tbb/profiling.h:68:63: note:   'tbb::detail::d1::destroy'
   68 |     enum notify_type {prepare=0, cancel, acquired, releasing, destroy};
      |                                                               ^~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:233:18: error: 'task' in namespace 'tbb' does not name a type
  233 |             tbb::task* execute() {
      |                  ^~~~
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:290:21: error: 'task' in namespace 'tbb' does not name a type
  290 |         static tbb::task* tbb_rmi_parent_task;
      |                     ^~~~
/opt/local/include/oneapi/tbb/task.h:26:11: note: 'tbb::v1::task' declared here
   26 | namespace task {
      |           ^~~~
In file included from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldprofile.h:37,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/world.h:72,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/MADworld.h:42,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/tensor/elem.h:36,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/tensor/tensor_lapack.h:198,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/tensor/lapack.cc:55:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h: At global scope:
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:188:35: error: expected class-name before ',' token
  188 |                 : public tbb::task, private madness::Mutex
      |                                   ^
make[2]: *** [src/madness/tensor/CMakeFiles/MADtensor-obj.dir/tensor.cc.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/build'
make[1]: *** [src/madness/tensor/CMakeFiles/MADtensor-obj.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h: In static member function 'static void madness::RMI::end()':
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:360:17: error: 'tbb_rmi_parent_task' was not declared in this scope
  360 |                 tbb_rmi_parent_task->wait_for_all();
      |                 ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_madness/madness/work/madness-c225468b9ac56656b8d3c95aafa130688c26c88d/src/madness/world/worldrmi.h:361:28: error: 'destroy' is not a member of 'tbb::v1::task'
  361 |                 tbb::task::destroy(*tbb_rmi_parent_task);
      |                            ^~~~~~~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants