context.hpp
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include <cudf/utilities/export.hpp>
9 
10 #include <cstdint>
11 #include <type_traits>
12 
13 namespace CUDF_EXPORT cudf {
14 
16 enum class init_flags : std::uint32_t {
18  NONE = 0,
20  LOAD_NVCOMP = 1 << 0,
22  INIT_JIT_CACHE = 1 << 1,
27 };
28 
33 constexpr init_flags operator|(init_flags lhs, init_flags rhs) noexcept
34 {
35  using underlying_t = std::underlying_type_t<init_flags>;
36  return static_cast<init_flags>(static_cast<underlying_t>(lhs) | static_cast<underlying_t>(rhs));
37 }
38 
43 constexpr init_flags operator&(init_flags lhs, init_flags rhs) noexcept
44 {
45  using underlying_t = std::underlying_type_t<init_flags>;
46  return static_cast<init_flags>(static_cast<underlying_t>(lhs) & static_cast<underlying_t>(rhs));
47 }
48 
53 constexpr init_flags operator~(init_flags flags) noexcept
54 {
55  using underlying_t = std::underlying_type_t<init_flags>;
56  return static_cast<init_flags>(static_cast<underlying_t>(init_flags::ALL) &
57  ~static_cast<underlying_t>(flags));
58 }
59 
64 constexpr bool has_flag(init_flags flags, init_flags flag) noexcept
65 {
66  return (flags | flag) == flags;
67 }
68 
74 
81 void teardown();
82 
93 void enable_jit_cache(bool enable);
94 
106 
107 } // namespace CUDF_EXPORT cudf
@ DEFAULT
default
Definition: flags.hpp:27
constexpr string_character_types operator|(string_character_types lhs, string_character_types rhs)
OR operator for combining string_character_types.
cuDF interfaces
Definition: host_udf.hpp:26
void clear_jit_cache()
Clear the JIT program cache, removing all cached programs from memory and disk.
constexpr bool has_flag(init_flags flags, init_flags flag) noexcept
Check if a flag is set.
Definition: context.hpp:64
constexpr init_flags operator~(init_flags flags) noexcept
Bitwise NOT operator for init_flags.
Definition: context.hpp:53
void initialize(init_flags flags=init_flags::DEFAULT)
Initialize the cudf global context.
constexpr init_flags operator&(init_flags lhs, init_flags rhs) noexcept
Bitwise AND operator for init_flags.
Definition: context.hpp:43
init_flags
Flags for controlling initialization steps.
Definition: context.hpp:16
@ ALL
All initialization steps (default behavior)
@ INIT_JIT_CACHE
Initialize the JIT program cache during initialization.
@ LOAD_NVCOMP
Load the nvCOMP library during initialization.
void teardown()
Destroy the cudf global context, resetting it to an uninitialized state. This is primarily intended f...
void enable_jit_cache(bool enable)
Enable or disable the JIT program cache.