Source/Systems

Coppelius.Build.RTX3090

systems/coppelius/src/Coppelius/Build/RTX3090.alpha

119 lines19 declarations5.0 KiBSHA-256 7c1ab814f79b

Complete file · line 82

RTX3090.alpha

Definition view
1module Coppelius.Build.RTX3090
2
3import Accelerator.SM86.Capability
4import Coppelius.Build.SM86Compat
5import Coppelius.Learner
6import Coppelius.SM86Capability
7import Coppelius.TrainingRun
8import Model.Parameter
9import Model.Word64
10import Platform.RunPod.Nvidia.SM86
11import Representation.BuildRequest
12import Representation.BuildPlan
13import Std.Natural
14import Std.Physical
15import Std.Word
16import Coppelius.Build.NativeHost
17import Platform.Linux.Nvidia.Compatibility
18
19-- R6 keeps the conservative qualified SM86 schedule.  This binding changes
20-- target identity and exact product guard, not model geometry or tuning.
21family CoppeliusRTX3090Binding : Type 0
22constructor CoppeliusRTX3090BindingValue
23field unrestricted coppeliusRTX3090SemanticBinding : (family CoppeliusSM86BuildBinding)
24field unrestricted coppeliusRTX3090TargetProfile : (family RunPodSM86TargetProfile)
25field unrestricted coppeliusRTX3090ObservedCapabilities : (family SM86DeviceCapabilities)
26field unrestricted coppeliusRTX3090Admission : (family SM86CapabilityAdmission)
27field unrestricted coppeliusRTX3090Plan : (family SystemTargetBuildPlan)
28
29end-family
30
31def coppeliusRTX3090TargetIdentity : Bytes =
32  runPodRTX3090TargetIdentity
33
34def coppeliusRTX3090QualificationIdentity : Bytes =
35  b"coppelius-rtx3090-target-profile-v1"
36
37def coppeliusRTX3090TotalVideoMemory : StdU64 =
38  (runPodSM86TotalVideoMemory runPodRTX3090TargetProfile)
39
40def coppeliusRTX3090Capabilities : (family SM86DeviceCapabilities) =
41  (record
42    SM86DeviceCapabilities
43    (sm86CapabilityComputeMajor = 8)
44    (sm86CapabilityComputeMinor = 6)
45    (sm86CapabilityTotalVideoMemoryBytes = coppeliusRTX3090TotalVideoMemory)
46    (sm86CapabilityAvailableVideoMemoryBytes
47      =
48      (stdByteCountValue coppeliusSM86CompatMinimumVideoMemory))
49    (sm86CapabilityMappedAddressEnd = (stdDeviceAddressValue coppeliusSM86CompatMappedAddressEnd))
50    (sm86CapabilityMaximumGridX
51      =
52      (stdU32ToNatural (stdGridDimensionValue coppeliusSM86CompatMaximumGridX)))
53    (sm86CapabilityUVMSupported = 1)
54    (sm86CapabilityResourceManagerSupported = 1)
55    (sm86CapabilityQMDSupported = 1)
56    (sm86CapabilityPushbufferSupported = 1)
57    (sm86CapabilityGPFIFOSupported = 1)
58    (sm86CapabilityDeviceTimestampsSupported = 1)
59    (sm86CapabilityHostFallbacks = 0))
60
61def coppeliusRTX3090CapabilityAdmission : (family SM86CapabilityAdmission) =
62  (coppeliusSM86CompatAdmit coppeliusRTX3090Capabilities)
63
64def coppeliusRTX3090CapabilityAccepted : Nat =
65  (sm86CapabilityAdmissionAccepted coppeliusRTX3090CapabilityAdmission)
66
67-- the compatibility contract: what the artifact demands of the card
68-- against what the RTX 3090 profile supplies (Platform.Linux.Nvidia.
69-- Compatibility); the first demand not met, by name (empty = admitted)
70def coppeliusRTX3090CompatibilityRefusal : Bytes =
71  (nvidiaCompatibilityRefusal (coppeliusCompatDemands runPodSM86QMDArchitecture) runPodRTX3090Supplies)
72
73def coppeliusRTX3090ExactTargetAccepted : Nat =
74  (naturalAnd (naturalIsZero (bytes-length coppeliusRTX3090CompatibilityRefusal))
75  (naturalAnd
76    (runPodSM86TargetMatches
77      runPodRTX3090TargetProfile
78      runPodRTX3090ProductIdentity
79      coppeliusRTX3090Capabilities)
80    coppeliusRTX3090CapabilityAccepted))
81
82def coppeliusRTX3090BuildPlanEntries =
83  (coppeliusSM86BuildPlanEntries
84    coppeliusRTX3090TargetIdentity
85    coppeliusRTX3090QualificationIdentity
86    b"coppelius-rtx3090-sm86.elf"
87    b"systems/coppelius/evidence/rtx3090-sm86-compat-20260917/README.md"
88    b"r6-qualification-pending")
89
90def coppeliusRTX3090BuildPlan : (family SystemTargetBuildPlan) =
91  (record
92    SystemTargetBuildPlan
93    (systemTargetBuildPlanIdentity = b"coppelius-rtx3090-build-plan-v1")
94    (systemTargetBuildPlanCapabilityAccepted = coppeliusRTX3090ExactTargetAccepted)
95    (systemTargetBuildPlanEntries = coppeliusRTX3090BuildPlanEntries))
96
97def coppeliusRTX3090BuildRequest : (family SystemTargetBuildRequest) =
98  (record
99    SystemTargetBuildRequest
100    (buildRequestSystemIdentity = b"coppelius")
101    (buildRequestLearnerIdentity = coppeliusLearnerIdentity)
102    (buildRequestTargetIdentity = coppeliusRTX3090TargetIdentity)
103    (buildRequestAdmissionAccepted = coppeliusRTX3090ExactTargetAccepted)
104    (buildRequestScheduleIdentity = b"sm86-qmd-pushbuffer-gpfifo-v1")
105    (buildRequestMemoryIdentity = b"coppelius-sm86-static-arena-1280-mib")
106    (buildRequestProtocolIdentity = b"alpha-text-artifact-request-v1")
107    (buildRequestCheckpointIdentity = coppeliusRawCheckpointSchemaIdentity)
108    (buildRequestOutputFilename = b"coppelius-rtx3090-sm86.elf")
109    (buildRequestArtifactRoot = b"systems/coppelius/src/Coppelius/Build/RTX3090Artifact.alpha")
110    (buildRequestArtifactExpression = b"artifact"))
111
112def coppeliusRTX3090Binding : (family CoppeliusRTX3090Binding) =
113  (record
114    CoppeliusRTX3090Binding
115    (coppeliusRTX3090SemanticBinding = coppeliusSM86BuildBinding)
116    (coppeliusRTX3090TargetProfile = runPodRTX3090TargetProfile)
117    (coppeliusRTX3090ObservedCapabilities = coppeliusRTX3090Capabilities)
118    (coppeliusRTX3090Admission = coppeliusRTX3090CapabilityAdmission)
119    (coppeliusRTX3090Plan = coppeliusRTX3090BuildPlan))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.