Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,10 @@ if((ENABLE_GPERFTOOLS OR ENABLE_TCMALLOC_MINIMAL) AND CMAKE_SYSTEM_NAME MATCHES
add_feature_info(Libunwind ENABLE_LIBUNWIND "Libunwind provides stack unwinding")
endif()

option(TA_TENSOR_MEM_PROFILE "Turn on instrumented profiling of TA::Tensor memory use" OFF)
option(TA_TENSOR_MEM_TRACE "Turn on instrumented tracing of TA::Tensor memory use" OFF)
add_feature_info(TENSOR_MEM_TRACE TA_TENSOR_MEM_TRACE "instrumented tracing of TA::Tensor memory use")

option(TA_TENSOR_MEM_PROFILE "Turn on instrumented profiling of TA::Tensor memory use" ${TA_TENSOR_MEM_TRACE})
add_feature_info(TENSOR_MEM_PROFILE TA_TENSOR_MEM_PROFILE "instrumented profiling of TA::Tensor memory use")

option(TA_EXPERT "TiledArray Expert mode: disables automatically downloading or building dependencies" OFF)
Expand Down
1 change: 1 addition & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,7 @@ support may be added.
* `TA_SIGNED_1INDEX_TYPE` -- Set to `OFF` to use unsigned 1-index coordinate type (default for TiledArray 1.0.0-alpha.2 and older). The default is `ON`, which enables the use of negative indices in coordinates.
* `TA_MAX_SOO_RANK_METADATA` -- Specifies the maximum rank for which to use Small Object Optimization (hence, avoid the use of the heap) for metadata. The default is `8`.
* `TA_TENSOR_MEM_PROFILE` -- Set to `ON` to profile host memory allocations used by TA::Tensor. This causes the use of Umpire for host memory allocation. This also enables additional tracing facilities provided by Umpire; these can be controlled via [environment variable `UMPIRE_LOG_LEVEL`](https://umpire.readthedocs.io/en/develop/sphinx/features/logging_and_replay.html), but note that the default is to log Umpire info into a file rather than stdout.
* `TA_TENSOR_MEM_TRACE` -- Set to `ON` to *trace* host memory allocations used by TA::Tensor. This turns on support for tracking memory used by `Tensor` objects; such tracking must be enabled programmatically. This can greatly increase memory consumption by the application and is only intended for expert developers troubleshooting memory use by TiledArray.
* `TA_UT_CTEST_TIMEOUT` -- The value (in seconds) of the timeout to use for running the TA unit tests via CTest when building the `check`/`check-tiledarray` targets. The default timeout is 1500s.

# Build TiledArray
Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ TiledArray/util/bug.h
TiledArray/util/function.h
TiledArray/util/initializer_list.h
TiledArray/util/logger.h
TiledArray/util/ptr_registry.cpp
TiledArray/util/ptr_registry.h
TiledArray/util/random.h
TiledArray/util/singleton.h
TiledArray/util/threads.h
Expand Down
3 changes: 3 additions & 0 deletions src/TiledArray/config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@
/* Is TA::Tensor memory profiling enabled? */
#cmakedefine TA_TENSOR_MEM_PROFILE 1

/* Is TA::Tensor memory tracing enabled? */
#cmakedefine TA_TENSOR_MEM_TRACE 1

/* Is TTG available? */
#cmakedefine TILEDARRAY_HAS_TTG 1

Expand Down
7 changes: 5 additions & 2 deletions src/TiledArray/range.h
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,9 @@ class Range {

/// Move Constructor

/// \param other The range to be copied
/// \param[in,out] other The range to be copied; set to default (null) state
/// on return
/// \post `other == Range{}`
Range(Range_&& other)
: datavec_(std::move(other.datavec_)),
offset_(other.offset_),
Expand Down Expand Up @@ -639,7 +641,8 @@ class Range {

/// Move assignment operator

/// \param other The range to be copied
/// \param[in,out] other The range to be copied; set to default (null) state
/// on return
/// \return A reference to this object
/// \throw nothing
Range_& operator=(Range_&& other) {
Expand Down
Loading