Template Class Bootstrappingkey< Scheme::TFHE >
Defined in File evaluationkey.cuh
Class Documentation
-
template<>
class Bootstrappingkey<Scheme::TFHE> Public Functions
-
void store_in_device(cudaStream_t stream = cudaStreamDefault)
Stores the Bootstrappingkey in the device (GPU) memory.
-
void store_in_host(cudaStream_t stream = cudaStreamDefault)
Stores the Bootstrappingkey in the host (CPU) memory.
-
inline bool is_on_device() const noexcept
Checks whether the data is stored on the device (GPU) memory.
-
inline void switch_stream(cudaStream_t stream)
Switches the Ciphertext CUDA stream.
- Parameters:
stream – The new CUDA stream to be used.
-
inline cudaStream_t stream() const noexcept
Retrieves the CUDA stream associated with the ciphertext.
This function returns the CUDA stream that was used to create or last modify the ciphertext.
- Returns:
The CUDA stream associated with the ciphertext.
-
inline bool is_generated() const noexcept
Indicates whether the boot key has been generated.
- Returns:
true if the boot key has been generated, false otherwise.
-
Bootstrappingkey() = default
-
inline Bootstrappingkey(const Bootstrappingkey ©)
Copy constructor for creating a new Bootstrappingkey object by copying an existing one.
This constructor performs a deep copy of the secret key data, ensuring that the new object has its own independent copy of the data. GPU memory operations are handled using
cudaMemcpyAsyncfor asynchronous data transfer.- Parameters:
copy – The source Bootstrappingkey object to copy from.
-
inline Bootstrappingkey(Bootstrappingkey &&assign) noexcept
Move constructor for transferring ownership of a Bootstrappingkey object.
Transfers all resources, including GPU memory, from the source object to the newly constructed object. The source object is left in a valid but undefined state.
- Parameters:
assign – The source Bootstrappingkey object to move from.
-
inline Bootstrappingkey &operator=(const Bootstrappingkey ©)
Copy assignment operator for assigning one Bootstrappingkey object to another.
Performs a deep copy of the secret key data, ensuring that the target object has its own independent copy. GPU memory is copied using
cudaMemcpyAsync.- Parameters:
copy – The source Bootstrappingkey object to copy from.
- Returns:
Reference to the assigned object.
-
inline Bootstrappingkey &operator=(Bootstrappingkey &&assign) noexcept
Move assignment operator for transferring ownership of a Bootstrappingkey object.
Transfers all resources, including GPU memory, from the source object to the target object. The source object is left in a valid but undefined state.
- Parameters:
assign – The source Bootstrappingkey object to move from.
- Returns:
Reference to the assigned object.
-
void store_in_device(cudaStream_t stream = cudaStreamDefault)