Skip to main content

Crate silicera

Crate silicera 

Source
Expand description

§Silicera

Experimental research library for hardware-native program specialization on modern AMD Zen microarchitectures.

Silicera treats the physical machine — topology, cache geometry, and measured behavior — as an input to specialization. It is not affiliated with, endorsed by, or certified by Advanced Micro Devices, Inc.

§This release

  • Discovery, tournaments, HNEP v2, runtime fallback for AMD Zen3 / Zen4 / Zen5
  • Compiler feedback export (SCF), host-ISA harness arms, alignment/placement research
  • Architecture compare scaffolding, profile lifecycle health, and opt-in fleet-share schema

§Non-goals

  • Kernel drivers, BIOS/firmware modification, or overclocking
  • LLM-in-the-loop optimization
  • Fabricated speedups or vendor partnership claims
  • Automatic cloud upload of profiles

§Crate map

CrateRole
siliceraDiscovery, measurement, HNEP, specialization (this crate)
silicera-runtimeProfile load + cheap dispatch (no lab dependency)
silicera-labMicrobenchmarks, tournaments, terminal lab UI
silicera-clisilicera binary

Re-exports§

pub use arch_compare::compare_architectures;
pub use arch_compare::compare_mock_zen4_zen5;
pub use arch_compare::parse_microarch_tag;
pub use arch_compare::side_from_info;
pub use arch_compare::ArchCompareReport;
pub use arch_compare::ArchSide;
pub use archive::entry_from_eval_json;
pub use archive::ArchiveEntry;
pub use archive::ResultsArchive;
pub use archive::ARCHIVE_FORMAT;
pub use archive::ARCHIVE_VERSION;
pub use brand::brand_json;
pub use brand::BrandInfo;
pub use brand::AFFILIATION_DISCLAIMER;
pub use brand::BRAND_LINE;
pub use brand::FUNDING_URL;
pub use brand::GITHUB_SPONSOR;
pub use brand::HOMEPAGE;
pub use brand::LICENSE;
pub use brand::LOGO_RELATIVE;
pub use brand::NAME;
pub use brand::PHASE;
pub use brand::RELEASE_LINE;
pub use brand::REPOSITORY;
pub use brand::TAGLINE;
pub use brand::THANKS_DEV;
pub use brand::VERSION;
pub use compare::compare_profiles;
pub use compare::compare_with_placeholder;
pub use compare::CompareReport;
pub use compare::DivergenceKind;
pub use compare::MachineBPlaceholder;
pub use compare::MeasurementEcho;
pub use compare::SanitizedSplitExport;
pub use compare::SplitVerdict;
pub use compare::StrategyVector;
pub use compare::SILICON_SPLIT_PROTOCOL;
pub use compare::SILICON_SPLIT_PROTOCOL_VERSION;
pub use counters::probe_counters;
pub use counters::CounterAvailability;
pub use counters::CounterProbe;
pub use error::Result;
pub use error::SiliceraError;
pub use feedback::CompilerFeedback;
pub use feedback::ScfSizeClass;
pub use feedback::ScfWorkload;
pub use feedback::SCF_FORMAT;
pub use feedback::SCF_VERSION;
pub use fingerprint::Fingerprint;
pub use fingerprint::FingerprintComponents;
pub use fleet::FleetShare;
pub use fleet::FleetWorkloadShare;
pub use fleet::FLEET_FORMAT;
pub use fleet::FLEET_VERSION;
pub use hardware::detect_hardware;
pub use hardware::EnvironmentSnapshot;
pub use hardware::HardwareBackend;
pub use hardware::HardwareInfo;
pub use hardware::MockHardware;
pub use hardware::SupportStatus;
pub use hnep::Confidence;
pub use hnep::HnepHeader;
pub use hnep::HnepProfile;
pub use hnep::IntegrityDigest;
pub use hnep::SizeClassEntry;
pub use hnep::WorkloadEntry;
pub use hnep::HNEP_FORMAT;
pub use hnep::HNEP_VERSION;
pub use hnep::HNEP_VERSION_MAX_SUPPORTED;
pub use hnep::HNEP_VERSION_MIN_SUPPORTED;
pub use knowledge::ArchitecturePack;
pub use knowledge::KnowledgePack;
pub use knowledge::Microarch;
pub use lifecycle::assess_profile_staleness;
pub use lifecycle::plan_profile_retrain;
pub use lifecycle::HealthGrade;
pub use lifecycle::ProfileHealth;
pub use measure::MeasurementConfig;
pub use measure::MeasurementEngine;
pub use measure::MeasurementSummary;
pub use measure::Stability;
pub use remarks::Remark;
pub use remarks::RemarkArg;
pub use remarks::RemarksBundle;
pub use remarks::REMARKS_FORMAT;
pub use remarks::REMARKS_VERSION;
pub use repro::ReproPack;
pub use repro::REPRO_FORMAT;
pub use repro::REPRO_VERSION;
pub use retrain::parse_only_filter;
pub use retrain::plan_partial_retrain;
pub use retrain::target_dependencies;
pub use retrain::target_matches_filter;
pub use retrain::PartialRetrainPlan;
pub use retrain::RetrainDep;
pub use retrain::TargetDeps;
pub use specialize::DecisionTree;
pub use specialize::SpecializeConfig;
pub use specialize::SpecializeResult;
pub use staleness::assess_staleness;
pub use staleness::DriftSeverity;
pub use staleness::DriftSignal;
pub use staleness::RetrainRecommendation;
pub use staleness::StalenessPolicy;
pub use staleness::StalenessReport;
pub use topology::CacheLevel;
pub use topology::CacheNode;
pub use topology::ComputeDomain;
pub use topology::CoreNode;
pub use topology::Package;
pub use topology::ThreadNode;
pub use topology::TopologyGraph;
pub use tournament::Tournament;
pub use tournament::TournamentConfig;
pub use tournament::TournamentResult;
pub use tournament::RoundOutcome;
pub use variant::CorrectnessCheck;
pub use variant::Variant;
pub use variant::VariantId;
pub use variant::VariantSet;
pub use variant::VariantSetMeta;

