CIRCT 22.0.0git
Loading...
Searching...
No Matches
Classes | Functions | Variables
esitester.cpp File Reference
#include "esi/Accelerator.h"
#include "esi/CLI.h"
#include "esi/Manifest.h"
#include "esi/Services.h"
#include <atomic>
#include <chrono>
#include <cstdlib>
#include <future>
#include <iostream>
#include <map>
#include <memory>
#include <random>
#include <span>
#include <sstream>
#include <stdexcept>
#include <vector>
Include dependency graph for esitester.cpp:

Go to the source code of this file.

Classes

struct  StreamingAddArg
 Packed struct representing a parallel window argument for StreamingAdder. More...
 
struct  StreamingAddResult
 Packed struct representing a parallel window result for StreamingAdder. More...
 
struct  StreamingAddTranslatedArg
 Test the StreamingAdder module using message translation. More...
 
struct  StreamingAddTranslatedResult
 Translated result struct for StreamingAdder. More...
 
struct  Coord
 Test the CoordTranslator module using message translation. More...
 
struct  CoordTranslateArg
 Translated argument struct for CoordTranslator. More...
 
struct  CoordTranslateResult
 Translated result struct for CoordTranslator. More...
 

Functions

static void callbackTest (AcceleratorConnection *, Accelerator *, uint32_t iterations)
 
static void hostmemTest (AcceleratorConnection *, Accelerator *, const std::vector< uint32_t > &widths, bool write, bool read)
 
static void hostmemBandwidthTest (AcceleratorConnection *conn, Accelerator *acc, uint32_t xferCount, const std::vector< uint32_t > &widths, bool read, bool write)
 
static void dmaTest (AcceleratorConnection *, Accelerator *, const std::vector< uint32_t > &widths, bool read, bool write)
 
static void bandwidthTest (AcceleratorConnection *, Accelerator *, const std::vector< uint32_t > &widths, uint32_t xferCount, bool read, bool write)
 
static void loopbackAddTest (AcceleratorConnection *, Accelerator *, uint32_t iterations, bool pipeline)
 
static void aggregateHostmemBandwidthTest (AcceleratorConnection *, Accelerator *, uint32_t width, uint32_t xferCount, bool read, bool write)
 
static void streamingAddTest (AcceleratorConnection *conn, Accelerator *accel, uint32_t addAmt, uint32_t numItems)
 Test the StreamingAdder module.
 
static void streamingAddTranslatedTest (AcceleratorConnection *, Accelerator *, uint32_t addAmt, uint32_t numItems)
 
static void coordTranslateTest (AcceleratorConnection *, Accelerator *, uint32_t xTrans, uint32_t yTrans, uint32_t numCoords)
 
static std::string defaultWidthsStr ()
 
static std::string formatBandwidth (double bytesPerSec)
 
static std::string humanBytes (uint64_t bytes)
 
static std::string humanTimeUS (uint64_t us)
 
static void * alignedAllocCompat (std::size_t alignment, std::size_t size)
 
static void alignedFreeCompat (void *ptr)
 
int main (int argc, const char *argv[])
 
static void hostmemWriteTest (Accelerator *acc, esi::services::HostMem::HostMemRegion &region, uint32_t width)
 Test the hostmem write functionality.
 
static void hostmemReadTest (Accelerator *acc, esi::services::HostMem::HostMemRegion &region, uint32_t width)
 
static void dmaReadTest (AcceleratorConnection *conn, Accelerator *acc, size_t width)
 
static void dmaWriteTest (AcceleratorConnection *conn, Accelerator *acc, size_t width)
 
static void bandwidthReadTest (AcceleratorConnection *conn, Accelerator *acc, size_t width, size_t xferCount)
 
static void bandwidthWriteTest (AcceleratorConnection *conn, Accelerator *acc, size_t width, size_t xferCount)
 
static void hostmemWriteBandwidthTest (AcceleratorConnection *conn, Accelerator *acc, esi::services::HostMem::HostMemRegion &region, uint32_t width, uint32_t xferCount)
 
static void hostmemReadBandwidthTest (AcceleratorConnection *conn, Accelerator *acc, esi::services::HostMem::HostMemRegion &region, uint32_t width, uint32_t xferCount)
 

Variables

constexpr std::array< uint32_t, 5 > defaultWidths = {32, 64, 128, 256, 512}
 

Function Documentation

◆ aggregateHostmemBandwidthTest()

static void aggregateHostmemBandwidthTest ( AcceleratorConnection conn,
Accelerator acc,
uint32_t  width,
uint32_t  xferCount,
bool  read,
bool  write 
)
static

◆ alignedAllocCompat()

static void * alignedAllocCompat ( std::size_t  alignment,
std::size_t  size 
)
static

Definition at line 142 of file esitester.cpp.

