gem5 v24.1.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Private Types | Private Attributes | List of all members
gem5::SpatterKernel Class Reference

#include <utility_structs.hh>

Classes

class  IndexGen
 

Public Member Functions

 SpatterKernel (RequestorID requestor_id, uint32_t id, uint32_t delta, uint32_t count, SpatterKernelType type, uint32_t base_index, uint32_t indices_per_stride, uint32_t stride, size_t index_size, Addr base_index_addr, size_t value_size, Addr base_value_addr)
 
uint32_t id () const
 
void setIndices (const std::vector< uint32_t > &pattern)
 
SpatterKernelType type () const
 
bool done () const
 
SpatterAccessnextSpatterAccess ()
 

Private Types

typedef enums::SpatterKernelType SpatterKernelType
 
typedef SpatterAccess::AccessPair AccessPair
 

Private Attributes

RequestorID requestorId
 
IndexGen indexGen
 
uint32_t _id
 
uint32_t delta
 
uint32_t count
 
SpatterKernelType _type
 
size_t indexSize
 
Addr baseIndexAddr
 
size_t valueSize
 
Addr baseValueAddr
 
uint32_t iteration
 
uint32_t remRolls
 
std::deque< uint32_t > indices
 

Detailed Description

Definition at line 161 of file utility_structs.hh.

Member Typedef Documentation

◆ AccessPair

Definition at line 165 of file utility_structs.hh.

◆ SpatterKernelType

typedef enums::SpatterKernelType gem5::SpatterKernel::SpatterKernelType
private

Definition at line 164 of file utility_structs.hh.

Constructor & Destructor Documentation

◆ SpatterKernel()

gem5::SpatterKernel::SpatterKernel ( RequestorID  requestor_id,
uint32_t  id,
uint32_t  delta,
uint32_t  count,
SpatterKernelType  type,
uint32_t  base_index,
uint32_t  indices_per_stride,
uint32_t  stride,
size_t  index_size,
Addr  base_index_addr,
size_t  value_size,
Addr  base_value_addr 
)
inline

Definition at line 220 of file utility_structs.hh.

Member Function Documentation

◆ done()

bool gem5::SpatterKernel::done ( ) const
inline

Definition at line 247 of file utility_structs.hh.

References count, and iteration.

Referenced by gem5::SpatterGen::processNextGenEvent().

◆ id()

uint32_t gem5::SpatterKernel::id ( ) const
inline

Definition at line 237 of file utility_structs.hh.

References _id.

Referenced by gem5::SpatterGen::processNextGenEvent().

◆ nextSpatterAccess()

SpatterAccess * gem5::SpatterKernel::nextSpatterAccess ( )
inline

◆ setIndices()

void gem5::SpatterKernel::setIndices ( const std::vector< uint32_t > &  pattern)
inline

Definition at line 239 of file utility_structs.hh.

References indices, and remRolls.

Referenced by gem5::SpatterGen::addKernel().

◆ type()

SpatterKernelType gem5::SpatterKernel::type ( ) const
inline

Definition at line 245 of file utility_structs.hh.

References _type.

Referenced by gem5::SpatterGen::processNextGenEvent().

Member Data Documentation

◆ _id

uint32_t gem5::SpatterKernel::_id
private

Definition at line 199 of file utility_structs.hh.

Referenced by id().

◆ _type

SpatterKernelType gem5::SpatterKernel::_type
private

Definition at line 203 of file utility_structs.hh.

Referenced by nextSpatterAccess(), and type().

◆ baseIndexAddr

Addr gem5::SpatterKernel::baseIndexAddr
private

Definition at line 206 of file utility_structs.hh.

Referenced by nextSpatterAccess().

◆ baseValueAddr

Addr gem5::SpatterKernel::baseValueAddr
private

Definition at line 209 of file utility_structs.hh.

Referenced by nextSpatterAccess().

◆ count

uint32_t gem5::SpatterKernel::count
private

Definition at line 201 of file utility_structs.hh.

Referenced by done().

◆ delta

uint32_t gem5::SpatterKernel::delta
private

Definition at line 200 of file utility_structs.hh.

Referenced by nextSpatterAccess().

◆ indexGen

IndexGen gem5::SpatterKernel::indexGen
private

Definition at line 197 of file utility_structs.hh.

Referenced by nextSpatterAccess().

◆ indexSize

size_t gem5::SpatterKernel::indexSize
private

Definition at line 205 of file utility_structs.hh.

Referenced by nextSpatterAccess().

◆ indices

std::deque<uint32_t> gem5::SpatterKernel::indices
private

Definition at line 216 of file utility_structs.hh.

Referenced by nextSpatterAccess(), and setIndices().

◆ iteration

uint32_t gem5::SpatterKernel::iteration
private

Definition at line 212 of file utility_structs.hh.

Referenced by done(), and nextSpatterAccess().

◆ remRolls

uint32_t gem5::SpatterKernel::remRolls
private

Definition at line 215 of file utility_structs.hh.

Referenced by nextSpatterAccess(), and setIndices().

◆ requestorId

RequestorID gem5::SpatterKernel::requestorId
private

Definition at line 196 of file utility_structs.hh.

Referenced by nextSpatterAccess().

◆ valueSize

size_t gem5::SpatterKernel::valueSize
private

Definition at line 208 of file utility_structs.hh.

Referenced by nextSpatterAccess().


The documentation for this class was generated from the following file:

Generated on Mon Jan 13 2025 04:28:58 for gem5 by doxygen 1.9.8