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

TBB Deprecation Warnings #208

Closed
acxz opened this issue Jan 11, 2020 · 9 comments · Fixed by #800
Closed

TBB Deprecation Warnings #208

acxz opened this issue Jan 11, 2020 · 9 comments · Fixed by #800
Labels
enhancement Improvement to GTSAM

Comments

@acxz
Copy link
Contributor

acxz commented Jan 11, 2020

Description

TBB has been updated and now when building gtsam the build output is cluttered with deprecation warnings.

[ 42%] Building CXX object gtsam/CMakeFiles/gtsam.dir/symbolic/SymbolicEliminationTree.cpp.o
In file included from /home/acxz/vcs/git/github/acxz/gtsam/gtsam/base/treeTraversal/parallelTraversalTasks.h:25,
                 from /home/acxz/vcs/git/github/acxz/gtsam/gtsam/base/treeTraversal-inst.h:19,
                 from /home/acxz/vcs/git/github/acxz/gtsam/gtsam/inference/EliminationTree-inst.h:25,
                 from /home/acxz/vcs/git/github/acxz/gtsam/gtsam/symbolic/SymbolicEliminationTree.cpp:19:
/usr/include/tbb/task.h:21:139: note: #pragma message: TBB Warning: tbb/task.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.
   21 | #pragma message("TBB Warning: tbb/task.h is deprecated. For details, please see Deprecated Features appendix in the TBB reference manual.")
      |                                                                                                                                           ^

Steps to reproduce

  1. git clone https://github.com/borglab/gtsam
  2. mkdir build && cd build && cmake .. && make

Expected behavior

No TBB deprecation warnings.

Environment

OS: ArchLinux
GTSAM version: latest develop branch (7ebfdad) at time of posting
TBB version: 2020.2

Additional information

Some helpful information on fixing this issue: oneapi-src/oneTBB#243

@acxz
Copy link
Contributor Author

acxz commented Apr 5, 2020

Focal Fossa (the latest LTS version of Ubuntu) will be released on Apr 23rd see

The TBB version it will ship with is 2020.1 see
This will cause warnings that showed up in other distros like Arch to show up in Ubuntu.

If #209 still requires a longer time to review, can we bandaid the issue by suppressing the TBB warnings in the GTSAM code.

@ruffsl
Copy link
Contributor

ruffsl commented May 5, 2020

These deprecation warnings are getting spamy in my Ubuntu 20.04 build logs. It'd be nice to see #209 merged so we don't have to monkey patch other cmake projects that have drowned out warnings.

@dellaert
Copy link
Member

dellaert commented May 6, 2020

These deprecation warnings are getting spamy in my Ubuntu 20.04 build logs. It'd be nice to see #209 merged so we don't have to monkey patch other cmake projects that have drowned out warnings.

@ruffsl can you confirm #209 works for you as expected, and both TBB and non-TBB compile and run as expected?

@acxz
Copy link
Contributor Author

acxz commented May 7, 2020

@ruffsl the warnings up to TBB 2020.1 (shipped with Latest-LTS Ubuntu) should be gone (develop branch), there are still deprecation warnings with TBB 2020.2 that need to be addressed. Particularly the deprecation of task.h.

@ruffsl
Copy link
Contributor

ruffsl commented May 7, 2020

Thanks @acxz , the downstream build logs are a quieter:

--- stderr: gtsam
/opt/ros/underlay_ws/src/borglab/gtsam/gtsam/3rdparty/CCOLAMD/Source/ccolamd.c: In function ‘ccolamd2’:
/opt/ros/underlay_ws/src/borglab/gtsam/gtsam/3rdparty/CCOLAMD/Source/ccolamd.c:1563:9: warning: variable ‘cs’ set but not used [-Wunused-but-set-variable]
 1563 |     Int cs ;
      |         ^~
---

Although, I only tested it with TBB enabled as thats what my project also needs to run.

@acxz
Copy link
Contributor Author

acxz commented May 7, 2020

Glad to hear that, that specific warning is due to CCOLAMD which is a 3rd party codebase. Should be resolved with DrTimothyAldenDavis/SuiteSparse#39

@varunagrawal
Copy link
Collaborator

@acxz is this resolved?

@acxz
Copy link
Contributor Author

acxz commented Jul 7, 2020

Nope not yet. see #336 for a wip solution

@varunagrawal varunagrawal modified the milestone: GTSAM 4.0.3 Jul 13, 2020
@acxz
Copy link
Contributor Author

acxz commented Jun 17, 2021

Update:

Looks like intel released a better migration guide: https://docs.oneapi.com/versions/latest/onetbb/tbb_userguide/Migration_Guide/Task_API.html

Based on that I updated my attempt: https://github.com/acxz/gtsam/tree/fix/tbb-deprecation

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

Successfully merging a pull request may close this issue.

4 participants