Comments (14)
"Librt and Libpthread are included in Bionic lib, which substitutes GLibC in Android, so just remove -pthread (or -lpthread -lrt) flags from your Makefiles" (ref)
from blis.
Line 1252 in a0b04e3
from blis.
I'm willing to write a PR for this issue this evening.
from blis.
Thanks @leekillough
from blis.
thanks
it's work when comment out https://github.com/flame/blis/blob/a0b04e3c007f1207e5678bf20c07752906742fb7/common.mk#L970C4-L970C4
and
Line 913 in a0b04e3
from blis.
@leekillough is there an easy way to check for Bionic in configure
?
from blis.
@devinamatthews SO to the rescue
You can see an example in configure
of testing preprocessor macros, for example, here.
from blis.
@devinamatthews and I talked about formally supporting this. I'm thinking maybe a --enable-android
option?
from blis.
Actually, I can't seem to convince myself that -lpthread
is ever needed on line 913 since pthreads is included in the link command by default (via line 579). 🤔
from blis.
I prefer the autodetection option: #ifdef __BIONIC__
. A separate explicit option to force it is fine, but the default autodetection should detect Bionic.
It shouldn't be too hard. RISC-V already autodetects using preprocessor macros.
from blis.
@leekillough Just to clarify, you're referring to trying to build a dummy .c
file that contains #ifdef __BIONIC__
and branching within configure
based on the result of that compilation attempt?
from blis.
I am saying that, just like in RISC-V, it is possible to detect properties in the build environment with preprocessor macros.
A .h
or similar file can be "preprocessed" and produce an output based on macros, which can then be parsed or grep'ed for a certain output.
Bionic seems to be an easy property to detect through preprocessor macros.
With cc -E
or similar, a source file dependent on Bionic macros can be tested. The source file would have things like #ifdef __BIONIC_
in it, and would output source code dependent on the presence of the macro (whether defined or not).
It is possible to parse the preprocessor output without having to fully compile the source. Please see the RISC-V autodetection code as an example.
from blis.
See the RISC-V autodetection code for examples
from blis.
Thanks for clarifying, @leekillough. Could you share a link to the RISC-V autodetection code?
from blis.
Related Issues (20)
- compile blis on windows HOT 1
- Discussion for new level-1v/-1m-like operations HOT 23
- Multithreading.md does not introduce include file needed for function calls HOT 1
- make install doesn't work with new install directory HOT 2
- When could you support AMD Zen4 arch? HOT 7
- Discrepancy in Haswell Results for Dgemm HOT 5
- cspan: Suggesting an ergonomic C99 API with multidimensional matrices for BLIS HOT 10
- "Missing" symbols relative to OpenBLAS HOT 16
- triggers segfault in "make check" process with configuration --disable-sba-pools on CentOS (SkylakeX)
- Default BLIS_[MNK]T values never actually set HOT 9
- fatal error: malloc.h: No such file or directory HOT 2
- Header path for default source build and Debian should match HOT 6
- bli_gemmsup_rd_haswell_asm_d6x8m.c:1296:1:error:bp cannot be used in ams here HOT 3
- New release? HOT 6
- A more complete list of ARM cpu implementations
- arm64 cpu identification is not portable to BSDs HOT 2
- inconsistence between documentation and code for bli_?trmm3 HOT 5
- What is the best way to debug BLIS? HOT 2
- GPU support and PortBLAS HOT 4
- getting error as illegal instruction HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blis.