Remove Ethash and Pearl backends; keep Equihash 192,7 only

Drop the non-Equihash algorithms and their integration points:
- delete src/ethash.rs + src/ethash/ and src/pearl.rs + src/pearl/
- remove the ethash/pearl/pearl-cuda features and pearl-only deps
  (blake3, primitive-types, rand, bincode, base64) from Cargo.toml
- drop the --algo flag and the pearl/ethash dispatch branches in main.rs
- remove the pearl-cuda NVRTC linking from build.rs
- drop the stale /pearl-dump/ .gitignore entry

Builds check cleanly with default features and --no-default-features.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
jackpotincorporated
2026-06-05 23:31:32 -04:00
parent e2fab622b5
commit 4dd54cb839
30 changed files with 7 additions and 107105 deletions
-15
View File
@@ -21,21 +21,6 @@ fn main() {
let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
link_cuda_driver(&target_os);
}
// Pearl GPU backend: link the CUDA driver + NVRTC (runtime kernel compiler).
// No build-time nvcc — the kernel is compiled at runtime via NVRTC.
if std::env::var("CARGO_FEATURE_PEARL_CUDA").is_ok() && std::env::var("CARGO_FEATURE_CUDA").is_err() {
let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
link_cuda_driver(&target_os);
}
if std::env::var("CARGO_FEATURE_PEARL_CUDA").is_ok() {
let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
if target_os == "windows" {
println!("cargo:rustc-link-lib=dylib=nvrtc");
} else {
println!("cargo:rustc-link-lib=dylib=nvrtc");
}
}
}
/// Link the CUDA driver library plus NVML. The backend loads the embedded miniZ