-
Notifications
You must be signed in to change notification settings - Fork 9
/
memaccessinfo.go
44 lines (38 loc) · 1014 Bytes
/
memaccessinfo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package cu
import (
"github.com/sarchlab/akita/v3/mem/mem"
"github.com/sarchlab/mgpusim/v3/insts"
"github.com/sarchlab/mgpusim/v3/timing/wavefront"
)
type vectorMemAccessLaneInfo struct {
laneID int
reg *insts.Reg
regCount int
addrOffsetInCacheLine uint64
}
// VectorMemAccessInfo defines access info
type VectorMemAccessInfo struct {
ID string
Read *mem.ReadReq
Write *mem.WriteReq
Wavefront *wavefront.Wavefront
Inst *wavefront.Inst
laneInfo []vectorMemAccessLaneInfo
}
// TaskID returns the ID of the VectorMemAccess transaction
func (i VectorMemAccessInfo) TaskID() string {
return i.ID
}
// InstFetchReqInfo defines request info
type InstFetchReqInfo struct {
Req *mem.ReadReq
Wavefront *wavefront.Wavefront
Address uint64
}
// ScalarMemAccessInfo defines request info
type ScalarMemAccessInfo struct {
Req *mem.ReadReq
Wavefront *wavefront.Wavefront
DstSGPR *insts.Reg
Inst *wavefront.Inst
}