@@ -111,38 +111,76 @@ functions are called.
111111
112112The table below details the built-in SLIC macros as well as some notes about when they are collective calls:
113113
114- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
115- | Macro | Availability | Collective status |
116- +============================+================================================+============================================================================+
117- | | ``SLIC_ASSERT `` | | Only available in debug configurations | | Collective by default. |
118- | | ``SLIC_ASSERT_MSG `` | | (i.e. when `AXOM_DEBUG ` is defined). | | Collective after calling ``slic::enableAbortOnError() ``. |
119- | | | | Not available in device code. | | No longer collective after calling ``slic::disableAbortOnError() ``. |
120- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
121- | | ``SLIC_CHECK `` | | Only available in debug configurations | | Not collective by default. |
122- | | ``SLIC_CHECK_MSG `` | | (i.e. when `AXOM_DEBUG ` is defined). | | Collective after ``slic::debug::checksAreErrors `` is set to ``true ``, |
123- | | | | Not available in device code. | | defaults to ``false ``. |
124- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
125- | | ``SLIC_DEBUG `` | | Only available in debug configurations | | Never |
126- | | ``SLIC_DEBUG_IF `` | | (i.e. when `AXOM_DEBUG ` is defined) | | |
127- | | ``SLIC_DEBUG_ROOT `` | | | | |
128- | | ``SLIC_DEBUG_ROOT_IF `` | | | | |
129- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
130- | | ``SLIC_INFO `` | | Always | | Never |
131- | | ``SLIC_INFO_IF `` | | | | |
132- | | ``SLIC_INFO_ROOT `` | | | | |
133- | | ``SLIC_INFO_ROOT_IF `` | | | | |
134- | | ``SLIC_INFO_TAGGED `` | | | | |
135- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
136- | | ``SLIC_ERROR `` | | Always | | Collective by default. |
137- | | ``SLIC_ERROR_IF `` | | | | Collective after calling ``slic::enableAbortOnError() ``. |
138- | | ``SLIC_ERROR_ROOT `` | | | | No longer collective after calling ``slic::disableAbortOnError() `` |
139- | | ``SLIC_ERROR_ROOT_IF `` | | | | |
140- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
141- | | ``SLIC_WARNING `` | | Always | | Not collective by default. |
142- | | ``SLIC_WARNING_IF `` | | | | Collective after calling ``slic::enableAbortOnWarning() ``. |
143- | | ``SLIC_WARNING_ROOT `` | | | | No longer collective after calling ``slic::disableAbortOnWarning() `` |
144- | | ``SLIC_WARNING_ROOT_IF `` | | | | |
145- +----------------------------+------------------------------------------------+----------------------------------------------------------------------------+
114+ .. list-table :: SLIC macro availability and collective behavior
115+ :header-rows: 1
116+ :widths: 28 34 38
117+
118+ * - Macro
119+ - Availability
120+ - Collective status
121+
122+ * - ``SLIC_ASSERT ``
123+ ``SLIC_ASSERT_MSG ``
124+ - - Only available in debug configurations (i.e. when ``AXOM_DEBUG `` is defined)
125+ - Not available in device code
126+ - - Collective by default
127+ - Collective after calling ``slic::enableAbortOnError() ``
128+ - No longer collective after calling ``slic::disableAbortOnError() ``
129+
130+ * - ``SLIC_CHECK ``
131+ ``SLIC_CHECK_MSG ``
132+ - - Only available in debug configurations (i.e. when ``AXOM_DEBUG `` is defined)
133+ - Not available in device code
134+ - - Not collective by default
135+ - Collective after ``slic::debug::checksAreErrors `` is set to ``true ``, defaults to ``false ``
136+
137+ * - ``SLIC_DEBUG ``
138+ ``SLIC_DEBUG_IF ``
139+ ``SLIC_DEBUG_ROOT ``
140+ ``SLIC_DEBUG_ROOT_IF ``
141+ ``SLIC_DEBUG_PRINT_CONTAINER ``
142+ ``SLIC_DEBUG_ONCE ``
143+ ``SLIC_DEBUG_IF_ONCE ``
144+ ``SLIC_DEBUG_ROOT_ONCE ``
145+ ``SLIC_DEBUG_ROOT_IF_ONCE ``
146+ ``SLIC_DEBUG_PRINT_CONTAINER_ONCE ``
147+ - - Only available in debug configurations (i.e. when ``AXOM_DEBUG `` is defined)
148+ - - Never
149+
150+ * - ``SLIC_INFO ``
151+ ``SLIC_INFO_IF ``
152+ ``SLIC_INFO_ROOT ``
153+ ``SLIC_INFO_ROOT_IF ``
154+ ``SLIC_INFO_TAGGED ``
155+ ``SLIC_INFO_ONCE ``
156+ ``SLIC_INFO_IF_ONCE ``
157+ ``SLIC_INFO_ROOT_ONCE ``
158+ ``SLIC_INFO_ROOT_IF_ONCE ``
159+ ``SLIC_INFO_TAGGED_ONCE ``
160+ - - Always
161+ - - Never
162+
163+ * - ``SLIC_ERROR ``
164+ ``SLIC_ERROR_IF ``
165+ ``SLIC_ERROR_ROOT ``
166+ ``SLIC_ERROR_ROOT_IF ``
167+ - - Always
168+ - - Collective by default
169+ - Collective after calling ``slic::enableAbortOnError() ``
170+ - No longer collective after calling ``slic::disableAbortOnError() ``
171+
172+ * - ``SLIC_WARNING ``
173+ ``SLIC_WARNING_IF ``
174+ ``SLIC_WARNING_ROOT ``
175+ ``SLIC_WARNING_ROOT_IF ``
176+ ``SLIC_WARNING_ONCE ``
177+ ``SLIC_WARNING_IF_ONCE ``
178+ ``SLIC_WARNING_ROOT_ONCE ``
179+ ``SLIC_WARNING_ROOT_IF_ONCE ``
180+ - - Always
181+ - - Not collective by default
182+ - Collective after calling ``slic::enableAbortOnWarning() ``
183+ - No longer collective after calling ``slic::disableAbortOnWarning() ``
146184
147185Doxygen generated API documentation on Macros can be found here: `SLIC Macros <../../../../../doxygen/html/slic__macros_8hpp.html >`_
148186
@@ -157,6 +195,7 @@ Consider the following rules of thumb when choosing from the above logging macro
157195 (i.e. their messages will not get logged), while `SLIC_INFO ` macros are always available.
158196* The `SLIC_*_ROOT ` variants can help reduce logging verbosity when called in an MPI application, especially if all
159197 MPI ranks are expected to have the same data (for example, if a value was broadcast from one rank to all the other ranks).
198+ * The `SLIC_*_ONCE ` variants can help reduce logging verbosity when only the first invocation at a call-site is necessary.
160199
161200
162201.. #############################################################################
0 commit comments