akita

module
v4.0.0-...-c5efee1 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2024 License: MIT

README

Akita

GitHub Discussions

Go Reference Go Report Card Akita Test

Akita is a computer architecture simulation engine. Like a game engine, a simulator engine is not a simulator, but rather a framework for building simulators. Akita is designed to be modular and extensible, allowing for easy experimentation with new computer architecture design ideas.

Sub-Projects

Akita

The simulator engine itself is located under the packages including:

  • github.com/sarchlab/akita/sim
  • github.com/sarchlab/akita/pipelining
  • gitlab.com/sarchlab/akita/analysis
AkitaRTM

AkitaRTM stands for Real-Time Monitoring (RTM) tool for Akita. It is a web-based tool that can be used to monitor the execution of a simulator developed with Akita. It is located under the github.com/sarchlab/akita/monitoring package.

Daisen

Daisen is the visualization tool for Akita. It is located under the github.com/sarchlab/akita/daisen package. For a brief introduction to Daisen, please refer to the github.com/sarchlab/akita/daisen directory.

First-Party Components

Akita provides several generic first-party components that can be used to build simulators, located under the github.com/sarchlab/akita/mem and github.com/sarchlab/akita/noc packages. As the name suggests, the mem package contains memory components (e.g., caches, TLB, DRAM controller), while the noc package contains network-on-chip components (e.g., switches).

Directories

Path Synopsis
Package analysis provides a set of functions to analyze the bottleneck of the system under simulation.
Package analysis provides a set of functions to analyze the bottleneck of the system under simulation.
static
Package static includes the static web pages for Daisen.
Package static includes the static web pages for Daisen.
mem
Package mem and its subpackages provide definitions for memoy systems.
Package mem and its subpackages provide definitions for memoy systems.
acceptancetests
Package acceptancetests provides utility data structure definitions for writing memory system acceptance tests.
Package acceptancetests provides utility data structure definitions for writing memory system acceptance tests.
cache
Package cache provides the basic commonly used utility data structures for cache implementation.
Package cache provides the basic commonly used utility data structures for cache implementation.
cache/writearound
Package writearound provides a GCN3 GPU L1 cache implementation.
Package writearound provides a GCN3 GPU L1 cache implementation.
cache/writeback
Package writeback implements a writeback cache.
Package writeback implements a writeback cache.
cache/writeevict
Package writeevict provides a RDNA GPU L1 cache implementation.
Package writeevict provides a RDNA GPU L1 cache implementation.
cache/writethrough
Package writethrough provides a GCN3 GPU L1 cache implementation.
Package writethrough provides a GCN3 GPU L1 cache implementation.
dram
Package dram defines detailed DRAM modeling.
Package dram defines detailed DRAM modeling.
dram/internal/addressmapping
Package addressmapping defines how to maps an address to a localtion.
Package addressmapping defines how to maps an address to a localtion.
dram/internal/cmdq
Package cmdq provides command queue implementations
Package cmdq provides command queue implementations
dram/internal/org
Package org defines the DRAM organization related sub-component definitions, such as Channels and Banks.
Package org defines the DRAM organization related sub-component definitions, such as Channels and Banks.
dram/internal/signal
Package signal defines the common data structures used in the dram system, including transactions, sub-transactions, and commands.
Package signal defines the common data structures used in the dram system, including transactions, sub-transactions, and commands.
dram/internal/trans
Package trans defines concepts related to DRAM transactions and subtransactions.
Package trans defines concepts related to DRAM transactions and subtransactions.
idealmemcontroller
Package idealmemcontroller provides an implementation of an ideal memory controller, which has a fix latency and unlimited concurrency.
Package idealmemcontroller provides an implementation of an ideal memory controller, which has a fix latency and unlimited concurrency.
trace
Package trace provides a tracer that can trace memory system tasks.
Package trace provides a tracer that can trace memory system tasks.
vm
Package vm provides the models for address translations
Package vm provides the models for address translations
vm/addresstranslator
Package addresstranslator implements a component that can forward the translated read and write request to the bottom memory unit.
Package addresstranslator implements a component that can forward the translated read and write request to the bottom memory unit.
vm/mmu
Package mmu provides a Memory Management Unit implementation.
Package mmu provides a Memory Management Unit implementation.
vm/tlb
Package tlb provides a TLB component implementation.
Package tlb provides a TLB component implementation.
vm/tlb/internal
Package internal provides the definition required for defining TLB.
Package internal provides the definition required for defining TLB.
Package monitoring provides a solution that allows monitoring simulation externally.
Package monitoring provides a solution that allows monitoring simulation externally.
web
Package web includes the static web pages for the monitoring tool.
Package web includes the static web pages for the monitoring tool.
noc
acceptance
Package acceptance provides infrascturctures for acceptance testing networks implementations.
Package acceptance provides infrascturctures for acceptance testing networks implementations.
messaging
Package messaging and its subpackages provides infrastructures to simulate interconnects.
Package messaging and its subpackages provides infrastructures to simulate interconnects.
networking/arbitration
Package arbitration provides implementations for different arbitation algorithms.
Package arbitration provides implementations for different arbitation algorithms.
networking/mesh
Package mesh provides a connector implementation for the mesh.
Package mesh provides a connector implementation for the mesh.
networking/networkconnector
Package networkconnector defines a connector that is flexible to build any network topologies.
Package networkconnector defines a connector that is flexible to build any network topologies.
networking/noctracing
Package noctracing provides a speficied tracer implementation for the mesh.
Package noctracing provides a speficied tracer implementation for the mesh.
networking/nvlink
Package nvlink provides a connector that can create a network that includes PCIe, NVLink, and ethernet network.
Package nvlink provides a connector that can create a network that includes PCIe, NVLink, and ethernet network.
networking/pcie
Package pcie provides a Connector and establishes a PCIe connection.
Package pcie provides a Connector and establishes a PCIe connection.
networking/routing
Package routing provides implementations for routing table and routing algorithms.
Package routing provides implementations for routing table and routing algorithms.
networking/switching
Package switching provides implementations of EndPoints and Switches.
Package switching provides implementations of EndPoints and Switches.
networking/switching/endpoint
Package endpoint provides endpoint
Package endpoint provides endpoint
networking/switching/switches
Package switches provides implementations of Switches.
Package switches provides implementations of Switches.
standalone
Package standalone provides infrastructures to write network simulations without simulating compute cores and memory systems.
Package standalone provides infrastructures to write network simulations without simulating compute cores and memory systems.
Package pipelining provides a pipeline definition.
Package pipelining provides a pipeline definition.
sim
Package sim is a package that provides basic functionalities to build discrete event simulator.
Package sim is a package that provides basic functionalities to build discrete event simulator.
directconnection
Package directconnection provides directconnection
Package directconnection provides directconnection
Package tracing help simulator users to trace what is happening in the simulation.
Package tracing help simulator users to trace what is happening in the simulation.

Jump to

Keyboard shortcuts

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