Versions in this module Expand all Collapse all v3 v3.0.3 Jul 5, 2024 v3.0.2 Mar 27, 2024 v3.0.1 Mar 13, 2024 v3.0.0 Jan 30, 2024 Changes in this version + type ALU interface + LDS func() []byte + Run func(state InstEmuState) + SetLDS func(lds []byte) + type ALUImpl struct + func NewALU(storageAccessor *storageAccessor) *ALUImpl + func (u *ALUImpl) LDS() []byte + func (u *ALUImpl) Run(state InstEmuState) + func (u *ALUImpl) SetLDS(lds []byte) + type ComputeUnit struct + GlobalMemStorage *mem.Storage + LDSStorage []byte + ToDispatcher sim.Port + func BuildComputeUnit(name string, engine sim.Engine, decoder Decoder, pageTable vm.PageTable, ...) *ComputeUnit + func NewComputeUnit(name string, engine sim.Engine, decoder Decoder, ...) *ComputeUnit + func (cu *ComputeUnit) ControlPort() sim.Port + func (cu *ComputeUnit) DispatchingPort() sim.Port + func (cu *ComputeUnit) Handle(evt sim.Event) error + func (cu *ComputeUnit) LDSBytes() int + func (cu *ComputeUnit) SRegCount() int + func (cu *ComputeUnit) Tick(now sim.VTimeInSec) bool + func (cu *ComputeUnit) VRegCounts() []int + func (cu *ComputeUnit) WfPoolSizes() []int + type DSLayout struct + ADDR [64]uint32 + DATA [256]uint32 + DATA1 [256]uint32 + DST [256]uint32 + EXEC uint64 + type Decoder interface + Decode func(buf []byte) (*insts.Inst, error) + type FlatLayout struct + ADDR [64]uint64 + DATA [256]uint32 + DST [256]uint32 + EXEC uint64 + type ISADebugger struct + func NewISADebugger(logger *log.Logger) *ISADebugger + func (h *ISADebugger) Func(ctx sim.HookCtx) + type InstEmuState interface + Inst func() *insts.Inst + PID func() vm.PID + Scratchpad func() Scratchpad + type SMEMLayout struct + Base uint64 + DATA [4]uint32 + DST [16]uint32 + Offset uint64 + type SOP1Layout struct + DST uint64 + EXEC uint64 + PC uint64 + SCC byte + SRC0 uint64 + type SOP2Layout struct + DST uint64 + SCC byte + SRC0 uint64 + SRC1 uint64 + type SOPCLayout struct + SCC byte + SRC0 uint64 + SRC1 uint64 + type SOPKLayout struct + DST uint64 + IMM uint64 + SCC byte + type SOPPLayout struct + EXEC uint64 + IMM uint64 + PC uint64 + SCC byte + VCC uint64 + type Scratchpad []byte + func (sp Scratchpad) AsDS() *DSLayout + func (sp Scratchpad) AsFlat() *FlatLayout + func (sp Scratchpad) AsSMEM() *SMEMLayout + func (sp Scratchpad) AsSOP1() *SOP1Layout + func (sp Scratchpad) AsSOP2() *SOP2Layout + func (sp Scratchpad) AsSOPC() *SOPCLayout + func (sp Scratchpad) AsSOPK() *SOPKLayout + func (sp Scratchpad) AsSOPP() *SOPPLayout + func (sp Scratchpad) AsVOP1() *VOP1Layout + func (sp Scratchpad) AsVOP2() *VOP2Layout + func (sp Scratchpad) AsVOP3A() *VOP3ALayout + func (sp Scratchpad) AsVOP3B() *VOP3BLayout + func (sp Scratchpad) AsVOPC() *VOPCLayout + type ScratchpadPreparer interface + Commit func(instEmuState InstEmuState, wf *Wavefront) + Prepare func(instEmuState InstEmuState, wf *Wavefront) + type ScratchpadPreparerImpl struct + func NewScratchpadPreparerImpl() *ScratchpadPreparerImpl + func (p *ScratchpadPreparerImpl) Commit(instEmuState InstEmuState, wf *Wavefront) + func (p *ScratchpadPreparerImpl) Prepare(instEmuState InstEmuState, wf *Wavefront) + type VOP1Layout struct + DST [64]uint64 + EXEC uint64 + SRC0 [64]uint64 + VCC uint64 + type VOP2Layout struct + DST [64]uint64 + EXEC uint64 + LiteralConstant uint64 + SRC0 [64]uint64 + SRC1 [64]uint64 + VCC uint64 + type VOP3ALayout struct + DST [64]uint64 + EXEC uint64 + SRC0 [64]uint64 + SRC1 [64]uint64 + SRC2 [64]uint64 + VCC uint64 + type VOP3BLayout struct + DST [64]uint64 + EXEC uint64 + SDST uint64 + SRC0 [64]uint64 + SRC1 [64]uint64 + SRC2 [64]uint64 + VCC uint64 + type VOPCLayout struct + EXEC uint64 + SRC0 [64]uint64 + SRC1 [64]uint64 + VCC uint64 + type WGCompleteEvent struct + Req *protocol.MapWGReq + func NewWGCompleteEvent(t sim.VTimeInSec, handler sim.Handler, req *protocol.MapWGReq) *WGCompleteEvent + type Wavefront struct + AtBarrier bool + Completed bool + Exec uint64 + LDS []byte + M0 uint32 + PC uint64 + SCC byte + SRegFile []byte + VCC uint64 + VRegFile []byte + func NewWavefront(nativeWf *kernels.Wavefront) *Wavefront + func (wf *Wavefront) Inst() *insts.Inst + func (wf *Wavefront) PID() vm.PID + func (wf *Wavefront) ReadReg(reg *insts.Reg, regCount int, laneID int) []byte + func (wf *Wavefront) SRegValue(i int) uint32 + func (wf *Wavefront) Scratchpad() Scratchpad + func (wf *Wavefront) VRegValue(lane int, i int) uint32 + func (wf *Wavefront) WriteReg(reg *insts.Reg, regCount int, laneID int, data []byte)