Compare commits
4 Commits
wu-blackwe
...
nvidia-sty
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f84a144a9 | ||
|
|
739edee677 | ||
|
|
9c9029fb9f | ||
|
|
02218b0142 |
@@ -25,6 +25,8 @@ class WithRadBootROM(address: BigInt = 0x10000, size: Int = 0x10000, hang: BigIn
|
|||||||
// aliases for virgo
|
// aliases for virgo
|
||||||
class VirgoConfig extends RadianceClusterConfig
|
class VirgoConfig extends RadianceClusterConfig
|
||||||
class VirgoFP16Config extends RadianceFP16ClusterConfig
|
class VirgoFP16Config extends RadianceFP16ClusterConfig
|
||||||
|
class VirgoVoltaConfig extends RadianceFP16ClusterConfig
|
||||||
|
class VirgoAmpereConfig extends RadianceFP16ClusterConfig
|
||||||
class VirgoHopperConfig extends Radiance4CFP16ClusterConfig
|
class VirgoHopperConfig extends Radiance4CFP16ClusterConfig
|
||||||
class VirgoBlackwellConfig extends RadianceBlackwellClusterConfig
|
class VirgoBlackwellConfig extends RadianceBlackwellClusterConfig
|
||||||
class VirgoFlashConfig extends RadianceClusterConfig
|
class VirgoFlashConfig extends RadianceClusterConfig
|
||||||
@@ -35,7 +37,7 @@ class VirgoHopperSynConfig extends Radiance4CFP16ClusterSynConfig
|
|||||||
class RadianceBaseConfig extends Config(
|
class RadianceBaseConfig extends Config(
|
||||||
// NOTE: when changing these, remember to change NUM_CORES/THREADS/WARPS in
|
// NOTE: when changing these, remember to change NUM_CORES/THREADS/WARPS in
|
||||||
// the verilog source as well!
|
// the verilog source as well!
|
||||||
new radiance.subsystem.WithSimtConfig(nWarps = 8, nCoreLanes = 8, nMemLanes = 8, nSrcIds = 32) ++
|
new radiance.subsystem.WithSimtConfig(nWarps = 4, nCoreLanes = 4, nMemLanes = 4, nSrcIds = 32) ++
|
||||||
new chipyard.config.WithSystemBusWidth(bitWidth = 256) ++
|
new chipyard.config.WithSystemBusWidth(bitWidth = 256) ++
|
||||||
new WithExtMemSize(BigInt("80000000", 16)) ++
|
new WithExtMemSize(BigInt("80000000", 16)) ++
|
||||||
new WithRadBootROM() ++
|
new WithRadBootROM() ++
|
||||||
@@ -56,8 +58,8 @@ class RadianceBaseConfig extends Config(
|
|||||||
|
|
||||||
class RadianceFP16ClusterConfig extends Config(
|
class RadianceFP16ClusterConfig extends Config(
|
||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
||||||
new radiance.subsystem.WithRadianceCores(8, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = false, useVxCache = false) ++
|
new radiance.subsystem.WithRadianceCores(1, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = false, useVxCache = false) ++
|
||||||
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 128 << 10, numBanks = 4, numWords = 16) ++
|
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10, numBanks = 4, numWords = 16) ++
|
||||||
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
||||||
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
||||||
new radiance.subsystem.WithRadianceCluster(0) ++
|
new radiance.subsystem.WithRadianceCluster(0) ++
|
||||||
@@ -66,7 +68,7 @@ class RadianceFP16ClusterConfig extends Config(
|
|||||||
class Radiance8B8WFP16ClusterConfig extends Config(
|
class Radiance8B8WFP16ClusterConfig extends Config(
|
||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
||||||
new radiance.subsystem.WithRadianceCores(8, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = false, useVxCache = false) ++
|
new radiance.subsystem.WithRadianceCores(8, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = false, useVxCache = false) ++
|
||||||
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 128 << 10, numBanks = 8, numWords = 8) ++
|
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10, numBanks = 8, numWords = 8) ++
|
||||||
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
||||||
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
||||||
new radiance.subsystem.WithRadianceCluster(0) ++
|
new radiance.subsystem.WithRadianceCluster(0) ++
|
||||||
@@ -74,13 +76,13 @@ class Radiance8B8WFP16ClusterConfig extends Config(
|
|||||||
|
|
||||||
class Radiance4CFP16ClusterConfig extends Config(
|
class Radiance4CFP16ClusterConfig extends Config(
|
||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
||||||
new radiance.subsystem.WithRadianceCores(4, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = true, useVxCache = false) ++
|
new radiance.subsystem.WithRadianceCores(1, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = true, useVxCache = false) ++
|
||||||
// new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 128 << 10, numBanks = 4, numWords = 16,
|
// new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10, numBanks = 4, numWords = 16,
|
||||||
// memType = radiance.subsystem.TwoReadOneWrite,
|
// memType = radiance.subsystem.TwoReadOneWrite,
|
||||||
// serializeUnaligned = radiance.subsystem.CoreSerialized) ++
|
// serializeUnaligned = radiance.subsystem.CoreSerialized) ++
|
||||||
// NOTE: Hopper Tensor Core does not work with 16-word config due to the
|
// NOTE: Hopper Tensor Core does not work with 16-word config due to the
|
||||||
// address alignment requirement
|
// address alignment requirement
|
||||||
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 128 << 10, numBanks = 4, numWords = 8) ++
|
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10, numBanks = 4, numWords = 8) ++
|
||||||
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
||||||
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
||||||
new radiance.subsystem.WithRadianceCluster(0) ++
|
new radiance.subsystem.WithRadianceCluster(0) ++
|
||||||
@@ -88,8 +90,8 @@ class Radiance4CFP16ClusterConfig extends Config(
|
|||||||
|
|
||||||
class RadianceBlackwellClusterConfig extends Config(
|
class RadianceBlackwellClusterConfig extends Config(
|
||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 4, 8), dataType = RadianceGemminiDataType.FP16) ++
|
||||||
new radiance.subsystem.WithRadianceCores(4, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = false, tensorCoreBlackwell = true, startupAddress = BigInt("80000000", 16), useVxCache = false) ++
|
new radiance.subsystem.WithRadianceCores(1, location = InCluster(0), tensorCoreFP16 = true, tensorCoreDecoupled = false, tensorCoreBlackwell = true, startupAddress = BigInt("80000000", 16), useVxCache = false) ++
|
||||||
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 128 << 10, numBanks = 4, numWords = 8) ++
|
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10, numBanks = 4, numWords = 8) ++
|
||||||
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
||||||
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
new radiance.subsystem.WithVortexL1Banks(nBanks = 8) ++
|
||||||
new radiance.subsystem.WithRadianceCluster(0) ++
|
new radiance.subsystem.WithRadianceCluster(0) ++
|
||||||
@@ -98,9 +100,9 @@ class RadianceBlackwellClusterConfig extends Config(
|
|||||||
class RadianceClusterConfig extends Config(
|
class RadianceClusterConfig extends Config(
|
||||||
// important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed
|
// important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed
|
||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, accSizeInKB = 16, tileSize = 8) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, accSizeInKB = 16, tileSize = 8) ++
|
||||||
new radiance.subsystem.WithRadianceCores(4, location = InCluster(0), tensorCoreFP16 = false, tensorCoreDecoupled = false, useVxCache = false) ++
|
new radiance.subsystem.WithRadianceCores(1, location = InCluster(0), tensorCoreFP16 = false, tensorCoreDecoupled = false, useVxCache = false) ++
|
||||||
// new radiance.subsystem.WithRadianceFrameBuffer(x"ff018000", 16, 0x8000, x"ff011000", "fb0") ++
|
// new radiance.subsystem.WithRadianceFrameBuffer(x"ff018000", 16, 0x8000, x"ff011000", "fb0") ++
|
||||||
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 256 << 10/*KBytes*/, numBanks = 8, numWords = 8,
|
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10/*KBytes*/, numBanks = 8, numWords = 8,
|
||||||
// memType = radiance.subsystem.TwoReadOneWrite,
|
// memType = radiance.subsystem.TwoReadOneWrite,
|
||||||
serializeUnaligned = radiance.subsystem.CoreSerialized) ++
|
serializeUnaligned = radiance.subsystem.CoreSerialized) ++
|
||||||
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
||||||
@@ -133,7 +135,7 @@ class RadianceBigLittleClusterConfig extends Config(
|
|||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 4, accSizeInKB = 16, tileSize = 16) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 4, accSizeInKB = 16, tileSize = 16) ++
|
||||||
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, accSizeInKB = 16, tileSize = 8) ++
|
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, accSizeInKB = 16, tileSize = 8) ++
|
||||||
new radiance.subsystem.WithRadianceCores(2, location = InCluster(0), useVxCache = false) ++
|
new radiance.subsystem.WithRadianceCores(2, location = InCluster(0), useVxCache = false) ++
|
||||||
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 64 << 10, numBanks = 4, numWords = 8) ++
|
new radiance.subsystem.WithRadianceSharedMem(address = x"ff000000", size = 32 << 10, numBanks = 4, numWords = 8) ++
|
||||||
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
|
||||||
new radiance.subsystem.WithVortexL1Banks(nBanks = 8)++
|
new radiance.subsystem.WithVortexL1Banks(nBanks = 8)++
|
||||||
new radiance.subsystem.WithRadianceCluster(0) ++
|
new radiance.subsystem.WithRadianceCluster(0) ++
|
||||||
|
|||||||
Submodule generators/radiance updated: 5112f3665a...2d6bf7dd45
Reference in New Issue
Block a user