Source/Systems

Bob.Build.RTX3090

systems/bob/src/Bob/Build/RTX3090.alpha

82 lines8 declarations3.3 KiBSHA-256 a7dfb12dcc37

Complete file · line 45

RTX3090.alpha

Definition view
1module Bob.Build.RTX3090
2
3import Accelerator.SM86.Capability
4import Bob.Build.SM86
5import Model.Parameter
6import Model.Word64
7import Platform.RunPod.Nvidia.SM86
8import Representation.BuildRequest
9import Representation.BuildPlan
10import Std.Natural
11import Std.Physical
12import Std.Word
13import Bob.Build.NativeHost
14import Platform.Linux.Nvidia.Compatibility
15
16def bobRTX3090TargetIdentity : Bytes =
17  runPodRTX3090TargetIdentity
18
19def bobRTX3090QualificationIdentity : Bytes =
20  b"bob-rtx3090-target-profile-v1"
21
22def bobRTX3090Capabilities : (family SM86DeviceCapabilities) =
23  (record
24    SM86DeviceCapabilities
25    (sm86CapabilityComputeMajor = 8)
26    (sm86CapabilityComputeMinor = 6)
27    (sm86CapabilityTotalVideoMemoryBytes = (runPodSM86TotalVideoMemory runPodRTX3090TargetProfile))
28    (sm86CapabilityAvailableVideoMemoryBytes = (stdByteCountValue bobSM86MinimumVideoMemory))
29    (sm86CapabilityMappedAddressEnd = (stdDeviceAddressValue bobSM86MappedAddressEnd))
30    (sm86CapabilityMaximumGridX = (stdU32ToNatural (stdGridDimensionValue bobSM86MaximumGridX)))
31    (sm86CapabilityUVMSupported = 1)
32    (sm86CapabilityResourceManagerSupported = 1)
33    (sm86CapabilityQMDSupported = 1)
34    (sm86CapabilityPushbufferSupported = 1)
35    (sm86CapabilityGPFIFOSupported = 1)
36    (sm86CapabilityDeviceTimestampsSupported = 1)
37    (sm86CapabilityHostFallbacks = 0))
38
39def bobRTX3090CapabilityAccepted : Nat =
40  (sm86CapabilityAdmissionAccepted (bobSM86Admit bobRTX3090Capabilities))
41
42-- the compatibility contract: what the artifact demands of the card
43-- against what the RTX 3090 profile supplies (Platform.Linux.Nvidia.
44-- Compatibility); the first demand not met, by name (empty = admitted)
45def bobRTX3090CompatibilityRefusal : Bytes =
46  (nvidiaCompatibilityRefusal (bobCompatDemands runPodSM86QMDArchitecture) runPodRTX3090Supplies)
47
48def bobRTX3090ExactTargetAccepted : Nat =
49  (naturalAnd (naturalIsZero (bytes-length bobRTX3090CompatibilityRefusal))
50  (naturalAnd
51    (runPodSM86TargetMatches
52      runPodRTX3090TargetProfile
53      runPodRTX3090ProductIdentity
54      bobRTX3090Capabilities)
55    bobRTX3090CapabilityAccepted))
56
57def bobRTX3090BuildPlan : (family SystemTargetBuildPlan) =
58  (record
59    SystemTargetBuildPlan
60    (systemTargetBuildPlanIdentity = b"bob-rtx3090-build-plan-v1")
61    (systemTargetBuildPlanCapabilityAccepted = bobRTX3090ExactTargetAccepted)
62    (systemTargetBuildPlanEntries
63      =
64      (bobSM86BuildPlanEntries
65        bobRTX3090TargetIdentity
66        bobRTX3090QualificationIdentity
67        b"bob-rtx3090-sm86.elf")))
68
69def bobRTX3090BuildRequest : (family SystemTargetBuildRequest) =
70  (record
71    SystemTargetBuildRequest
72    (buildRequestSystemIdentity = b"bob")
73    (buildRequestLearnerIdentity = b"adamw")
74    (buildRequestTargetIdentity = bobRTX3090TargetIdentity)
75    (buildRequestAdmissionAccepted = bobRTX3090ExactTargetAccepted)
76    (buildRequestScheduleIdentity = b"row-gather-ece256-adamw-greedy")
77    (buildRequestMemoryIdentity = b"bob-sm86-static-arena-16-mib")
78    (buildRequestProtocolIdentity = b"alpha-text-artifact-request-v1")
79    (buildRequestCheckpointIdentity = b"bob-raw-pmv-f32-v1")
80    (buildRequestOutputFilename = b"bob-rtx3090-sm86.elf")
81    (buildRequestArtifactRoot = b"systems/bob/src/Bob/Build/RTX3090Artifact.alpha")
82    (buildRequestArtifactExpression = b"artifact"))

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.