Skip to content

Conversation

@stwunsch
Copy link
Contributor

Because RDataFrame is not available on 32bit, we have to disable the
experimental parts of TMVA which are dependent on it as well.

@stwunsch stwunsch requested a review from amadio June 13, 2019 09:29
@stwunsch stwunsch self-assigned this Jun 13, 2019
@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@amadio
Copy link
Member

amadio commented Jun 13, 2019

It may be a good idea to make dataframe optional and disable (or require it to be off) on 32bits machines. The proliferation of these things not availble on 32bits will only get more and more complicated. We already have a few other places where this needs to be checked. It's better to have a dataframe option than keeping in sync all the 32bit checks everywhere (i.e. which tests to run, which tutorials to veto, which optional components that depend on dataframe and cannot be build as a consequence, etc).

@dpiparo @bluehood What are your thoughts?

@stwunsch
Copy link
Contributor Author

@Axel-Naumann correct me if I'm wrong. We do not plan to make dataframe optional since we expect gcc/clang to figure out their discrepancies and resolve the 32bit issue for RDF?

However, from the technical side, I agree with @amadio having a dataframe flag would make stuff much easier and for sure more consistent on the long run.

@eguiraud
Copy link
Contributor

@dpiparo I thought rdf was reenabled on 32 bits at some point, do I remember incorrectly?

@amadio I don't have anything against a dataframe option that is usually on and is turned off on 32 bit machines.

If I had time I'd check that we actually still need to disable rdf on 32 bits, but the failure was not easy to reproduce.

@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot

This comment has been minimized.

@stwunsch
Copy link
Contributor Author

@amadio I put a commit on top with a dataframe option. Better like this?

@stwunsch
Copy link
Contributor Author

Oh, well, I forgot some places.

@phsft-bot
Copy link

Build failed on ROOT-performance-centos7-multicore/default.
See console output.

@root-project root-project deleted a comment from phsft-bot Jun 13, 2019
@root-project root-project deleted a comment from phsft-bot Jun 13, 2019
@root-project root-project deleted a comment from phsft-bot Jun 13, 2019
@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

Copy link
Member

@amadio amadio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rebase and put all changes in a single commit, to avoid having broken commits in between. Thanks.

@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

1 similar comment
@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@stwunsch
Copy link
Contributor Author

@amadio @Axel-Naumann ok, that is getting out of hands 😅 we can have the very first commit to just fix the issue OR add the dataframe option to the build system, which is really a lot of changes.

Is just fixing the 32bit issue it worth?

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@Axel-Naumann
Copy link
Member

We should discuss that in person, given that this is easily possible :-) Can we do that on Monday?

@phsft-bot

This comment has been minimized.

@phsft-bot

This comment has been minimized.

@amadio
Copy link
Member

amadio commented Jun 14, 2019

As I mentioned on mattermost, the proliferation of bug prone if conditions is also getting out of hand and will be a nightmare to maintain. I think that we should reconsider this way of disabling RDataFrame and just re-enable it (and other deps) everywhere.

@phsft-bot

This comment has been minimized.

@stwunsch stwunsch requested a review from Axel-Naumann as a code owner June 14, 2019 12:19
@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@stwunsch stwunsch changed the title [Experimental TMVA] Disable experimental TMVA on 32bit [CMake] Add dataframe option Jun 14, 2019
@stwunsch
Copy link
Contributor Author

This is connected to the roottest PR here.

@stwunsch
Copy link
Contributor Author

But hey, it works now :)

@amadio
Copy link
Member

amadio commented Jun 14, 2019

Much nicer! I think with a couple of tweaks this will be ready to merge.

@phsft-bot
Copy link

Build failed on ROOT-performance-centos7-multicore/default.
See console output.

Warnings:

  • CMake Warning at /data/sftnight/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:830 (message):

Failing tests:

The new cmake option `dataframe` enables building the ROOTDataFrame
library and takes care of implication on the build system. The option is
enabled by default unless a 32bit system is detected.
@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

@stwunsch
Copy link
Contributor Author

@phsft-bot build

@phsft-bot
Copy link

Starting build on ROOT-performance-centos7-multicore/default, ROOT-fedora27/noimt, ROOT-fedora29/python3, ROOT-ubuntu16/rtcxxmod, mac1014/cxx17, windows10/default
How to customize builds

Copy link
Member

@amadio amadio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might need "@dataframe@" == 1 in root-config, but otherwise, good to go, it seems.

-lMultiProc"

if [ "@UNIX@" != "1" ] || [ "@CMAKE_SIZEOF_VOID_P@" != "4" ]; then
if [ "@dataframe@" == "ON" ]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can use the suggestion below for now, but we should have a generic solution if more things are allowed to be OFF in the future:

Suggested change
if [ "@dataframe@" == "ON" ]; then
if echo "${features}" | grep -q "dataframe"; then

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meh, Stefan didn't enable pushing by repo owners. I'll merge (after amending) by hand.

@Axel-Naumann
Copy link
Member

Merged as 31292b9 by hand, with @amadio 's suggested change amended.

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.

5 participants