Referenced by coordTranslateTest(), and streamingAddTranslatedTest().

◆ alignedFreeCompat()

static void alignedFreeCompat ( void *  ptr)
static

Definition at line 156 of file esitester.cpp.

Referenced by coordTranslateTest(), and streamingAddTranslatedTest().

◆ bandwidthReadTest()

static void bandwidthReadTest ( AcceleratorConnection conn,
Accelerator acc,
size_t  width,
size_t  xferCount 
)
static

◆ bandwidthTest()

static void bandwidthTest ( AcceleratorConnection conn,
Accelerator acc,
const std::vector< uint32_t > &  widths,
uint32_t  xferCount,
bool  read,
bool  write 
)
static

Definition at line 801 of file esitester.cpp.

References bandwidthReadTest(), and bandwidthWriteTest().

Referenced by main().

◆ bandwidthWriteTest()

static void bandwidthWriteTest ( AcceleratorConnection conn,
Accelerator acc,
size_t  width,
size_t  xferCount 
)
static

◆ callbackTest()

static void callbackTest ( AcceleratorConnection conn,
Accelerator accel,
uint32_t  iterations 
)
static

◆ coordTranslateTest()

static void coordTranslateTest ( AcceleratorConnection conn,
Accelerator accel,
uint32_t  xTrans,
uint32_t  yTrans,
uint32_t  numCoords 
)
static

◆ defaultWidthsStr()

static std::string defaultWidthsStr ( )
static

Definition at line 73 of file esitester.cpp.

References defaultWidths.

Referenced by main().

◆ dmaReadTest()

static void dmaReadTest ( AcceleratorConnection conn,
Accelerator acc,
size_t  width 
)
static

◆ dmaTest()

static void dmaTest ( AcceleratorConnection conn,
Accelerator acc,
const std::vector< uint32_t > &  widths,
bool  read,
bool  write 
)
static

Definition at line 683 of file esitester.cpp.

References dmaReadTest(), and dmaWriteTest().

Referenced by main().

◆ dmaWriteTest()

static void dmaWriteTest ( AcceleratorConnection conn,
Accelerator acc,
size_t  width 
)
static

◆ formatBandwidth()

static std::string formatBandwidth ( double  bytesPerSec)
static

◆ hostmemBandwidthTest()

static void hostmemBandwidthTest ( AcceleratorConnection conn,
Accelerator acc,
uint32_t  xferCount,
const std::vector< uint32_t > &  widths,
bool  read,
bool  write 
)
static

◆ hostmemReadBandwidthTest()

static void hostmemReadBandwidthTest ( AcceleratorConnection conn,
Accelerator acc,
esi::services::HostMem::HostMemRegion region,
uint32_t  width,
uint32_t  xferCount 
)
static

◆ hostmemReadTest()

static void hostmemReadTest ( Accelerator acc,
esi::services::HostMem::HostMemRegion region,
uint32_t  width 
)
static

◆ hostmemTest()

static void hostmemTest ( AcceleratorConnection conn,
Accelerator acc,
const std::vector< uint32_t > &  widths,
bool  write,
bool  read 
)
static

◆ hostmemWriteBandwidthTest()

static void hostmemWriteBandwidthTest ( AcceleratorConnection conn,
Accelerator acc,
esi::services::HostMem::HostMemRegion region,
uint32_t  width,
uint32_t  xferCount 
)
static

◆ hostmemWriteTest()

static void hostmemWriteTest ( Accelerator acc,
esi::services::HostMem::HostMemRegion region,
uint32_t  width 
)
static

◆ humanBytes()

static std::string humanBytes ( uint64_t  bytes)
static

Definition at line 105 of file esitester.cpp.

Referenced by aggregateHostmemBandwidthTest().

◆ humanTimeUS()

static std::string humanTimeUS ( uint64_t  us)
static

Definition at line 121 of file esitester.cpp.

Referenced by aggregateHostmemBandwidthTest().

◆ loopbackAddTest()

static void loopbackAddTest ( AcceleratorConnection conn,
Accelerator accel,
uint32_t  iterations,
bool  pipeline 
)
static

◆ main()

int main ( int  argc,
const char *  argv[] 
)

◆ streamingAddTest()

static void streamingAddTest ( AcceleratorConnection conn,
Accelerator accel,
uint32_t  addAmt,
uint32_t  numItems 
)
static

◆ streamingAddTranslatedTest()

static void streamingAddTranslatedTest ( AcceleratorConnection conn,
Accelerator accel,
uint32_t  addAmt,
uint32_t  numItems 
)
static

Variable Documentation

◆ defaultWidths

constexpr std::array<uint32_t, 5> defaultWidths = {32, 64, 128, 256, 512}
constexpr

Definition at line 72 of file esitester.cpp.

Referenced by defaultWidthsStr(), and main().