mgpusim

package module
v1.8.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2020 License: MIT Imports: 10 Imported by: 0

README

MGPUSIM

Slack

Go Report Card Test Coverage

MGPUSim is a GPU simulator that models AMD GCN3 ISA based GPUs.

Documentation

Overview

Package mgpusim and its subpackages provides a emulator and a detailed timing simulator for GCN3-based AMD GPUs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GPU

type GPU struct {
	CommandProcessor   *cp.CommandProcessor
	RDMAEngine         *rdma.Engine
	PMC                *pagemigrationcontroller.PageMigrationController
	Dispatchers        []akita.Component
	CUs                []akita.Component
	L1VCaches          []akita.Component
	L1ICaches          []akita.Component
	L1SCaches          []akita.Component
	L2Caches           []*writeback.Cache
	L2CacheFinder      cache.LowModuleFinder
	L2TLBs             []*tlb.TLB
	L1VTLBs            []*tlb.TLB
	L1STLBs            []*tlb.TLB
	L1ITLBs            []*tlb.TLB
	L1VROBs            []*rob.ReorderBuffer
	L1IROBs            []*rob.ReorderBuffer
	L1SROBs            []*rob.ReorderBuffer
	ReorderBuffers     []*rob.ReorderBuffer
	L1VAddrTranslator  []*addresstranslator.AddressTranslator
	L1IAddrTranslator  []*addresstranslator.AddressTranslator
	L1SAddrTranslator  []*addresstranslator.AddressTranslator
	MemoryControllers  []akita.Component
	Storage            *mem.Storage
	InternalConnection akita.Connection

	GPUID uint64
}

A GPU is a wrapper that holds all the subcomponent of a GPU.

func NewGPU

func NewGPU(name string) *GPU

NewGPU returns a newly created GPU

func (*GPU) ExternalPorts

func (g *GPU) ExternalPorts() []akita.Port

ExternalPorts returns external ports

Directories

