Unverified Commit 77e22c90 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

complete using tab/tabs directives in Build_settings

parent 5536c1e6
Loading
Loading
Loading
Loading
+59 −61
Original line number Original line Diff line number Diff line
@@ -341,8 +341,9 @@ If this option is enabled, large files can be read or written with
gzip compression by several LAMMPS commands, including
gzip compression by several LAMMPS commands, including
:doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and :doc:`dump <dump>`.
:doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and :doc:`dump <dump>`.


CMake build
.. tabs::
^^^^^^^^^^^

   .. tab:: CMake build


      .. code-block:: bash
      .. code-block:: bash


@@ -350,28 +351,24 @@ CMake build
                                  # default is yes if CMake can find gzip, else no
                                  # default is yes if CMake can find gzip, else no
         -D GZIP_EXECUTABLE=path  # path to gzip executable if CMake cannot find it
         -D GZIP_EXECUTABLE=path  # path to gzip executable if CMake cannot find it


Traditional make
   .. tab:: Traditional make
^^^^^^^^^^^^^^^^


      .. code-block:: make
      .. code-block:: make


         LMP_INC = -DLAMMPS_GZIP
         LMP_INC = -DLAMMPS_GZIP


CMake and make info
This option requires that your operating system fully supports the "popen()"
^^^^^^^^^^^^^^^^^^^
function in the standard runtime library and that a ``gzip`` executable can be

This option requires that your machine supports the "popen()" function
in the standard runtime library and that a gzip executable can be
found by LAMMPS during a run.
found by LAMMPS during a run.


.. note::
.. note::


   On some clusters with high-speed networks, using the fork()
   On some clusters with high-speed networks, using the "fork()" library
   library call (required by popen()) can interfere with the fast
   call (required by "popen()") can interfere with the fast communication
   communication library and lead to simulations using compressed output
   library and lead to simulations using compressed output or input to
   or input to hang or crash. For selected operations, compressed file
   hang or crash. For selected operations, compressed file I/O is also
   I/O is also available using a compression library instead, which is
   available using a compression library instead, which is what the
   what the :ref:`COMPRESS package <PKG-COMPRESS>` enables.
   :ref:`COMPRESS package <PKG-COMPRESS>` enables.


----------
----------


@@ -380,37 +377,38 @@ found by LAMMPS during a run.
Memory allocation alignment
Memory allocation alignment
---------------------------------------
---------------------------------------


This setting enables the use of the posix_memalign() call instead of
This setting enables the use of the "posix_memalign()" call instead of
malloc() when LAMMPS allocates large chunks or memory.  This can make
"malloc()" when LAMMPS allocates large chunks or memory.  Vector
vector instructions on CPUs more efficient, if dynamically allocated
instructions on CPUs may become more efficient, if dynamically allocated
memory is aligned on larger-than-default byte boundaries.
memory is aligned on larger-than-default byte boundaries.  On most
On most current systems, the malloc() implementation returns
current operating systems, the "malloc()" implementation returns
pointers that are aligned to 16-byte boundaries. Using SSE vector
pointers that are aligned to 16-byte boundaries. Using SSE vector
instructions efficiently, however, requires memory blocks being
instructions efficiently, however, requires memory blocks being aligned
aligned on 64-byte boundaries.
on 64-byte boundaries.


CMake build
.. tabs::
^^^^^^^^^^^

   .. tab:: CMake build


      .. code-block:: bash
      .. code-block:: bash


         -D LAMMPS_MEMALIGN=value            # 0, 8, 16, 32, 64 (default)
         -D LAMMPS_MEMALIGN=value            # 0, 8, 16, 32, 64 (default)


Use a ``LAMMPS_MEMALIGN`` value of 0 to disable using posix_memalign()
      Use a ``LAMMPS_MEMALIGN`` value of 0 to disable using
and revert to using the malloc() C-library function instead.  When
      "posix_memalign()" and revert to using the "malloc()" C-library
compiling LAMMPS for Windows systems, malloc() will always be used
      function instead.  When compiling LAMMPS for Windows systems,
and this setting ignored.
      "malloc()" will always be used and this setting is ignored.


Traditional make
   .. tab:: Traditional make
^^^^^^^^^^^^^^^^


      .. code-block:: make
      .. code-block:: make


         LMP_INC = -DLAMMPS_MEMALIGN=value   # 8, 16, 32, 64
         LMP_INC = -DLAMMPS_MEMALIGN=value   # 8, 16, 32, 64


Do not set ``-DLAMMPS_MEMALIGN``, if you want to have memory allocated
      Do not set ``-DLAMMPS_MEMALIGN``, if you want to have memory
with the malloc() function call instead. ``-DLAMMPS_MEMALIGN`` **cannot**
      allocated with the "malloc()" function call
be used on Windows, as it does use different function calls for
      instead. ``-DLAMMPS_MEMALIGN`` **cannot** be used on Windows, as
      Windows different function calls with different semantics for
      allocating aligned memory, that are not compatible with how LAMMPS
      allocating aligned memory, that are not compatible with how LAMMPS
      manages its dynamical memory.
      manages its dynamical memory.


@@ -419,22 +417,22 @@ manages its dynamical memory.
.. _longlong:
.. _longlong:


Workaround for long long integers
Workaround for long long integers
------------------------------------------------
---------------------------------


If your system or MPI version does not recognize "long long" data
If your system or MPI version does not recognize "long long" data
types, the following setting will be needed.  It converts "long long"
types, the following setting will be needed.  It converts "long long"
to a "long" data type, which should be the desired 8-byte integer on
to a "long" data type, which should be the desired 8-byte integer on
those systems:
those systems:


CMake build
.. tabs::
^^^^^^^^^^^

   .. tab:: CMake build


      .. code-block:: bash
      .. code-block:: bash


         -D LAMMPS_LONGLONG_TO_LONG=value     # yes or no (default)
         -D LAMMPS_LONGLONG_TO_LONG=value     # yes or no (default)


Traditional make
   .. tab:: Traditional make
^^^^^^^^^^^^^^^^


      .. code-block:: make
      .. code-block:: make


@@ -453,15 +451,15 @@ Instead, the call stack is unwound and control returns to the caller,
e.g. to Python. Of course, the calling code has to be set up to
e.g. to Python. Of course, the calling code has to be set up to
*catch* exceptions thrown from within LAMMPS.
*catch* exceptions thrown from within LAMMPS.


CMake build
.. tabs::
^^^^^^^^^^^

   .. tab:: CMake build


      .. code-block:: bash
      .. code-block:: bash


         -D LAMMPS_EXCEPTIONS=value        # yes or no (default)
         -D LAMMPS_EXCEPTIONS=value        # yes or no (default)


Traditional make
   .. tab:: Traditional make
^^^^^^^^^^^^^^^^


      .. code-block:: make
      .. code-block:: make