|
| LuxGPU * | lux_gpu_create (void) |
| |
| LuxGPU * | lux_gpu_create_with_backend (LuxBackend backend) |
| |
| LuxGPU * | lux_gpu_create_with_device (LuxBackend backend, int device_index) |
| |
| void | lux_gpu_destroy (LuxGPU *gpu) |
| |
| LuxBackend | lux_gpu_backend (LuxGPU *gpu) |
| |
| const char * | lux_gpu_backend_name (LuxGPU *gpu) |
| |
| LuxError | lux_gpu_set_backend (LuxGPU *gpu, LuxBackend backend) |
| |
| LuxError | lux_gpu_device_info (LuxGPU *gpu, LuxDeviceInfo *info) |
| |
| LuxError | lux_gpu_sync (LuxGPU *gpu) |
| |
| const char * | lux_gpu_error (LuxGPU *gpu) |
| |
| int | lux_backend_count (void) |
| |
| bool | lux_backend_available (LuxBackend backend) |
| |
| const char * | lux_backend_name (LuxBackend backend) |
| |
| int | lux_device_count (LuxBackend backend) |
| |
| LuxError | lux_device_info (LuxBackend backend, int index, LuxDeviceInfo *info) |
| |
| LuxTensor * | lux_tensor_zeros (LuxGPU *gpu, const int64_t *shape, int ndim, LuxDtype dtype) |
| |
| LuxTensor * | lux_tensor_ones (LuxGPU *gpu, const int64_t *shape, int ndim, LuxDtype dtype) |
| |
| LuxTensor * | lux_tensor_full (LuxGPU *gpu, const int64_t *shape, int ndim, LuxDtype dtype, double value) |
| |
| LuxTensor * | lux_tensor_from_data (LuxGPU *gpu, const void *data, const int64_t *shape, int ndim, LuxDtype dtype) |
| |
| void | lux_tensor_destroy (LuxTensor *tensor) |
| |
| int | lux_tensor_ndim (LuxTensor *tensor) |
| |
| int64_t | lux_tensor_shape (LuxTensor *tensor, int dim) |
| |
| int64_t | lux_tensor_size (LuxTensor *tensor) |
| |
| LuxDtype | lux_tensor_dtype (LuxTensor *tensor) |
| |
| LuxError | lux_tensor_to_host (LuxTensor *tensor, void *data, size_t size) |
| |
| LuxTensor * | lux_tensor_add (LuxGPU *gpu, LuxTensor *a, LuxTensor *b) |
| |
| LuxTensor * | lux_tensor_sub (LuxGPU *gpu, LuxTensor *a, LuxTensor *b) |
| |
| LuxTensor * | lux_tensor_mul (LuxGPU *gpu, LuxTensor *a, LuxTensor *b) |
| |
| LuxTensor * | lux_tensor_div (LuxGPU *gpu, LuxTensor *a, LuxTensor *b) |
| |
| LuxTensor * | lux_tensor_matmul (LuxGPU *gpu, LuxTensor *a, LuxTensor *b) |
| |
| LuxTensor * | lux_tensor_neg (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_exp (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_log (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_sqrt (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_abs (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_tanh (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_sigmoid (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_relu (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_gelu (LuxGPU *gpu, LuxTensor *t) |
| |
| float | lux_tensor_reduce_sum (LuxGPU *gpu, LuxTensor *t) |
| |
| float | lux_tensor_reduce_max (LuxGPU *gpu, LuxTensor *t) |
| |
| float | lux_tensor_reduce_min (LuxGPU *gpu, LuxTensor *t) |
| |
| float | lux_tensor_reduce_mean (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_sum (LuxGPU *gpu, LuxTensor *t, const int *axes, int naxes) |
| |
| LuxTensor * | lux_tensor_mean (LuxGPU *gpu, LuxTensor *t, const int *axes, int naxes) |
| |
| LuxTensor * | lux_tensor_max (LuxGPU *gpu, LuxTensor *t, const int *axes, int naxes) |
| |
| LuxTensor * | lux_tensor_min (LuxGPU *gpu, LuxTensor *t, const int *axes, int naxes) |
| |
| LuxTensor * | lux_tensor_softmax (LuxGPU *gpu, LuxTensor *t, int axis) |
| |
| LuxTensor * | lux_tensor_log_softmax (LuxGPU *gpu, LuxTensor *t, int axis) |
| |
| LuxTensor * | lux_tensor_layer_norm (LuxGPU *gpu, LuxTensor *t, LuxTensor *gamma, LuxTensor *beta, float eps) |
| |
| LuxTensor * | lux_tensor_rms_norm (LuxGPU *gpu, LuxTensor *t, LuxTensor *weight, float eps) |
| |
| LuxTensor * | lux_tensor_transpose (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxTensor * | lux_tensor_copy (LuxGPU *gpu, LuxTensor *t) |
| |
| LuxError | lux_poseidon2_hash (LuxGPU *gpu, const uint64_t *inputs, uint64_t *outputs, size_t rate, size_t num_hashes) |
| |
| LuxError | lux_blake3_hash (LuxGPU *gpu, const uint8_t *inputs, uint8_t *outputs, const size_t *input_lens, size_t num_hashes) |
| |
| LuxError | lux_gpu_keccak256_batch (LuxGPU *gpu, const uint8_t *inputs, uint8_t *outputs, const size_t *input_lens, size_t num_inputs) |
| |
| LuxError | lux_gpu_ecrecover_batch (LuxGPU *gpu, const LuxEcrecoverInput *signatures, LuxEcrecoverOutput *addresses, size_t num_signatures) |
| |
| LuxError | lux_msm (LuxGPU *gpu, const void *scalars, const void *points, void *result, size_t count, LuxCurve curve) |
| |
| LuxError | lux_bls12_381_add (LuxGPU *gpu, const void *a, const void *b, void *out, size_t count, bool is_g2) |
| |
| LuxError | lux_bls12_381_mul (LuxGPU *gpu, const void *points, const void *scalars, void *out, size_t count, bool is_g2) |
| |
| LuxError | lux_bls12_381_pairing (LuxGPU *gpu, const void *g1_points, const void *g2_points, void *out, size_t count) |
| |
| LuxError | lux_bls_verify (LuxGPU *gpu, const uint8_t *sig, size_t sig_len, const uint8_t *msg, size_t msg_len, const uint8_t *pubkey, size_t pubkey_len, bool *result) |
| |
| LuxError | lux_bls_verify_batch (LuxGPU *gpu, const uint8_t *const *sigs, const size_t *sig_lens, const uint8_t *const *msgs, const size_t *msg_lens, const uint8_t *const *pubkeys, const size_t *pubkey_lens, int count, bool *results) |
| |
| LuxError | lux_bls_aggregate (LuxGPU *gpu, const uint8_t *const *sigs, const size_t *sig_lens, int count, uint8_t *out, size_t *out_len) |
| |
| LuxError | lux_bn254_add (LuxGPU *gpu, const void *a, const void *b, void *out, size_t count, bool is_g2) |
| |
| LuxError | lux_bn254_mul (LuxGPU *gpu, const void *points, const void *scalars, void *out, size_t count, bool is_g2) |
| |
| LuxError | lux_kzg_commit (LuxGPU *gpu, const void *coeffs, const void *srs, void *commitment, size_t degree, LuxCurve curve) |
| |
| LuxError | lux_kzg_open (LuxGPU *gpu, const void *coeffs, const void *srs, const void *point, void *proof, size_t degree, LuxCurve curve) |
| |
| LuxError | lux_kzg_verify (LuxGPU *gpu, const void *commitment, const void *proof, const void *point, const void *value, const void *srs_g2, bool *result, LuxCurve curve) |
| |
| LuxError | lux_ntt_forward (LuxGPU *gpu, uint64_t *data, size_t n, uint64_t modulus) |
| |
| LuxError | lux_ntt_inverse (LuxGPU *gpu, uint64_t *data, size_t n, uint64_t modulus) |
| |
| LuxError | lux_ntt_batch (LuxGPU *gpu, uint64_t **polys, size_t count, size_t n, uint64_t modulus) |
| |
| LuxError | lux_poly_mul (LuxGPU *gpu, const uint64_t *a, const uint64_t *b, uint64_t *result, size_t n, uint64_t modulus) |
| |
| LuxError | lux_tfhe_bootstrap (LuxGPU *gpu, const uint64_t *lwe_in, uint64_t *lwe_out, const uint64_t *bsk, const uint64_t *test_poly, uint32_t n_lwe, uint32_t N, uint32_t k, uint32_t l, uint32_t base_log, uint64_t q) |
| |
| LuxError | lux_tfhe_keyswitch (LuxGPU *gpu, const uint64_t *lwe_in, uint64_t *lwe_out, const uint64_t *ksk, uint32_t n_in, uint32_t n_out, uint32_t l, uint32_t base_log, uint64_t q) |
| |
| LuxError | lux_blind_rotate (LuxGPU *gpu, uint64_t *acc, const uint64_t *bsk, const uint64_t *lwe_a, uint32_t n_lwe, uint32_t N, uint32_t k, uint32_t l, uint32_t base_log, uint64_t q) |
| |
| bool | lux_fhe_is_valid_N (uint32_t N) |
| |
| bool | lux_fhe_is_valid_gadget (uint32_t l, uint32_t base_log) |
| |
| bool | lux_fhe_is_valid_pbs (uint32_t n_lwe, uint32_t N, uint32_t k, uint32_t l, uint32_t base_log, uint64_t q) |
| |
| size_t | lux_fhe_bsk_words (uint32_t n_lwe, uint32_t N, uint32_t k, uint32_t l) |
| |
| size_t | lux_fhe_ksk_words (uint32_t n_in, uint32_t n_out, uint32_t l, uint32_t base_log) |
| |
| size_t | lux_fhe_lwe_out_words (uint32_t N, uint32_t k) |
| |
| size_t | lux_fhe_acc_words (uint32_t N, uint32_t k) |
| |
| uint32_t | lux_fhe_suggest_base_log (uint32_t l, uint64_t q) |
| |
| int64_t | lux_fhe_signed_decomp_digit (uint64_t value, uint32_t level, uint32_t base_log) |
| |
| bool | lux_fhe_signed_decomp_all (uint64_t value, uint32_t l, uint32_t base_log, int64_t *out) |
| |
| uint32_t | lux_fhe_compute_a_tilde (uint64_t a, uint32_t N, uint64_t q) |
| |
| uint64_t | lux_fhe_encode_message (uint64_t m, uint64_t modulus, uint64_t q) |
| |
| uint64_t | lux_fhe_decode_phase (uint64_t phase, uint64_t modulus, uint64_t q) |
| |
| bool | lux_fhe_test_poly_plateau (uint32_t N, uint64_t Delta, uint64_t *out) |
| |
| bool | lux_fhe_test_poly_half (uint32_t N, uint64_t Delta, uint64_t *out) |
| |
| uint64_t | lux_fhe_gadget_value (uint32_t level, uint32_t base_log, uint64_t q) |
| |
| uint64_t | lux_fhe_gadget_reconstruct (const int64_t *digits, uint32_t l, uint32_t base_log, uint64_t q) |
| |
| size_t | lux_fhe_decomp_words (uint32_t N, uint32_t k, uint32_t l) |
| |
| bool | lux_fhe_is_valid_keyswitch (uint32_t n_in, uint32_t n_out, uint32_t l, uint32_t base_log, uint64_t q) |
| |
| size_t | lux_fhe_keyswitch_in_words (uint32_t n_in) |
| |
| size_t | lux_fhe_keyswitch_out_words (uint32_t n_out) |
| |
| uint32_t | lux_fhe_abi_revision (void) |
| |
| LuxError | lux_gpu_poseidon2 (LuxGPU *gpu, LuxFr256 *out, const LuxFr256 *left, const LuxFr256 *right, size_t n) |
| |
| LuxError | lux_gpu_merkle_root (LuxGPU *gpu, LuxFr256 *out, const LuxFr256 *leaves, size_t n) |
| |
| LuxError | lux_gpu_commitment (LuxGPU *gpu, LuxFr256 *out, const LuxFr256 *values, const LuxFr256 *blindings, const LuxFr256 *salts, size_t n) |
| |
| LuxError | lux_gpu_nullifier (LuxGPU *gpu, LuxFr256 *out, const LuxFr256 *keys, const LuxFr256 *commitments, const LuxFr256 *indices, size_t n) |
| |
| LuxError | lux_gpu_mldsa_verify_batch (LuxGPU *gpu, const uint8_t *const *pubkeys, const uint8_t *const *messages, const uint8_t *const *signatures, bool *results, size_t count) |
| |
| LuxError | lux_gpu_mlkem_decapsulate_batch (LuxGPU *gpu, const uint8_t *const *secret_keys, const uint8_t *const *ciphertexts, uint8_t **shared_secrets, size_t count) |
| |
| LuxError | lux_gpu_slhdsa_verify_batch (LuxGPU *gpu, const uint8_t *const *pubkeys, const uint8_t *const *messages, const uint8_t *const *signatures, bool *results, size_t count) |
| |
| LuxError | lux_gpu_ringtail_partial_sign_batch (LuxGPU *gpu, const uint8_t *const *shares, const uint8_t *const *messages, uint8_t **partial_sigs, size_t count) |
| |
| LuxError | lux_gpu_ringtail_combine_batch (LuxGPU *gpu, const uint8_t *const *partial_sigs, const int32_t *lagrange_coeffs, uint8_t **combined_sigs, size_t threshold, size_t count) |
| |
| LuxError | lux_gpu_frost_partial_verify_batch (LuxGPU *gpu, const uint8_t *const *commitments, const uint8_t *const *signatures, const uint8_t *const *pubkeys, const uint8_t *const *challenges, bool *results, size_t count) |
| |
| LuxError | lux_gpu_cggmp21_partial_sign_batch (LuxGPU *gpu, const uint8_t *const *inputs, const uint8_t *r_x, uint8_t **partial_sigs, size_t count) |
| |
| LuxError | lux_gpu_ed25519_verify_batch (LuxGPU *gpu, const uint8_t *const *pubkeys, const uint8_t *const *messages, const uint8_t *const *signatures, bool *results, size_t count) |
| |
| LuxError | lux_gpu_sr25519_verify_batch (LuxGPU *gpu, const uint8_t *const *pubkeys, const uint8_t *const *messages, const uint8_t *const *signatures, bool *results, size_t count) |
| |
| LuxStream * | lux_stream_create (LuxGPU *gpu) |
| |
| void | lux_stream_destroy (LuxStream *stream) |
| |
| LuxError | lux_stream_sync (LuxStream *stream) |
| |
| LuxEvent * | lux_event_create (LuxGPU *gpu) |
| |
| void | lux_event_destroy (LuxEvent *event) |
| |
| LuxError | lux_event_record (LuxEvent *event, LuxStream *stream) |
| |
| LuxError | lux_event_wait (LuxEvent *event, LuxStream *stream) |
| |
| float | lux_event_elapsed (LuxEvent *start, LuxEvent *end) |
| |