mirror of
https://github.com/luxfi/precompile.git
synced 2026-09-24 00:26:21 +00:00
228fffb renamed luxprecompile-sys -> lux-precompile for lux-consensus naming
consistency, but that (a) broke every consumer importing luxprecompile_sys and
(b) collided with sdk-rs's idiomatic wrapper crate, which is ALSO lux-precompile
— cargo refuses two same-named packages in one graph. Keep the family consistent
AND the Rust FFI convention: the -sys crate is lux-precompile-sys, the wrapper
stays lux-precompile. Consumed as a local path dep from sdk-rs (no crates.io
publish required).
25 lines
865 B
Go
25 lines
865 B
Go
// Copyright (C) 2019-2026, Lux Industries, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
//go:build !cgo || !gpu
|
|
|
|
package fhe
|
|
|
|
// builtWithGPU reports whether this binary was compiled with the GPU NTT
|
|
// substrate available (`-tags gpu` + cgo).
|
|
const builtWithGPU = false
|
|
|
|
// armGPUNTT is the default build's no-op. Without `-tags gpu` (and cgo), the
|
|
// FHE precompile runs the pure-Go TFHE path end-to-end; there is no GPU
|
|
// dispatcher to arm. GPU NTT acceleration is opt-in at build time via
|
|
// `-tags gpu` with cgo enabled and the lux-lattice GPU library linked
|
|
// (pkg-config: lux-lattice). See gpu_ntt_on.go for the armed path.
|
|
func armGPUNTT() GPUNTTStatus {
|
|
return GPUNTTStatus{
|
|
Built: false,
|
|
Armed: false,
|
|
Backend: "CPU (pure Go)",
|
|
Reason: "built without -tags gpu (cgo): pure-Go TFHE NTT, no GPU dispatcher",
|
|
}
|
|
}
|