1module Coppelius.LaunchPolicy
2
3import Coppelius.SM86Capability
4import Hardware.Nvidia.SM86.Command.LaunchBatch
5import Model.Config
6import Model.Parameter
7import Model.Word32
8import Model.Word64
9import Std.Physical
10
11-- QMD and pushbuffer bytes continue to come exclusively from the
12-- Hardware.Nvidia.SM86.Command.* encoders. This
13-- record freezes the conservative batching and launch limits used by the
14-- compatibility artifact; it is not another encoder.
15family CoppeliusLaunchPolicy : Type 0
16constructor CoppeliusLaunchPolicyValue
17field unrestricted coppeliusLaunchProfileIdentity : Bytes
18field unrestricted coppeliusLaunchOrdering : (family LaunchOrdering)
19field unrestricted coppeliusLaunchQMDRecordBytes : ByteCount
20field unrestricted coppeliusLaunchQMDRecordCount : Nat
21field unrestricted coppeliusLaunchQMDCapacity : Nat
22field unrestricted coppeliusLaunchQMDReferenceCount : Nat
23field unrestricted coppeliusLaunchBatchCount : Nat
24field unrestricted coppeliusLaunchMaximumGridX : GridDimension
25field unrestricted coppeliusLaunchMaximumPushDwords : Nat
26field unrestricted coppeliusLaunchFreshTerminalGPFIFOCursor : Nat
27field unrestricted coppeliusLaunchDeviceTimestampRequired : Nat
28field unrestricted coppeliusLaunchAllowedHostFallbacks : Nat
29
30end-family
31
32def coppeliusSM86CompatQMDRecordBytes : ByteCount =
33 (stdByteCount 256)
34
35def coppeliusSM86CompatQMDRecordCount : Nat =
36 10_203
37
38def coppeliusSM86CompatQMDCapacity : Nat =
39 10_240
40
41def coppeliusSM86CompatQMDReferenceCount : Nat =
42 45_915
43
44def coppeliusSM86CompatLaunchBatchCount : Nat =
45 511
46
47def coppeliusSM86CompatMaximumPushDwords : Nat =
48 2_097_151
49
50def coppeliusSM86CompatFreshTerminalGPFIFOCursor : Nat =
51 511
52
53def coppeliusSM86CompatLaunchPolicy : (family CoppeliusLaunchPolicy) =
54 (record
55 CoppeliusLaunchPolicy
56 (coppeliusLaunchProfileIdentity = coppeliusSM86CompatProfileIdentity)
57 (coppeliusLaunchOrdering = (constructor LaunchOrdering LaunchWithIdleBarrier))
58 (coppeliusLaunchQMDRecordBytes = coppeliusSM86CompatQMDRecordBytes)
59 (coppeliusLaunchQMDRecordCount = coppeliusSM86CompatQMDRecordCount)
60 (coppeliusLaunchQMDCapacity = coppeliusSM86CompatQMDCapacity)
61 (coppeliusLaunchQMDReferenceCount = coppeliusSM86CompatQMDReferenceCount)
62 (coppeliusLaunchBatchCount = coppeliusSM86CompatLaunchBatchCount)
63 (coppeliusLaunchMaximumGridX = coppeliusSM86CompatMaximumGridX)
64 (coppeliusLaunchMaximumPushDwords = coppeliusSM86CompatMaximumPushDwords)
65 (coppeliusLaunchFreshTerminalGPFIFOCursor = coppeliusSM86CompatFreshTerminalGPFIFOCursor)
66 (coppeliusLaunchDeviceTimestampRequired = 1)
67 (coppeliusLaunchAllowedHostFallbacks = 0))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.