libkvikio
24.04.00
|
Singleton class of default values used thoughtout KvikIO. More...
#include <defaults.hpp>
Static Public Member Functions | |
static bool | compat_mode () |
Return whether the KvikIO library is running in compatibility mode or not. More... | |
static void | compat_mode_reset (bool enable) |
Reset the value of kvikio::defaults::compat_mode() More... | |
static kvikio::third_party::thread_pool & | thread_pool () |
Get the default thread pool. More... | |
static unsigned int | thread_pool_nthreads () |
Get the number of threads in the default thread pool. More... | |
static void | thread_pool_nthreads_reset (unsigned int nthreads) |
Reset the number of threads in the default thread pool. Waits for all currently running tasks to be completed, then destroys all threads in the pool and creates a new thread pool with the new number of threads. Any tasks that were waiting in the queue before the pool was reset will then be executed by the new threads. If the pool was paused before resetting it, the new pool will be paused as well. More... | |
static std::size_t | task_size () |
Get the default task size used for parallel IO operations. More... | |
static void | task_size_reset (std::size_t nbytes) |
Reset the default task size used for parallel IO operations. More... | |
static std::size_t | gds_threshold () |
Get the default GDS threshold, which is the minimum size to use GDS (in bytes). More... | |
static void | gds_threshold_reset (std::size_t nbytes) |
Reset the default GDS threshold, which is the minimum size to use GDS (in bytes). More... | |
Singleton class of default values used thoughtout KvikIO.
Definition at line 79 of file defaults.hpp.
|
inlinestatic |
Return whether the KvikIO library is running in compatibility mode or not.
Notice, this is not the same as the compatibility mode in cuFile. That is, cuFile can run in compatibility mode while KvikIO is not.
When KvikIO is running in compatibility mode, it doesn't load libcufile.so
. Instead, reads and writes are done using POSIX.
Set the environment variable KVIKIO_COMPAT_MODE
to enable/disable compatibility mode. By default, compatibility mode is enabled:
libcufile
cannot be found/run/udev
isn't readable, which typically happens when running inside a docker image not launched with --volume /run/udev:/run/udev:ro
Definition at line 148 of file defaults.hpp.
|
inlinestatic |
Reset the value of kvikio::defaults::compat_mode()
Changing compatibility mode, effects all new FileHandles that doesn't sets the compat_mode
argument explicitly but it never effect existing FileHandles.
enable | Whether to enable compatibility mode or not. |
Definition at line 158 of file defaults.hpp.
|
inlinestatic |
Get the default GDS threshold, which is the minimum size to use GDS (in bytes).
In order to improve performance of small IO, .pread()
and .pwrite()
implement a shortcut that circumvent the threadpool and use the POSIX backend directly.
Set the default value using kvikio::default::gds_threshold_reset()
or by setting the KVIKIO_GDS_THRESHOLD
environment variable. If not set, the default value is 1 MiB.
Definition at line 226 of file defaults.hpp.
|
inlinestatic |
Reset the default GDS threshold, which is the minimum size to use GDS (in bytes).
nbytes | The default GDS threshold size in bytes. |
Definition at line 232 of file defaults.hpp.
|
inlinestatic |
Get the default task size used for parallel IO operations.
Set the default value using kvikio::default::task_size_reset()
or by setting the KVIKIO_TASK_SIZE
environment variable. If not set, the default value is 4 MiB.
Definition at line 206 of file defaults.hpp.
|
inlinestatic |
Reset the default task size used for parallel IO operations.
nbytes | The default task size in bytes. |
Definition at line 213 of file defaults.hpp.
|
inlinestatic |
Get the default thread pool.
Notice, it is not possible to change the default thread pool. KvikIO will always use the same thread pool however it is possible to change number of threads in the pool (see kvikio::default::thread_pool_nthreads_reset()
).
Definition at line 169 of file defaults.hpp.
|
inlinestatic |
Get the number of threads in the default thread pool.
Set the default value using kvikio::default::thread_pool_nthreads_reset()
or by setting the KVIKIO_NTHREADS
environment variable. If not set, the default value is 1.
Definition at line 182 of file defaults.hpp.
|
inlinestatic |
Reset the number of threads in the default thread pool. Waits for all currently running tasks to be completed, then destroys all threads in the pool and creates a new thread pool with the new number of threads. Any tasks that were waiting in the queue before the pool was reset will then be executed by the new threads. If the pool was paused before resetting it, the new pool will be paused as well.
nthreads | The number of threads to use. |
Definition at line 196 of file defaults.hpp.