commit | 4db1b057ea0eedab08946cf648a8456903ff2885 | [log] [tgz] |
---|---|---|
author | Projjal Chanda <iam@pchanda.com> | Wed Apr 07 20:22:54 2021 +0530 |
committer | Praveen <praveen@dremio.com> | Wed Apr 07 20:22:54 2021 +0530 |
tree | 345b7ec79fca61926082c1f3d569b0dff4731b11 | |
parent | ad54cfa26245904adf65937a46dd0dd6c60bf534 [diff] |
ARROW-12154: [C++][Gandiva] Fix gandiva crash in certain OS/CPU combinations Currently when running gandiva in a OS where the OS doesn't support all the features of the host cpu, specifically vector instructions like AVX, AVX512 which needs OS support (because the OS or the VM running the OS is older version and doesn't support them, or passthrough is disabled for these features in the VM), llvm::sys::getHostCPUName detects the processor with these features and so gandiva generates jit compiled code with these vector instructions, which the cpu is unable to execute and hence faults. Hence we need to detect the cpu features also and set it to the engine builder, since the OS might not support all the features of the detected cpu. This would also protect against other issues such as low end versions of SandyBridge, Haswell, and SkyLake processesors not supporting AVX at all. Closes #9852 from projjal/llvmgetcpufeatures and squashes the following commits: fef0fe8ec <Projjal Chanda> log cpu features c909488cb <Projjal Chanda> Add cpu attributes to engine builder Authored-by: Projjal Chanda <iam@pchanda.com> Signed-off-by: Praveen <praveen@dremio.com>
Apache Arrow is a development platform for in-memory analytics. It contains a set of technologies that enable big data systems to process and move data fast.
Major components of the project include:
Arrow is an Apache Software Foundation project. Learn more at arrow.apache.org.
The reference Arrow libraries contain many distinct software components:
The official Arrow libraries in this repository are in different stages of implementing the Arrow format and related features. See our current feature matrix on git master.
Please read our latest project contribution guide.
Even if you do not plan to contribute to Apache Arrow itself or Arrow integrations in other projects, we'd be happy to have you involved: