Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

PARQUET-889: Fix compilation when SSE is enabled #257

Closed
wants to merge 1 commit into from

Conversation

daedric
Copy link
Contributor

@daedric daedric commented Feb 22, 2017

bit-util.h was missing a couple of include. cpu-util.h was including
parquet/logging.h which is an internal header so the implementations of
the static functions have been moved in the source file.

Copy link
Member

@wesm wesm left a comment

Choose a reason for hiding this comment

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

Thank you -- we should add an SSE build to Travis CI so we catch these issues.

As another matter, the USE_SSE flag is a bit of an eyesore -- we might consider "dual compilation" classes that can utilize SIMD instructions. So if we have SSE4 available on our processor, then the library can select the SSE-enabled version of DictionaryEncoder.

DCHECK(initialized_);
return (hardware_flags_ & flag) != 0;
}
static bool IsSupported(int64_t flag);
Copy link
Member

Choose a reason for hiding this comment

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

This is the one function that really needs to be inlined

Copy link
Contributor Author

Choose a reason for hiding this comment

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

how would you suggest we keep it in the header ?
Here are the solution I can think of in order of preference:

  • manual if + throw (or abort)
  • Simply remove the DCHECK
  • Make the logging.h a public header

Copy link
Member

Choose a reason for hiding this comment

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

I would say to remove the DCHECK, @majetideepak @xhochy do you have an opinion? whether the CpuInfo is initialized is something we can test elsewhere

Copy link
Member

Choose a reason for hiding this comment

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

Away with it!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fine by me, let me remove it :)

Choose a reason for hiding this comment

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

I am fine with removing it as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The fix has been pushed, I guess one can merge it as soon as the CI finishes :)

@daedric daedric force-pushed the PARQUET-889 branch 2 times, most recently from 9415293 to f08867b Compare February 22, 2017 14:46
@wesm
Copy link
Member

wesm commented Feb 22, 2017

I'm keeping an eye on it. If you enable Travis CI for your fork then we can get faster builds (right now we're in the general ASAF queue, which can sometimes get congested)

bit-util.h was missing a couple of include. cpu-util.h was including
parquet/logging.h which is an internal header so the implementations of
the static functions have been moved in the source file.
@wesm
Copy link
Member

wesm commented Feb 22, 2017

The build passed https://travis-ci.org/daedric/parquet-cpp/builds/204262490 -- the Linux failures are because of coveralls (we should make coveralls only run on the main repo maybe). Merging

@asfgit asfgit closed this in a3554f9 Feb 22, 2017
@wesm
Copy link
Member

wesm commented Feb 22, 2017

Thanks for your contribution!

@daedric
Copy link
Contributor Author

daedric commented Feb 23, 2017

My pleasure :)

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

Successfully merging this pull request may close these issues.

4 participants