is_cuda

DecryptedShare.is_cuda
복호화 조각이 GPU에 저장되어 있으면 True이고, 그렇지 않으면 False입니다.
  • 아웃풋
    • boolean
from desilofhe import Engine

message = [1, 2, 3]

gpu_engine = Engine(use_multiparty=True, mode="gpu")
gpu_secret_key_1 = gpu_engine.create_secret_key()
gpu_secret_key_2 = gpu_engine.create_secret_key()
gpu_public_key_a = gpu_engine.create_public_key_a()
gpu_public_key_b1 = gpu_engine.create_public_key_b(
    gpu_secret_key_1, gpu_public_key_a
)
gpu_public_key_b2 = gpu_engine.create_public_key_b(
    gpu_secret_key_2, gpu_public_key_a
)
gpu_public_key = gpu_engine.create_multiparty_public_key(
    [gpu_public_key_b1, gpu_public_key_b2], gpu_public_key_a
)

gpu_ciphertext = gpu_engine.encrypt(message, gpu_public_key)
gpu_decrypted_share = gpu_engine.individual_decrypt(
    gpu_ciphertext, gpu_secret_key_1
)

assert gpu_decrypted_share.is_cuda

cpu_engine = Engine(use_multiparty=True, mode="cpu")
cpu_secret_key_1 = cpu_engine.create_secret_key()
cpu_secret_key_2 = cpu_engine.create_secret_key()
cpu_public_key_a = cpu_engine.create_public_key_a()
cpu_public_key_b1 = cpu_engine.create_public_key_b(
    cpu_secret_key_1, cpu_public_key_a
)
cpu_public_key_b2 = cpu_engine.create_public_key_b(
    cpu_secret_key_2, cpu_public_key_a
)
cpu_public_key = cpu_engine.create_multiparty_public_key(
    [cpu_public_key_b1, cpu_public_key_b2], cpu_public_key_a
)

cpu_ciphertext = cpu_engine.encrypt(message, cpu_public_key)
cpu_decrypted_share = cpu_engine.individual_decrypt(
    cpu_ciphertext, cpu_secret_key_1
)

assert not cpu_decrypted_share.is_cuda