KvikIO 中使用的默认值的单例类。 更多...
#include <defaults.hpp>
KvikIO 中使用的默认值的单例类。
定义于文件 defaults.hpp 第 63 行。
◆ bounce_buffer_size()
static std::size_t kvikio::defaults::bounce_buffer_size |
( |
| ) |
|
|
static |
获取用于在主机内存中暂存数据的 bounce buffer 的大小。
使用 kvikio::default::set_bounce_buffer_size()
或通过设置 KVIKIO_BOUNCE_BUFFER_SIZE
环境变量来设置值。如果未设置,则值为 16 MiB。
- 返回值
- bounce buffer 的大小,以字节为单位。
◆ compat_mode()
static CompatMode kvikio::defaults::compat_mode |
( |
| ) |
|
|
static |
返回 KvikIO 库是否正在兼容模式下运行。
注意,这与 cuFile 中的兼容模式不同。也就是说,cuFile 可以在兼容模式下运行,而 KvikIO 不在。
当 KvikIO 在兼容模式下运行时,它不会加载 libcufile.so
。相反,读写操作使用 POSIX 进行。
设置环境变量 KVIKIO_COMPAT_MODE
以启用/禁用兼容模式。默认情况下,在以下情况启用兼容模式:
- 找不到
libcufile
时
- 在 Windows Subsystem for Linux (WSL) 中运行时
- 当
/run/udev
不可读时,这通常发生在未通过 --volume /run/udev:/run/udev:ro
启动的 docker 镜像内部运行时
- 返回值
- 兼容模式。
◆ gds_threshold()
static std::size_t kvikio::defaults::gds_threshold |
( |
| ) |
|
|
static |
获取默认 GDS 阈值,即使用 GDS 的最小大小(以字节为单位)。
为了提高小型 IO 的性能,.pread()
和 .pwrite()
实现了一个快捷方式,绕过线程池并直接使用 POSIX 后端。
使用 kvikio::default::set_gds_threshold()
或通过设置 KVIKIO_GDS_THRESHOLD
环境变量来设置默认值。如果未设置,默认值为 1 MiB。
- 返回值
- 默认 GDS 阈值大小,以字节为单位。
◆ http_max_attempts()
static std::size_t kvikio::defaults::http_max_attempts |
( |
| ) |
|
|
static |
获取每次远程 IO 读取的最大尝试次数。
使用 kvikio::default::set_http_max_attempts()
或通过设置 KVIKIO_HTTP_MAX_ATTEMPTS
环境变量来设置值。如果未设置,则值为 3。
- 返回值
- 在引发错误之前尝试的最大远程 IO 读取次数。
◆ http_status_codes()
static std::vector<int> const& kvikio::defaults::http_status_codes |
( |
| ) |
|
|
static |
要重试的 HTTP 状态码列表。
使用 kvikio::default::set_http_status_codes()
或通过设置 KVIKIO_HTTP_STATUS_CODES
环境变量来设置值。如果未设置,默认值为
- 返回值
- 要重试的 HTTP 状态码列表。
◆ http_timeout()
static long kvikio::defaults::http_timeout |
( |
| ) |
|
|
static |
允许传输完成的最长时间,以秒为单位。
使用 kvikio::default::set_http_timeout()
或通过设置 KVIKIO_HTTP_TIMEOUT
环境变量来设置值。如果未设置,则值为 60。
- 返回值
- 允许传输完成的最长时间。
◆ infer_compat_mode_if_auto()
从系统运行时推断 AUTO
兼容模式。
如果请求的兼容模式是 AUTO
,则通过执行系统配置检查将预期兼容模式设置为 ON
或 OFF
;否则,不做任何操作。实际上,此函数将请求的兼容模式从三种可能状态(ON
/OFF
/AUTO
)减少到两种(ON
/OFF
),从而确定实际的 I/O 路径。此函数是轻量级的,因为推断结果会被缓存。
◆ is_compat_mode_preferred() [1/2]
static bool kvikio::defaults::is_compat_mode_preferred |
( |
| ) |
|
|
static |
类默认值中的全局兼容模式是否预期为 ON
。
如果满足以下任一条件,则此函数返回 true
- 兼容模式为
ON
。
- 它为
AUTO
,但被推断为 ON
。
从概念上讲,此函数的反面是全局兼容模式是否预期为 OFF
,这将在满足以下任一条件时发生
- 兼容模式为
OFF
。
- 它为
AUTO
,但被推断为 OFF
。
- 返回值
- 布尔值答案。
◆ is_compat_mode_preferred() [2/2]
static bool kvikio::defaults::is_compat_mode_preferred |
( |
CompatMode |
compat_mode | ) |
|
|
staticnoexcept |
给定请求的兼容模式,是否预期其会简化为 ON
。
如果满足以下任一条件,则此函数返回 true
- 兼容模式为
ON
。
- 它为
AUTO
,但被推断为 ON
。
从概念上讲,此函数的反面是请求的兼容模式是否预期为 OFF
,这将在满足以下任一条件时发生
- 兼容模式为
OFF
。
- 它为
AUTO
,但被推断为 OFF
。
- 参数
-
- 返回值
- 布尔值答案。
◆ set_bounce_buffer_size()
static void kvikio::defaults::set_bounce_buffer_size |
( |
std::size_t |
nbytes | ) |
|
|
static |
设置用于在主机内存中暂存数据的 bounce buffer 的大小。
- 参数
-
nbytes | bounce buffer 的大小,以字节为单位。 |
◆ set_compat_mode()
static void kvikio::defaults::set_compat_mode |
( |
CompatMode |
compat_mode | ) |
|
|
static |
◆ set_gds_threshold()
static void kvikio::defaults::set_gds_threshold |
( |
std::size_t |
nbytes | ) |
|
|
static |
设置默认 GDS 阈值,即使用 GDS 的最小大小(以字节为单位)。
- 参数
-
nbytes | 默认 GDS 阈值大小,以字节为单位。 |
◆ set_http_max_attempts()
static void kvikio::defaults::set_http_max_attempts |
( |
std::size_t |
attempts | ) |
|
|
static |
◆ set_http_status_codes()
static void kvikio::defaults::set_http_status_codes |
( |
std::vector< int > |
status_codes | ) |
|
|
static |
设置要重试的 HTTP 状态码列表。
- 参数
-
status_codes | 要重试的 HTTP 状态码。 |
◆ set_http_timeout()
static void kvikio::defaults::set_http_timeout |
( |
long |
timeout_seconds | ) |
|
|
static |
重置 http 超时。
- 参数
-
timeout_seconds | 允许传输完成的最长时间。 |
◆ set_task_size()
static void kvikio::defaults::set_task_size |
( |
std::size_t |
nbytes | ) |
|
|
static |
◆ set_thread_pool_nthreads()
static void kvikio::defaults::set_thread_pool_nthreads |
( |
unsigned int |
nthreads | ) |
|
|
static |
设置默认线程池中的线程数。等待所有当前正在运行的任务完成,然后销毁池中的所有线程并使用新的线程数创建一个新的线程池。在池重置之前在队列中等待的任何任务将由新线程执行。
- 参数
-
◆ task_size()
static std::size_t kvikio::defaults::task_size |
( |
| ) |
|
|
static |
获取用于并行 IO 操作的默认任务大小。
使用 kvikio::default::set_task_size()
或通过设置 KVIKIO_TASK_SIZE
环境变量来设置默认值。如果未设置,默认值为 4 MiB。
- 返回值
- 默认任务大小,以字节为单位。
◆ thread_pool()
获取默认线程池。
注意,无法更改默认线程池。KvikIO 将始终使用同一个线程池,但可以更改池中的线程数(参见 kvikio::default::set_thread_pool_nthreads()
)。
- 返回值
- 默认线程池实例。
◆ thread_pool_nthreads()
static unsigned int kvikio::defaults::thread_pool_nthreads |
( |
| ) |
|
|
static |
获取默认线程池中的线程数。
使用 kvikio::default::set_thread_pool_nthreads()
或通过设置 KVIKIO_NTHREADS
环境变量来设置默认值。如果未设置,默认值为 1。
- 返回值
- 线程数。
此类的文档生成自以下文件