Lines Matching +full:- +full:- +full:doc +full:- +full:build
1 # gemmlowp: a small self-contained low-precision GEMM library
3 [](http://travis-ci.org/google/gem…
9 [doc/low-precision.md](doc/low-precision.md)
11 Some of the general design is explained in [doc/design.md](doc/design.md).
22 gemmlowp-related discussion, about either development or usage, is welcome on
39 * pthreads (for multi-threaded operation and for profiling).
40 * sysconf (for multi-threaded operation to detect number of cores; may be
45 * Architecture-specific code paths use intrinsics or inline assembly. See
46 "Architecture-specific optimized code paths" below.
48 ## Architecture-specific optimized code paths
59 When building for x86, it's very important to pass `-msse4.1` to the compiler,
61 running `bazel build --copt=-msse4.1 //gemmlowp:all`. The compiled binary should
66 generally a better idea to pass `-march=native` to the compiler. That flag
67 implies `-msse4.1` flag, along with others that might be helpful. This of course
69 to run `bazel build --config=opt //gemmlowp:all` instead.
73 [doc/kernel.md](doc/kernel.md).
81 This is a headers-only library, so there is nothing to link to.
84 point, may be found in [doc/public.md](doc/public.md) .
86 A full, self-contained usage example, showing how to quantize float matrices and
89 [doc/quantization_example.cc](doc/quantization_example.cc).
101 Because gemmlowp is so simple, working with it involves only single-command-line
104 own preferred build system.
106 Keep in mind (previous section) that gemmlowp itself is a pure-headers-only
107 library so there is nothing to build.
110 script to build and run a program on an Android device:
113 scripts/test-android.sh
118 That being said, we also maintain a Bazel BUILD system as part of gemmlowp. Its
121 http://bazel.build/ And you can get started with using Bazel to build gemmlowp
128 $ bazel build gemmlowp:all
163 The `scripts/` directory contains a script to build and run a program on an
167 scripts/test-android.sh
171 compiler, and expects source files (and optionally, cflags) as command-line
172 parameters. To build and run the above-mentioned main unit test, first set `CXX`
176 $ export CXX=/some/toolchains/arm-linux-androideabi-4.8/bin/arm-linux-androideabi-g++
182 $ ./scripts/test-android.sh \
190 Alternatively, you can use Bazel to build and run tests. See the Bazel
201 build a standalone toolchain:
207 $ export INSTALL_DIR=~/toolchains/clang-21-stl-gnu
208 $ $NDK/build/tools/make-standalone-toolchain.sh \
209 --toolchain=arm-linux-androideabi-clang3.5 --platform=android-21 \
210 --install-dir=$INSTALL_DIR
211 $ export CXX="$INSTALL_DIR/bin/arm-linux-androideabi-g++ \
212 --sysroot=$INSTALL_DIR/sysroot"
216 support NEON assembly. The benchmark build process will issue a warning if
218 arm-linux-androideabi-g++ that does include NEON.
229 with assertions disabled (`-DNDEBUG`).
234 $ ./scripts/test-android.sh test/benchmark.cc -DNDEBUG
244 non-interrupting sampling profiler that only requires pthreads (no signals).
246 It relies on source code being instrumented with pseudo-stack labels. See
252 Contribution-related discussion is always welcome on the gemmlowp mailing list