You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that you will need to set values of type `FLOAT` and that the result will be returned as `View<FLOAT>`.
123
-
If your system does not support these SIMD types, set SymX's the CMake flag `SYMX_ENABLE_AVX2` to `OFF`.
123
+
If your system does not support these SIMD types, disable them with `-DSYMX_ENABLE_AVX2=OFF` (the default `AUTO` already does this on non-x86 targets).
124
124
125
125
### Parallel evaluation
126
126
You can evaluate a `Compiled` expression in parallel in the following way:
<p>Note that you will need to set values of type <codeclass="docutils literal notranslate"><spanclass="pre">FLOAT</span></code> and that the result will be returned as <codeclass="docutils literal notranslate"><spanclass="pre">View<FLOAT></span></code>.
386
-
If your system does not support these SIMD types, set SymX’s the CMake flag <codeclass="docutils literal notranslate"><spanclass="pre">SYMX_ENABLE_AVX2</span></code>to <codeclass="docutils literal notranslate"><spanclass="pre">OFF</span></code>.</p>
386
+
If your system does not support these SIMD types, disable them with <codeclass="docutils literal notranslate"><spanclass="pre">-DSYMX_ENABLE_AVX2=OFF</span></code>(the default <codeclass="docutils literal notranslate"><spanclass="pre">AUTO</span></code> already does this on non-x86 targets).</p>
387
387
</section>
388
388
<sectionid="parallel-evaluation">
389
389
<h3>Parallel evaluation<aclass="headerlink" href="#parallel-evaluation" title="Link to this heading">¶</a></h3>
@@ -344,8 +344,10 @@ <h2>CMake options<a class="headerlink" href="#cmake-options" title="Link to this
344
344
<sectionid="avx2-support">
345
345
<h3>AVX2 support<aclass="headerlink" href="#avx2-support" title="Link to this heading">¶</a></h3>
346
346
<p>SymX uses AVX2 to speedup computations in several locations, such as evaluation and linear system solves.
347
-
If your system does not support it (e.g. Apple Silicon) use <codeclass="docutils literal notranslate"><spanclass="pre">SYMX_ENABLE_AVX2=OFF</span></code> in CMake to disable such code paths.</p>
348
-
<p>If you try to compile SymX as-is, without support for AVX2 you will get something like:</p>
<codeclass="docutils literal notranslate"><spanclass="pre">AUTO</span></code> enables AVX2 on x86/x86_64/AMD64 and disables it everywhere else (e.g. Apple Silicon).
349
+
Override explicitly with <codeclass="docutils literal notranslate"><spanclass="pre">-DSYMX_ENABLE_AVX2=ON</span></code> or <codeclass="docutils literal notranslate"><spanclass="pre">-DSYMX_ENABLE_AVX2=OFF</span></code>.</p>
350
+
<p>If you try to compile on a non-AVX2 system with <codeclass="docutils literal notranslate"><spanclass="pre">ON</span></code>, you will get something like:</p>
349
351
<divclass="highlight-bash notranslate"><divclass="highlight"><pre><span></span>../immintrin.h:14<spanclass="w"></span>error<spanclass="w"></span><spanclass="s2">"This header is only meant to be used on x86 and x64 architecture"</span>
0 commit comments