AI SEARCH
FLOW ALGEBRA — GPU ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-hardware/gpu-ontology.html
FLOW GPU_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Computer Hardware"
ONTOLOGY = "GPU Ontology"
PURPOSE = "Formalise graphics processing unit hardware, parallel execution resources, memory hierarchy, graphics and compute workloads, scheduling, power, thermal behaviour and performance relationships."
LOCALE = "en-GB"
}
ENTITY_TYPES {
GPU
GRAPHICS_PROCESSING_UNIT
INTEGRATED_GPU
DISCRETE_GPU
ACCELERATOR
GRAPHICS_CARD
COMPUTE_UNIT
STREAMING_MULTIPROCESSOR
SHADER_CORE
CUDA_CORE
VECTOR_UNIT
MATRIX_UNIT
TENSOR_CORE
RAY_TRACING_UNIT
TEXTURE_UNIT
RASTER_UNIT
RENDER_OUTPUT_UNIT
SCHEDULER
WARP
WAVEFRONT
THREAD
THREAD_GROUP
WORKGROUP
KERNEL
SHADER
VERTEX_SHADER
FRAGMENT_SHADER
COMPUTE_SHADER
INSTRUCTION
REGISTER
REGISTER_FILE
LOCAL_MEMORY
SHARED_MEMORY
CACHE
L1_CACHE
L2_CACHE
TEXTURE_CACHE
VRAM
VIDEO_MEMORY
GDDR_MEMORY
HBM
MEMORY_CONTROLLER
MEMORY_BUS
PCIE_INTERFACE
DISPLAY_INTERFACE
FRAMEBUFFER
TEXTURE
VERTEX
PIXEL
FRAME
COMMAND
COMMAND_QUEUE
WORKLOAD
GRAPHICS_WORKLOAD
COMPUTE_WORKLOAD
AI_WORKLOAD
PARALLEL_OPERATION
MEMORY_REQUEST
CLOCK
CLOCK_RATE
VOLTAGE
POWER
TEMPERATURE
THERMAL_LIMIT
THERMAL_THROTTLING
BANDWIDTH
LATENCY
THROUGHPUT
UTILISATION
OCCUPANCY
PERFORMANCE_METRIC
DRIVER
FIRMWARE
FIRMWARE_VERSION
CONFIGURATION
HARDWARE_REVISION
STATE
EVENT
ERROR
FAILURE
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
HAS_UNIT
HAS_CORE
HAS_SCHEDULER
HAS_REGISTER
HAS_CACHE
HAS_MEMORY
HAS_MEMORY_CONTROLLER
HAS_INTERFACE
EXECUTES
SCHEDULES
DISPATCHES
PROCESSES
RENDERS
SHADES
RASTERISES
TEXTURES
COMPUTES
LOADS
STORES
READS
WRITES
TRANSFERS
SYNCHRONISES_WITH
HAS_WORKLOAD
HAS_CLOCK_RATE
HAS_VOLTAGE
HAS_POWER
HAS_TEMPERATURE
HAS_THERMAL_LIMIT
HAS_BANDWIDTH
HAS_LATENCY
HAS_THROUGHPUT
HAS_UTILISATION
HAS_OCCUPANCY
HAS_DRIVER
HAS_FIRMWARE
HAS_FIRMWARE_VERSION
HAS_CONFIGURATION
HAS_HARDWARE_REVISION
HAS_STATE
TRANSITIONS_TO
FAILS_WITH
DEPENDS_ON
PRECEDES
FOLLOWS
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
MAPS_TO
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
GPU_SPECIFICATIONS
MANUFACTURER_DATA
MODEL_DATA
MICROARCHITECTURE_DATA
COMPUTE_UNIT_DATA
CORE_DATA
MEMORY_SPECIFICATIONS
MEMORY_BUS_DATA
CACHE_DATA
CLOCK_PARAMETERS
VOLTAGE_DATA
POWER_DATA
TEMPERATURE_DATA
GRAPHICS_WORKLOAD_DATA
COMPUTE_WORKLOAD_DATA
AI_WORKLOAD_DATA
EXECUTION_TRACES
PERFORMANCE_COUNTERS
DRIVER_DATA
FIRMWARE_DATA
CONFIGURATION_DATA
HARDWARE_REVISION_DATA
ERROR_LOGS
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_GPU_IDENTIFIERS
NORMALISE_MANUFACTURER_NAMES
NORMALISE_MODEL_NAMES
NORMALISE_MICROARCHITECTURE_NAMES
NORMALISE_EXECUTION_UNIT_NAMES
NORMALISE_MEMORY_TYPES
NORMALISE_CAPACITY_UNITS
NORMALISE_BANDWIDTH_UNITS
NORMALISE_CLOCK_UNITS
NORMALISE_VOLTAGE_UNITS
NORMALISE_POWER_UNITS
NORMALISE_TEMPERATURE_UNITS
NORMALISE_PERFORMANCE_METRICS
NORMALISE_DRIVER_VERSIONS
NORMALISE_FIRMWARE_VERSIONS
NORMALISE_HARDWARE_REVISIONS
RESOLVE_COMPONENT_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS GPU_REASONING_PIPELINE {
INPUT
-> GPU_IDENTIFICATION
-> EXECUTION_RESOURCE_MAPPING
-> MEMORY_HIERARCHY_MAPPING
-> WORKLOAD_CLASSIFICATION
-> PARALLEL_EXECUTION_MAPPING
-> POWER_AND_THERMAL_MAPPING
-> PERFORMANCE_CONTEXT
-> VALIDATION
-> OUTPUT
}
PROCESS PARALLEL_EXECUTION {
WORKLOAD
-> KERNEL_OR_SHADER_DECOMPOSITION
KERNEL_OR_SHADER_DECOMPOSITION
-> THREAD_GROUPS
THREAD_GROUPS
-> SCHEDULING
SCHEDULING
-> COMPUTE_UNIT_ASSIGNMENT
COMPUTE_UNIT_ASSIGNMENT
-> PARALLEL_EXECUTION
PARALLEL_EXECUTION
-> RESULT
}
PROCESS SIMT_SIMD_REASONING {
THREAD_GROUP
-> WARP_OR_WAVEFRONT
WARP_OR_WAVEFRONT
-> INSTRUCTION_ISSUE
INSTRUCTION_ISSUE
-> PARALLEL_LANE_EXECUTION
DIVERGENT_CONTROL_FLOW
-> EXECUTION_PATH_SERIALISATION_OR_MASKING
CONVERGED_CONTROL_FLOW
-> COHERENT_PARALLEL_EXECUTION
}
PROCESS GPU_MEMORY_REASONING {
MEMORY_REQUEST
-> REGISTER_OR_LOCAL_STORAGE_CHECK
-> SHARED_OR_LOCAL_MEMORY_CHECK
-> CACHE_LOOKUP
-> VRAM_ACCESS_IF_REQUIRED
VRAM_ACCESS
-> MEMORY_CONTROLLER
-> MEMORY_BUS
-> DATA_RETURN
}
PROCESS GRAPHICS_PIPELINE {
GEOMETRY_INPUT
-> VERTEX_PROCESSING
-> PRIMITIVE_PROCESSING
-> RASTERISATION
-> FRAGMENT_OR_PIXEL_PROCESSING
-> OUTPUT_MERGE
-> FRAMEBUFFER
}
PROCESS COMPUTE_WORKLOAD_REASONING {
COMPUTE_KERNEL
-> THREAD_GRID_OR_WORKGROUPS
THREAD_GRID_OR_WORKGROUPS
-> RESOURCE_REQUIREMENT_ANALYSIS
RESOURCE_REQUIREMENT_ANALYSIS
-> OCCUPANCY_AND_SCHEDULING
OCCUPANCY_AND_SCHEDULING
-> EXECUTION
EXECUTION
-> MEMORY_AND_SYNCHRONISATION_EVENTS
-> RESULT
}
PROCESS POWER_AND_THERMAL_REASONING {
GPU_ACTIVITY
-> POWER_CONSUMPTION
POWER_CONSUMPTION
-> HEAT_GENERATION
HEAT_GENERATION + COOLING_CAPABILITY
-> GPU_TEMPERATURE
GPU_TEMPERATURE
-> THERMAL_LIMIT_CHECK
THERMAL_LIMIT_APPROACHED_OR_EXCEEDED
-> CLOCK_OR_POWER_ADJUSTMENT
-> THERMAL_THROTTLING_IF_REQUIRED
}
PROCESS PERFORMANCE_REASONING {
GPU + WORKLOAD + CONFIGURATION
-> GPU_PROFILE
GPU_PROFILE
-> COMPUTE_UTILISATION
-> MEMORY_UTILISATION
-> OCCUPANCY
-> BANDWIDTH_USAGE
-> CACHE_BEHAVIOUR
-> DIVERGENCE
-> LATENCY
-> THROUGHPUT
-> POWER_AND_THERMAL_PROFILE
GPU_PROFILE
-> BOTTLENECK_HYPOTHESIS
}
RULES {
IF GPU_WORKLOAD_EXECUTES
THEN REQUIRE {
WORKLOAD_TYPE
EXECUTION_MODEL
MEMORY_CONTEXT
CONFIGURATION
}
IF THREADS_EXECUTE_IN_WARP_OR_WAVEFRONT
THEN PRESERVE GROUP_EXECUTION_CONTEXT
IF CONTROL_FLOW_DIVERGES
THEN DO_NOT_ASSUME_ALL_LANES_EXECUTE_SAME_PATH_CONCURRENTLY
IF GPU_HAS_HIGHER_CORE_COUNT
THEN DO_NOT_AUTOMATICALLY_INFER_PROPORTIONALLY_HIGHER_PERFORMANCE
IF MEMORY_BANDWIDTH_IS_HIGHER
THEN DO_NOT_AUTOMATICALLY_INFER_HIGHER_PERFORMANCE_FOR_COMPUTE_BOUND_WORKLOAD
IF THERMAL_LIMIT_IS_REACHED
THEN CHECK_CLOCK_POWER_AND_THROTTLING_STATE
IF PERFORMANCE_IS_COMPARED
THEN REQUIRE WORKLOAD_DRIVER_CONFIGURATION_POWER_AND_THERMAL_CONTEXT
IF SEMANTIC_IDENTIFIERS_DIFFER
AND GPU_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
GPU_SPECIFICATION_COMPLETENESS,
MODEL_IDENTIFICATION_CERTAINTY,
MICROARCHITECTURE_CERTAINTY,
MEMORY_CONFIGURATION_CERTAINTY,
DRIVER_AND_FIRMWARE_CERTAINTY,
EXECUTION_TRACE_COMPLETENESS,
PERFORMANCE_MEASUREMENT_QUALITY,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF MICROARCHITECTURE_OR_CONFIGURATION_IS_UNKNOWN
THEN REDUCE_INTERNAL_AND_PERFORMANCE_INFERENCE_CONFIDENCE
IF DRIVER_OR_FIRMWARE_VERSION_IS_UNKNOWN
THEN REDUCE_BEHAVIOURAL_REPRODUCIBILITY_CONFIDENCE
IF REPRODUCIBLE_WORKLOAD_TESTS_CONFIRM_BEHAVIOUR
THEN INCREASE CONFIDENCE_SCORE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
MANUFACTURER,
MODEL,
MICROARCHITECTURE,
MEMORY_CONFIGURATION,
HARDWARE_REVISION,
DRIVER_AND_FIRMWARE_CONTEXT
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
GPU != CPU
GPU_CORE_COUNT != DIRECTLY_COMPARABLE_ACROSS_ARCHITECTURES
SHADER_CORE != NECESSARILY_GENERAL_PURPOSE_CPU_CORE
WARP_OR_WAVEFRONT != OPERATING_SYSTEM_THREAD
PEAK_COMPUTE != OBSERVED_APPLICATION_PERFORMANCE
MEMORY_BANDWIDTH != COMPUTE_THROUGHPUT
OCCUPANCY != UTILISATION
HIGH_OCCUPANCY != GUARANTEED_HIGH_PERFORMANCE
GRAPHICS_PERFORMANCE != COMPUTE_PERFORMANCE
AI_PERFORMANCE != GENERAL_COMPUTE_PERFORMANCE
PERFORMANCE_IS_WORKLOAD_DEPENDENT
DRIVER_AND_SOFTWARE_STACK_AFFECT_OBSERVED_BEHAVIOUR
POWER_AND_THERMAL_LIMITS_AFFECT_SUSTAINED_PERFORMANCE
CONFIGURATION_AFFECTS_PERFORMANCE
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_GPU_IDENTIFIER
CHECK_MICROARCHITECTURE
CHECK_EXECUTION_RESOURCES
CHECK_THREAD_GROUP_MODEL
CHECK_MEMORY_HIERARCHY
CHECK_MEMORY_CONFIGURATION
CHECK_INTERFACE
CHECK_WORKLOAD_CONTEXT
CHECK_EXECUTION_TRACE
CHECK_PERFORMANCE_CONTEXT
CHECK_POWER_AND_THERMAL_CONTEXT
CHECK_DRIVER_VERSION
CHECK_FIRMWARE_VERSION
CHECK_HARDWARE_REVISION
CHECK_CONFIGURATION
CHECK_ERROR_RELATIONS
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_GPU_ENTITIES
EXECUTION_RESOURCE_RELATIONS
THREAD_GROUP_RELATIONS
WARP_OR_WAVEFRONT_RELATIONS
MEMORY_HIERARCHY_RELATIONS
GRAPHICS_PIPELINE_RELATIONS
COMPUTE_WORKLOAD_RELATIONS
AI_WORKLOAD_RELATIONS
GPU_STATE_TRANSITIONS
EXECUTION_TRACES
POWER_AND_THERMAL_RELATIONS
PERFORMANCE_PROFILES
BOTTLENECK_HYPOTHESES
FAILURE_HYPOTHESES
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON GPU_DRIVER_FIRMWARE_OR_CONFIGURATION_CHANGE {
NORMALISE
ENTITY_RESOLUTION
UPDATE_EXECUTION_RESOURCE_MODEL
UPDATE_MEMORY_HIERARCHY
UPDATE_DRIVER_AND_FIRMWARE_CONTEXT
UPDATE_POWER_AND_THERMAL_MODEL
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_EXECUTION_PERFORMANCE_OR_SENSOR_DATA {
LINK_EVIDENCE
UPDATE_EXECUTION_PROFILE
UPDATE_MEMORY_PROFILE
UPDATE_POWER_AND_THERMAL_PROFILE
REASSESS_PERFORMANCE_RELATIONS
REASSESS_BOTTLENECKS
UPDATE_CONFIDENCE
RECORD_PROVENANCE
}
ON ONTOLOGY_REVISION {
REMAP_TERMS
CHECK_SEMANTIC_EQUIVALENCE
IDENTIFY_DEPRECATED_TERMS
MIGRATE_RELATIONSHIPS
PRESERVE_PRIOR_VERSION_REFERENCES
}
}
FLOW_HASH {
HASH_INPUT =
CANONICALISE(
ENTITY_TYPES,
RELATIONSHIPS,
RULES,
CONFIDENCE,
SEMANTIC_EQUIVALENCE,
REASONING_CONSTRAINTS,
UPDATE_MODEL
)
FLOW_HASH = SHA256(HASH_INPUT)
}
AI_CONSUMPTION {
INDEX {
ONTOLOGY
ENTITY_TYPES
RELATIONSHIPS
RULES
OUTPUTS
}
RETRIEVE {
BY_GPU
BY_EXECUTION_UNIT
BY_THREAD_GROUP
BY_WARP_OR_WAVEFRONT
BY_MEMORY
BY_CACHE
BY_WORKLOAD
BY_SHADER
BY_KERNEL
BY_POWER
BY_TEMPERATURE
BY_PERFORMANCE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_GPU_EXECUTION
ANALYSE_PARALLEL_EXECUTION
ANALYSE_SIMT_OR_SIMD_BEHAVIOUR
TRACE_GPU_MEMORY_ACCESS
ANALYSE_GRAPHICS_PIPELINE
ANALYSE_COMPUTE_AND_AI_WORKLOADS
ANALYSE_POWER_AND_THERMAL_BEHAVIOUR
ANALYSE_PERFORMANCE
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_GPU_FROM_CPU
PRESERVE_GPU_ARCHITECTURE_AND_WORKLOAD_CONTEXT
DISTINGUISH_PEAK_FROM_OBSERVED_PERFORMANCE
DISTINGUISH_OCCUPANCY_FROM_UTILISATION
PRESERVE_MEMORY_DRIVER_FIRMWARE_POWER_AND_THERMAL_CONTEXT
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_GPU_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
GPU_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard