INSTALL.md: add section discussing how to enable CPU specific optimizations
This commit is contained in:
parent
533fa2fdee
commit
6239ed7be4
24
INSTALL.md
24
INSTALL.md
|
@ -9,7 +9,7 @@ To build the library, type from source tree directory:
|
||||||
```
|
```
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake ..
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
make
|
make
|
||||||
```
|
```
|
||||||
Binaries are then located in the 'bin' directory.
|
Binaries are then located in the 'bin' directory.
|
||||||
|
@ -63,6 +63,28 @@ Note 4 : On MacOS, if it does not work, try adding the following flag to the cma
|
||||||
You can use cmake to generate the project files for the IDE you are using (VC2010, XCode, etc).
|
You can use cmake to generate the project files for the IDE you are using (VC2010, XCode, etc).
|
||||||
Type 'cmake --help' for available generators on your platform.
|
Type 'cmake --help' for available generators on your platform.
|
||||||
|
|
||||||
|
# Enabling CPU specific optimizations
|
||||||
|
|
||||||
|
For Intel/AMD processors, OpenJPEG implements optimizations using the SSE4.1
|
||||||
|
instruction set (for example, for the 9x7 inverse MCT transform) and the AVX2
|
||||||
|
instruction set (for example, for the 5x3 inverse discrete wavelet transform).
|
||||||
|
Currently, those optimizations are only available if OpenJPEG is built to
|
||||||
|
use those instruction sets (and the resulting binary will only run on compatible
|
||||||
|
CPUs)
|
||||||
|
|
||||||
|
With gcc/clang, it is possible to enable those instruction sets with the following :
|
||||||
|
|
||||||
|
cmake -DCMAKE_C_FLAGS="-O3 -msse4.1 -DNDEBUG" ..
|
||||||
|
|
||||||
|
cmake -DCMAKE_C_FLAGS="-O3 -mavx2 -DNDEBUG" ..
|
||||||
|
|
||||||
|
(AVX2 implies SSE4.1)
|
||||||
|
|
||||||
|
Or if the binary is dedicated to run on the machine where it has
|
||||||
|
been compiled :
|
||||||
|
|
||||||
|
cmake -DCMAKE_C_FLAGS="-O3 -march=native -DNDEBUG" ..
|
||||||
|
|
||||||
# Modifying OpenJPEG
|
# Modifying OpenJPEG
|
||||||
|
|
||||||
Before committing changes, run:
|
Before committing changes, run:
|
||||||
|
|
Loading…
Reference in New Issue