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

onetbb: support versions of deprecated tbb recipe #9164

Merged
merged 2 commits into from
Feb 25, 2022

Conversation

SpaceIm
Copy link
Contributor

@SpaceIm SpaceIm commented Jan 30, 2022

As suggested in #8308, and implemented in #9162, this PR assumes that we agree to deprecate tbb recipe.

All versions which were supported in tbb recipe are backported to onetbb recipe.

closes #8308


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@conan-center-bot

This comment has been minimized.

tbb recupe is deprecated, all versions which were supported in tbb recipe are backported to onetbb recipe
@conan-center-bot

This comment has been minimized.

@SpaceIm
Copy link
Contributor Author

SpaceIm commented Jan 30, 2022

/tmp/ccKvTYBp.s: Assembler messages:
/tmp/ccKvTYBp.s:8734: Error: no such instruction: `tpause %ecx'
/tmp/ccKvTYBp.s:9859: Error: no such instruction: `tpause %ecx'
make[2]: *** [src/tbb/CMakeFiles/tbb.dir/arena.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/tbb/CMakeFiles/tbb.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2

? It builds fine for me on Ubuntu with gcc11, same profile.

@SpaceIm SpaceIm closed this Jan 30, 2022
@SpaceIm SpaceIm reopened this Jan 30, 2022
@conan-center-bot

This comment has been minimized.

@SpaceIm
Copy link
Contributor Author

SpaceIm commented Jan 30, 2022

@jgsogo What's wrong in this agent? Can't reproduce this error on Ubuntu with gcc11.

@SSE4
Copy link
Contributor

SSE4 commented Jan 31, 2022

tpause

maybe as (assembler) is too old and it doesn't recognize tpause instruction (which seems to be relatively new and part of Intel TSX-NI)? @uilianries could you re-check?

@SSE4 SSE4 added the infrastructure Waiting on tools or services belonging to the infra label Jan 31, 2022
@jgsogo
Copy link
Contributor

jgsogo commented Jan 31, 2022

Hi. I'm far from being an expert in Kubernetes, but as it happened with some other library some month ago, it looks like not everything depends on the docker image, but also on the underlying machine running docker. Those Linux machines are not under our control, so probably this is something that we cannot change and, if it is relatively new instruction, probably it's still not available (I assume the vendor is continuously upgrading its machines, but cannot confirm this point)

@SSE4
Copy link
Contributor

SSE4 commented Jan 31, 2022

I don't think it's about actual CPU in k8s cluster supporting execution of TSX-NI and tpause instruction, it's about binutils (GNU assembler) doesn't know the opcode (binary representation) of tpause instruction and cannot produce binary.
on the other hand, it's normal that compilation may generate some instructions that build machine cannot execute, as long as they are behind cpuid dispatcher branch and not mandatory (like these, onetbb could provide several implementations of the function with and without tpause behind the dispatcher).
in Linux world, the compiler doesn't generate a binary, but produces assembler listing and then invokes the assembler (as, part of binutils).
we installed GCC 11, which definitely supports tpause (referred as WAITPKG), but it appears GCC 11 may have some requirements of binutils version, which are separately installed and separately versioned. might be something we have completely missed in our docker images, as that's not very typical use-case (99% of recipes don't care about TSX-NI).

@jgsogo
Copy link
Contributor

jgsogo commented Jan 31, 2022

Thanks a lot for that master class! 🤟

@SpaceIm
Copy link
Contributor Author

SpaceIm commented Feb 1, 2022

ok, let's just add old versions and see if it works

@conan-center-bot

This comment has been minimized.

@SSE4 SSE4 removed the infrastructure Waiting on tools or services belonging to the infra label Feb 21, 2022
@conan-center-bot
Copy link
Collaborator

All green in build 6 (94ab81b0aa92a37539f1cc924def1cf391132c74):

  • onetbb/2020.2@:
    All packages built successfully! (All logs)

  • onetbb/2020.3@:
    All packages built successfully! (All logs)

  • onetbb/2020.1@:
    All packages built successfully! (All logs)

  • onetbb/2019_u9@:
    All packages built successfully! (All logs)

  • onetbb/2020.0@:
    All packages built successfully! (All logs)

@SpaceIm
Copy link
Contributor Author

SpaceIm commented Feb 23, 2022

@prince-chrismc @ericLemanissier @toge @madebr one last review please? So that we can start to update recipes depending on tbb to onetbb recipe.

@prince-chrismc
Copy link
Contributor

Sorry for being slow! new job == busy 😭 trying to make more time to review PRs I promise ❤️

@conan-center-bot conan-center-bot merged commit a8f303d into conan-io:master Feb 25, 2022
@SpaceIm SpaceIm deleted the onetbb-all-versions branch February 25, 2022 19:51
@SpaceIm SpaceIm mentioned this pull request Mar 13, 2022
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[onetbb/2021.3.0] oneTBB and TBB are different versions of the same package
6 participants