Unverified Commit 9c36f24f authored by Daniil Sizov's avatar Daniil Sizov Committed by GitHub
Browse files

Cpu docker tcmalloc (#5969)

parent 78d8b808
...@@ -13,6 +13,10 @@ RUN bash /install/ubuntu_install_core.sh ...@@ -13,6 +13,10 @@ RUN bash /install/ubuntu_install_core.sh
COPY install/ubuntu_install_build.sh /install/ubuntu_install_build.sh COPY install/ubuntu_install_build.sh /install/ubuntu_install_build.sh
RUN bash /install/ubuntu_install_build.sh RUN bash /install/ubuntu_install_build.sh
# tcmalloc
RUN apt-get install -y libgoogle-perftools4
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4:$LD_PRELOAD
# python # python
COPY install/ubuntu_install_conda.sh /install/ubuntu_install_conda.sh COPY install/ubuntu_install_conda.sh /install/ubuntu_install_conda.sh
RUN bash /install/ubuntu_install_conda.sh RUN bash /install/ubuntu_install_conda.sh
......
...@@ -15,6 +15,16 @@ For specific workloads as GNN’s domain, suggested default setting for having b ...@@ -15,6 +15,16 @@ For specific workloads as GNN’s domain, suggested default setting for having b
is to turn off hyperthreading. is to turn off hyperthreading.
Turning off the hyper threading feature can be done at BIOS [#f1]_ or operating system level [#f2]_ [#f3]_ . Turning off the hyper threading feature can be done at BIOS [#f1]_ or operating system level [#f2]_ [#f3]_ .
Alternative memory allocators
---------------------------
Alternative memory allocators, such as *tcmalloc*, might provide significant performance improvements by more efficient memory usage, reducing overhead on unnecessary memory allocations or deallocations. *tcmalloc* uses thread-local caches to reduce overhead on thread synchronization, locks contention by using spinlocks and per-thread arenas respectively and categorizes memory allocations by sizes to reduce overhead on memory fragmentation.
To take advantage of optimizations *tcmalloc* provides, install it on your system (on Ubuntu *tcmalloc* is included in libgoogle-perftools4 package) and add shared library to the LD_PRELOAD environment variable:
.. code-block:: shell
export LD_PRELOAD=/lib/x86_64-linux-gnu/libtcmalloc.so.4:$LD_PRELOAD
OpenMP settings OpenMP settings
--------------------------- ---------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment