dmlc / dmlc/dmlc-core

SSE Check Failing on android/aarch64

Open
#629 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
878
Forks
526
Avg merge
12d 19h
Merged PRs (30d)
1

Description

Hello!

The check for sse2 (lines below) is failing on android/aarch64 (specifically Termux on Android). It incorrectly detects that SSE2 is available (which is most certainly is not). I suspect the problem lies in using clang-9 vs gcc-9...

I tested on an RPi running linux (aarch64) with GCC-9 and it seemed to detect properly.

https://github.com/dmlc/dmlc-core/blob/ebcaa42d0b7271265e6a02ff468c6753a8fbecdb/CMakeLists.txt#L187-L190

Likewise, the Makefile makes an implicit assumption that one is running on Intel.

https://github.com/dmlc/dmlc-core/blob/ebcaa42d0b7271265e6a02ff468c6753a8fbecdb/Makefile#L20-L27

This is in stark contrast to rabit where at least in the Makefile it detects architectures (although, I would argue that the detection logic should really be the other way around: if the detected ARCH is Intel, then + -msse2; else: -march=native)

https://github.com/dmlc/rabit/blob/74bf00a5ab4594f1695a8ea960394ce89f4a44d0/Makefile#L20-L25

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.