CIRCT 22.0.0git
Loading...
Searching...
No Matches
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 <future>
#include <iostream>
#include <map>
#include <random>
#include <sstream>
#include <stdexcept>
#include <vector>
Include dependency graph for esitester.cpp:

Go to the source code of this file.

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 std::string defaultWidthsStr ()
 
static std::string formatBandwidth (double bytesPerSec)
 
static std::string humanBytes (uint64_t bytes)
 
static std::string humanTimeUS (uint64_t us)
 
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

◆ 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 734 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

◆ defaultWidthsStr()

static std::string defaultWidthsStr ( )
static

Definition at line 63 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 616 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 95 of file esitester.cpp.

Referenced by aggregateHostmemBandwidthTest().

◆ humanTimeUS()

static std::string humanTimeUS ( uint64_t  us)
static

Definition at line 111 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[] 
)

Variable Documentation

◆ defaultWidths

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

Definition at line 62 of file esitester.cpp.

Referenced by defaultWidthsStr(), and main().