-
Notifications
You must be signed in to change notification settings - Fork 481
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
TBB task is deprecated and removed in oneTBB 2021.01 #2867
Comments
same problem |
Support for To make sure that this issue if found by people that may encounter this problem, this is the compilaton errors if Gazebo is compiled against tbb 2021.1 :
|
Note that while in conda we can pin an old tbb version and I guess tbb will take a while to get propagated to stable Debian/Ubuntu release, this may be a more immediate problem if the tbb version in homebrew gets updated. fyi @scpeters |
For an example of an "attempted" migration from |
as you predicted, this is now hitting us in homebrew: osrf/homebrew-simulation#1477 given that https://github.com/osrf/gazebo/blob/gazebo11_11.5.1/gazebo/transport/Connection.hh#L57 |
I think we could use |
I've managed to fix the gazebo11 homebrew bottle for now in osrf/homebrew-simulation#1477 by using the
|
there was an attempt to use the new API in #3027, but it doesn't compile |
Sorry about that failed PR, I decided to submit a PR to get people started on how to potentially fix the issue. If I get some time later, I'll investigate the compilation issues. If someone else takes this up before me, here is a useful guide on migrating from the older deprecated low level |
since then, I have added a copy of I believe the issue is that a recent change to |
We don't support 2021 and newer, see gazebosim#2867. Signed-off-by: Steven Peters <scpeters@openrobotics.org>
We currently don't support 2021 and newer, see #2867. Signed-off-by: Steven Peters <scpeters@openrobotics.org>
We currently don't support 2021 and newer, see gazebosim#2867. Signed-off-by: Steven Peters <scpeters@openrobotics.org>
We currently don't support 2021 and newer, see #2867. Signed-off-by: Steven Peters <scpeters@openrobotics.org>
after looking at #3027 and trying to compile it and pinpoint the issues: First of all, an easy to fix issue is an
/// \brief Functor function that executes the publish task.
public: void operator()()
{
this->pub->WaitForConnection();
this->pub->Publish(*this->msg, true);
this->pub->SendMessage();
delete this->msg;
this->pub.reset();
} After removing the const, here is what I get:
the problem here is that I'll be doing further investigations, soon. |
So, to make it compile, we can encapsulate for instance in file gazebo/util/tbb_task_group.hh: #ifndef _GAZEBO_UTIL_TBB_TASK_GROUP_HH_
#define _GAZEBO_UTIL_TBB_TASK_GROUP_HH_
#ifdef emit
#undef emit
#include <tbb/task_group.h>
#define emit
#else
#include <tbb/task_group.h>
#endif
#endif |
After looking a bit more at the code, here are 2 things that I think we need to consider: first, the 3 tasks created seem to be used on code that is waiting (for data, ...), here it is advised against using tasks for this use case: https://www.intel.com/content/dam/develop/external/us/en/documents/1-6-appthr-using-tasks-instead-of-threads-165657.pdf and here https://docs.oneapi.io/versions/latest/onetbb/tbb_userguide/Task-Based_Programming.html then, the I don't know the code of gazebo in details, so comments are welcomed :) |
As tbb::task has been removed in oneTBB 2021.01, we need to replace its use with oneapi::tbb::task_group. Define a wrapper so that tbb::task_group is used for newer versions of oneTBB. Fixes gazebosim#2867. Signed-off-by: Alex Dewar <alex.dewar@gmx.co.uk>
As tbb::task has been removed in oneTBB 2021.01, we need to replace its use with oneapi::tbb::task_group. Define a wrapper so that tbb::task_group is used for newer versions of oneTBB. Fixes gazebosim#2867. Signed-off-by: Alex Dewar <alex.dewar@gmx.co.uk>
As tbb::task has been removed in oneTBB 2021.01, we need to replace its use with oneapi::tbb::task_group. Define a wrapper so that tbb::task_group is used for newer versions of oneTBB. Fixes gazebosim#2867. Signed-off-by: Alex Dewar <alex.dewar@gmx.co.uk>
While compiling gazebo with a recent version of tbb, I noticed this warning:
Indeed, apparently the tbb task has been deprecated, see oneapi-src/oneTBB#243 for a related discussion. I did not find any info on whether or when the support for tbb task will be actually removed. If the warning is just for new development, then it probably make sense to just leave tbb support in Classic Gazebo as it is.
The text was updated successfully, but these errors were encountered: