![]() |
amino
1.0-beta2
Lightweight Robot Utility Library
|
aarxc
, to generate code from the URDF file. Note that URDF support has additional dependencies; see ./INSTALL
for details../configure CFLAGS="-O2 -march=native"
or adding the equivalent to your Autoconf site defaults file (config.site).sudo apt-get install libopenblas-devYou can configure also manually configure the system-wide BLAS and LAPACK libraries via the
update-alternatives
mechanism. sudo update-alternatives --config liblapack.so sudo update-alternatives --config libblas.so
./configure --without-accelerate-framework LIBS="-lopenblas"
./configure LIBS="-lopenblas"
A: The scene graph compiler prepossesses meshes to reduce load time. Mesh data is arranged in the compiled scene graph according to its in-memory layout, eliminating the need to parse or copy meshes at load time. However, the processing itself is somewhat expensive.
Using Clang
instead of GCC
may improve compilation times. To do so, configure amino with ./configure CC=clang CXX=clang++
.
A: Ray tracing is computationally expensive. Here are a few notes to help performance.
Distribute: Ray tracing is embarassingly parallel, both across multiple frames and across pixels within a frame. The easiest way to render faster is to throw more cores at the problem.
Parsing: While POV-Ray can use multiple threads to render a frame, parsing the input file uses only a single core. If large meshes are used, this can take a noticeable amount of time, and must be repeated for each frame. Consequently, rather than using multiple threads per frame, it may often be better to render multiple frames in parallel so that parsing is parallelized across the different frames.
Optimize POV-Ray: Ray tracing is floating-point heavy. A few compilation flags make a small but noticable (~10%) improvement in performance.
-march=native
: optimize for the current CPU. This may take advantage of FPU instructions available on newer CPUs, e.g., AVX.-ffast-math
: optimize floating-point computation in ways that my violate IEEE semantics. Note that this could flag may slightly change the resulting image.-flto
: enable link-time optimization. This optimizes across multiple translation units.apt-get remove libopenblas-base apt-get install libatlas-base-dev
export OPENBLAS_NUM_THREADS=1
glxinfo | grep -i direct