Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
probe_result.hpp File Reference
#include <array>
#include <cstdint>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::tooling::gpu_probe::AdapterIdentity
 Native adapter identity. Missing optionals represent absent evidence. More...
struct  pulp::tooling::gpu_probe::Dimensions
 Recipe dimensions in pixels and unitless dispatched work items. More...
struct  pulp::tooling::gpu_probe::Tolerance
 Absolute and relative error limits in the recipe's numeric sample units. More...
struct  pulp::tooling::gpu_probe::RecipeBounds
 Per-recipe caps for owned samples and artifact bytes. More...
struct  pulp::tooling::gpu_probe::RecipeDefinition
 Borrowed process-lifetime definition of one deterministic recipe. More...
struct  pulp::tooling::gpu_probe::PassResult
 One ordered semantic oracle result. More...
struct  pulp::tooling::gpu_probe::Artifact
 Bounded artifact descriptor; payload bytes are owned by ArtifactPayload. More...
struct  pulp::tooling::gpu_probe::ProbeResult
 Closed v1 metadata and verdict for one recipe execution. More...

Namespaces

namespace  pulp::tooling::gpu_probe
 Bounded recipe definitions, owned evidence, and native GPU probe runs.
namespace  pulp
namespace  pulp::tooling

Enumerations

enum class  pulp::tooling::gpu_probe::Verdict { pulp::tooling::gpu_probe::pass , pulp::tooling::gpu_probe::fail , pulp::tooling::gpu_probe::unavailable , pulp::tooling::gpu_probe::unverified }
 Four-state recipe outcome that never folds missing evidence into success. More...
enum class  pulp::tooling::gpu_probe::AdapterPolicy { pulp::tooling::gpu_probe::hardware_required , pulp::tooling::gpu_probe::hardware_preferred , pulp::tooling::gpu_probe::any_supported }
 Minimum adapter class accepted by a recipe definition. More...
enum class  pulp::tooling::gpu_probe::AdapterClass { pulp::tooling::gpu_probe::hardware , pulp::tooling::gpu_probe::software , pulp::tooling::gpu_probe::null_adapter , pulp::tooling::gpu_probe::unknown }
 Adapter class proven by native identity, never inferred from backend alone. More...
enum class  pulp::tooling::gpu_probe::IdentityStatus { pulp::tooling::gpu_probe::authentic , pulp::tooling::gpu_probe::unverified , pulp::tooling::gpu_probe::unavailable }
 Authenticity state for the optional native adapter identity fields. More...
enum class  pulp::tooling::gpu_probe::ArtifactKind { pulp::tooling::gpu_probe::json , pulp::tooling::gpu_probe::image , pulp::tooling::gpu_probe::numeric_samples , pulp::tooling::gpu_probe::trace }
 Machine-readable content kind for a declared artifact. More...

Functions

std::string_view pulp::tooling::gpu_probe::to_string (Verdict value)
 Return the canonical lowercase schema spelling from static storage.
std::string_view pulp::tooling::gpu_probe::to_string (AdapterPolicy value)
std::string_view pulp::tooling::gpu_probe::to_string (AdapterClass value)
std::string_view pulp::tooling::gpu_probe::to_string (IdentityStatus value)
std::string_view pulp::tooling::gpu_probe::to_string (ArtifactKind value)
const RecipeDefinition * pulp::tooling::gpu_probe::find_recipe (std::string_view id)
 Find a borrowed process-lifetime definition, or return null for an unknown ID.
bool pulp::tooling::gpu_probe::is_recipe_callable (std::string_view id)
 Return whether this build can execute the named registered recipe.
std::span< const RecipeDefinition > pulp::tooling::gpu_probe::recipes ()
 Return a borrowed span over the immutable process-lifetime recipe registry.
std::string_view pulp::tooling::gpu_probe::recipe_catalog_json ()
 Return the configure-time embedded canonical catalog bytes.
std::optional< std::string > pulp::tooling::gpu_probe::recipe_discovery_json (std::optional< std::string_view > recipe_id=std::nullopt, std::optional< std::string_view > symptom=std::nullopt)
 Project the canonical catalog as a discovery envelope for an optional filter.
bool pulp::tooling::gpu_probe::validate (const ProbeResult &result, std::string *error=nullptr)
 Validate bounds, recipe identity, ordered pass aggregation, and artifacts.
std::string pulp::tooling::gpu_probe::to_json (const ProbeResult &result, bool pretty=false)
 Serialize without implicitly validating the result.
std::optional< ProbeResult > pulp::tooling::gpu_probe::from_json (std::string_view json, std::string *error=nullptr)
 Parse the exact closed v1 shape and validate it before returning a value.
std::string pulp::tooling::gpu_probe::render_human (const ProbeResult &result)
 Render an owning human-readable report; machine consumers use to_json().
int pulp::tooling::gpu_probe::exit_code (const ProbeResult &result)
 Map pass to 0, fail to 1, and unavailable or unverified to 2.

Variables

constexpr std::string_view pulp::tooling::gpu_probe::kSchema = "pulp.gpu-probe-result.v1"
 Closed JSON schema identity for ProbeResult.
constexpr std::uint32_t pulp::tooling::gpu_probe::kVersion = 1
 Schema version serialized in ProbeResult::version.
constexpr std::uint32_t pulp::tooling::gpu_probe::kMaxDimension = 4096
 Maximum width or height in pixels for a registered recipe.
constexpr std::uint64_t pulp::tooling::gpu_probe::kMaxWorkItems = 1'048'576
 Maximum unitless work-item count for a registered recipe.
constexpr std::uint32_t pulp::tooling::gpu_probe::kMaxNumericSamples = 4096
 Maximum number of numeric samples retained in one result.
constexpr std::uint32_t pulp::tooling::gpu_probe::kMaxArtifacts = 16
 Maximum number of artifacts retained in one result.
constexpr std::uint64_t pulp::tooling::gpu_probe::kMaxArtifactBytes = 16 * 1024 * 1024
 Maximum declared size in bytes for one artifact.
constexpr std::uint64_t pulp::tooling::gpu_probe::kMaxTotalArtifactBytes = 64 * 1024 * 1024
 Maximum combined declared artifact size in bytes for one result.
constexpr std::array pulp::tooling::gpu_probe::kRecipeIds