about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2019-03-03 14:21:04 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2019-03-03 15:35:58 +0100
commit9732c44225910d5726ff95a7ab8c9a4684dfec4d (patch)
tree45db82d442400acf5ad543b4ed5e1bd6f8e72a9b /doc
parent77edcf88dca0de15a2bcf34f8d94f02d1fbd4eab (diff)
downloadnixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.tar
nixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.tar.gz
nixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.tar.bz2
nixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.tar.lz
nixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.tar.xz
nixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.tar.zst
nixlib-9732c44225910d5726ff95a7ab8c9a4684dfec4d.zip
dlib: add flag to disable AVX support
Especially older hardware doesn't support AVX instructions. DLib is
still functional there, but significantly slower[1].

By setting `avxInstructions` to false, DLib will be compiled without
this feature.

[1] http://dlib.net/compile.html
Diffstat (limited to 'doc')
-rw-r--r--doc/package-notes.xml27
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index e23593107d8d..c93f99d256b9 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -886,4 +886,31 @@ citrix_receiver.override {
    </para>
   </section>
  </section>
+ <section xml:id="dlib">
+  <title>DLib</title>
+
+  <para>
+    <link xlink:href="http://dlib.net/">DLib</link> is a modern, C++-based toolkit which
+    provides several machine learning algorithms.
+  </para>
+
+  <section xml:id="compiling-without-avx-support">
+   <title>Compiling without AVX support</title>
+
+   <para>
+     Especially older CPUs don't support
+     <link xlink:href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</link>
+     (<abbrev>Advanced Vector Extensions</abbrev>) instructions that are used by DLib to
+     optimize their algorithms.
+   </para>
+
+   <para>
+    On the affected hardware errors like <literal>Illegal instruction</literal> will occur.
+    In those cases AVX support needs to be disabled:
+<programlisting>self: super: {
+  dlib = super.dlib.override { avxSupport = false; };
+}</programlisting>
+   </para>
+  </section>
+ </section>
 </chapter>