Path Synopsis
Package benchmarks defines Benchmark interface.
Package benchmarks defines Benchmark interface.
amdappsdk/bitonicsort
Package bitonicsort implements the bitonicsort benchmark from AMDAPPSDK.
Package bitonicsort implements the bitonicsort benchmark from AMDAPPSDK.
amdappsdk/fastwalshtransform
Package fastwalshtransform implements the fastwalshtransform benchmark from AMDAPPSDK.
Package fastwalshtransform implements the fastwalshtransform benchmark from AMDAPPSDK.
amdappsdk/floydwarshall
Package floydwarshall implements the Floyd-Warshall benchmark from AMDAPPSDK.
Package floydwarshall implements the Floyd-Warshall benchmark from AMDAPPSDK.
amdappsdk/matrixmultiplication
Package matrixmultiplication implements the matrix multiplication benchmark from AMDAPPSDK.
Package matrixmultiplication implements the matrix multiplication benchmark from AMDAPPSDK.
amdappsdk/matrixtranspose
Package matrixtranspose implements the matrix transpose benchmark from AMDAPPSDK.
Package matrixtranspose implements the matrix transpose benchmark from AMDAPPSDK.
amdappsdk/nbody
Package nbody include the benchmark of NBody sample Derived from SDKSample base class
Package nbody include the benchmark of NBody sample Derived from SDKSample base class
amdappsdk/simpleconvolution
Package simpleconvolution implements the Simple Convolution benchmark from AMDAPPSDK.
Package simpleconvolution implements the Simple Convolution benchmark from AMDAPPSDK.
dnn/layers
Package layers provides implementations of DNN layers that run on MGPUSim.
Package layers provides implementations of DNN layers that run on MGPUSim.
dnn/maxpooling
Package maxpooling implements the maxpooling algorithm as a benchmark.
Package maxpooling implements the maxpooling algorithm as a benchmark.
dnn/mineva
Package mineva implements mineva network
Package mineva implements mineva network
dnn/relu
Package relu implements the relu algorithm as a benchmark.
Package relu implements the relu algorithm as a benchmark.
dnn/xor
Package xor implements a extremely simple network that can perform the xor operation.
Package xor implements a extremely simple network that can perform the xor operation.
heteromark/aes
Package aes implements the AES benchmark form Hetero-Mark.
Package aes implements the AES benchmark form Hetero-Mark.
heteromark/fir
Package fir implements the FIR benchmark form Hetero-Mark.
Package fir implements the FIR benchmark form Hetero-Mark.
heteromark/kmeans
Package kmeans implements the Kmeans benchmark form Hetero-Mark.
Package kmeans implements the Kmeans benchmark form Hetero-Mark.
heteromark/pagerank
Package pagerank implements the PageRank benchmark form Hetero-Mark.
Package pagerank implements the PageRank benchmark form Hetero-Mark.
matrix/csr
Package csr provides a csr matrix definition
Package csr provides a csr matrix definition
polybench/atax
Package atax implements the ATAX benchmark from Polybench.
Package atax implements the ATAX benchmark from Polybench.
polybench/bicg
Package bicg implements the bicg benchmark from Polybench.
Package bicg implements the bicg benchmark from Polybench.
rodinia/nw
Package nw defines the Needleman–Wunsch benchmark
Package nw defines the Needleman–Wunsch benchmark
shoc/bfs
Package bfs implements the bfs benchmark from the SHOC suite.
Package bfs implements the bfs benchmark from the SHOC suite.
shoc/fft
Package fft include the benchmark of Fourier
Package fft include the benchmark of Fourier
shoc/spmv
Package spmv include the benchmark of sparse matrix-vector matiplication.
Package spmv include the benchmark of sparse matrix-vector matiplication.
shoc/stencil2d
Package stencil2d implements the stencil2d benchmark from the SHOC suite.
Package stencil2d implements the stencil2d benchmark from the SHOC suite.
Package bitops defines commonly used bit operations
Package bitops defines commonly used bit operations
Package driver implements a GPU driver that interfaces the benchmarks with the simulator.
Package driver implements a GPU driver that interfaces the benchmarks with the simulator.
internal
Package internal provides support for the driver implementation.
Package internal provides support for the driver implementation.
Package emu emulates GCN3 instructions.
Package emu emulates GCN3 instructions.
Package gpubuilder provides default builders for commonly used GPUs.
Package gpubuilder provides default builders for commonly used GPUs.
Package insts provides the definition for GCN3 instructions.
Package insts provides the definition for GCN3 instructions.
Package kernels provides basic data definitions related to GPU kernels.
Package kernels provides basic data definitions related to GPU kernels.
Package pagemigrationcontroller provides an implementation of a PageMigrationController.
Package pagemigrationcontroller provides an implementation of a PageMigrationController.
Package platform provides default platform builders.
Package platform provides default platform builders.
Package protocol defines the common messages used in MGPUSim
Package protocol defines the common messages used in MGPUSim
Package rdma provides the implementation of an RDMA engine.
Package rdma provides the implementation of an RDMA engine.
samples
aes
bfs
fft
fir
runner
Package runner defines how default benchmark samples are executed.
Package runner defines how default benchmark samples are executed.
tests
deterministic/runner
Package runner provides the implementation of the deterministic runner.
Package runner provides the implementation of the deterministic runner.
timing
caches/l1v
Package l1v provides a GCN3 GPU L1 cache implementation.
Package l1v provides a GCN3 GPU L1 cache implementation.
caches/rob
Package rob implemented an reorder buffer for memory requests.
Package rob implemented an reorder buffer for memory requests.
cp
Package cp defines the Command Processor component of a GCN3 GPU
Package cp defines the Command Processor component of a GCN3 GPU
cp/internal/dispatching
Package dispatching defines how work-groups and wavefronts are dispatched to compute units.
Package dispatching defines how work-groups and wavefronts are dispatched to compute units.
cp/internal/resource
Package resource manages the Compute Unit resources
Package resource manages the Compute Unit resources
cu
Package cu provides an implementation of detailed Compute Unit modeling.
Package cu provides an implementation of detailed Compute Unit modeling.
wavefront
Package wavefront defines concepts related to a wavefront.
Package wavefront defines concepts related to a wavefront.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL