Source/Systems

Coppelius.LaunchPolicy

systems/coppelius/src/Coppelius/LaunchPolicy.alpha

67 lines22 declarations2.6 KiBSHA-256 b284cfb2a082

Complete file · line 32

LaunchPolicy.alpha

Definition view
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.