Modules§

arch_compare
Architecture-level comparison scaffolding (e.g. Zen4 vs Zen5).
archive
Curated results archive entries (sanitized, measured-only).
brand
Project brand constants — single source of truth for CLI, lab, runtime, and tooling.
compare
Cross-profile comparison for Silicon Split and HNEP side-by-side analysis.
counters
Optional hardware-counter backend.
error
Error types for Silicera operations.
feedback
Silicera Compiler Feedback (SCF) — experimental bridge from HNEP to tools.
fingerprint
Machine fingerprinting.
fleet
Opt-in anonymous fleet-learning schema (no network by default).
hardware
Hardware discovery backends.
hnep
HNEP — Hardware-Native Execution Profile.
knowledge
AMD architecture knowledge packs.
lifecycle
Profile lifecycle: integrity, confidence, staleness, and retrain assessment.
macros
Lightweight declarative variant helpers (macro experiment).
measure
Measurement engine with statistical summaries and instability flags.
remarks
LLVM-style YAML remarks derived from SCF / HNEP (experimental).
repro
Experiment reproducibility pack — export enough metadata to re-run later.
retrain
Partial retrain dependency tracking.
specialize
Size-dependent specialization and decision-tree dispatch.
staleness
Profile staleness detection and retrain recommendations.
topology
Hardware topology graph: Package → Compute Domain → Core → Thread + Shared Cache.
tournament
Tournament pipeline: measure variants, gate on correctness, reject regressions.
tpm
Optional experimental TPM binding for hardware-bound profile signatures.
variant
Variant trait and correctness validation.

Macros§

specialize_target
Declare a named specialization target and its baseline id for docs/codegen hints.