|
CIRCT 22.0.0git
|
#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>
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 ®ion, uint32_t width) |
| Test the hostmem write functionality. | |
| static void | hostmemReadTest (Accelerator *acc, esi::services::HostMem::HostMemRegion ®ion, 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 ®ion, uint32_t width, uint32_t xferCount) |
| static void | hostmemReadBandwidthTest (AcceleratorConnection *conn, Accelerator *acc, esi::services::HostMem::HostMemRegion ®ion, uint32_t width, uint32_t xferCount) |
Variables | |
| constexpr std::array< uint32_t, 5 > | defaultWidths = {32, 64, 128, 256, 512} |
|
static |
Definition at line 1023 of file esitester.cpp.
References esi::services::TelemetryService::Metric::connect(), formatBandwidth(), esi::BundlePort::getAs(), esi::HWModule::getChildren(), esi::AcceleratorConnection::getLogger(), esi::AcceleratorConnection::getService(), humanBytes(), humanTimeUS(), esi::Logger::info(), and esi::services::HostMem::start().
Referenced by main().
|
static |
Definition at line 641 of file esitester.cpp.
References esi::ReadChannelPort::connect(), esi::Logger::debug(), formatBandwidth(), esi::BundlePort::getAs(), esi::AcceleratorConnection::getLogger(), esi::BundlePort::getRawRead(), esi::Logger::info(), esi::ReadChannelPort::read(), and esi::HWModule::resolvePort().
Referenced by bandwidthTest().
|
static |
Definition at line 734 of file esitester.cpp.
References bandwidthReadTest(), and bandwidthWriteTest().
Referenced by main().
|
static |
Definition at line 686 of file esitester.cpp.
References esi::WriteChannelPort::connect(), esi::Logger::debug(), formatBandwidth(), esi::BundlePort::getAs(), esi::AcceleratorConnection::getLogger(), esi::BundlePort::getRawWrite(), esi::Logger::info(), esi::HWModule::resolvePort(), and esi::WriteChannelPort::write().
Referenced by bandwidthTest().
|
static |
Definition at line 263 of file esitester.cpp.
References esi::HWModule::getChildren(), esi::AcceleratorConnection::getLogger(), and esi::Logger::info().
Referenced by main().
|
static |
|
static |
Definition at line 517 of file esitester.cpp.
References esi::ReadChannelPort::connect(), esi::Logger::debug(), esi::ReadChannelPort::disconnect(), esi::BundlePort::getAs(), esi::AcceleratorConnection::getLogger(), esi::BundlePort::getRawRead(), esi::Logger::info(), esi::ReadChannelPort::read(), and esi::HWModule::resolvePort().
Referenced by dmaTest().
|
static |
Definition at line 616 of file esitester.cpp.
References dmaReadTest(), and dmaWriteTest().
Referenced by main().
|
static |
Definition at line 556 of file esitester.cpp.
References esi::WriteChannelPort::connect(), esi::BundlePort::getAs(), esi::AcceleratorConnection::getLogger(), esi::BundlePort::getRawWrite(), esi::Logger::info(), esi::HWModule::resolvePort(), esi::toString(), and writePort().
Referenced by dmaTest().
|
static |
Definition at line 74 of file esitester.cpp.
Referenced by aggregateHostmemBandwidthTest(), bandwidthReadTest(), bandwidthWriteTest(), hostmemReadBandwidthTest(), and hostmemWriteBandwidthTest().
|
static |
Definition at line 903 of file esitester.cpp.
References esi::AcceleratorConnection::getService(), hostmemReadBandwidthTest(), hostmemWriteBandwidthTest(), and esi::services::HostMem::start().
Referenced by main().
|
static |
Definition at line 830 of file esitester.cpp.
References esi::services::TelemetryService::Metric::connect(), esi::services::HostMem::HostMemRegion::flush(), formatBandwidth(), esi::BundlePort::getAs(), esi::HWModule::getChildren(), esi::services::HostMem::HostMemRegion::getDevicePtr(), esi::AcceleratorConnection::getLogger(), esi::services::HostMem::HostMemRegion::getPtr(), esi::services::HostMem::HostMemRegion::getSize(), esi::Logger::info(), and esi::services::TelemetryService::Metric::readInt().
Referenced by hostmemBandwidthTest().
|
static |
Definition at line 397 of file esitester.cpp.
References esi::services::HostMem::HostMemRegion::flush(), esi::HWModule::getChildren(), esi::services::HostMem::HostMemRegion::getDevicePtr(), esi::services::HostMem::HostMemRegion::getPtr(), and esi::toHex().
Referenced by hostmemTest().
|
static |
Definition at line 481 of file esitester.cpp.
References esi::Logger::error(), esi::AcceleratorConnection::getLogger(), esi::AcceleratorConnection::getService(), hostmemReadTest(), hostmemWriteTest(), esi::Logger::info(), esi::services::HostMem::start(), and esi::toHex().
Referenced by main().
|
static |
Definition at line 750 of file esitester.cpp.
References esi::services::TelemetryService::Metric::connect(), esi::services::HostMem::HostMemRegion::flush(), formatBandwidth(), esi::BundlePort::getAs(), esi::HWModule::getChildren(), esi::services::HostMem::HostMemRegion::getDevicePtr(), esi::AcceleratorConnection::getLogger(), esi::services::HostMem::HostMemRegion::getPtr(), esi::services::HostMem::HostMemRegion::getSize(), esi::Logger::info(), and esi::services::TelemetryService::Metric::readInt().
Referenced by hostmemBandwidthTest().
|
static |
Test the hostmem write functionality.
Definition at line 318 of file esitester.cpp.
References esi::services::HostMem::HostMemRegion::flush(), esi::HWModule::getChildren(), esi::services::HostMem::HostMemRegion::getDevicePtr(), esi::services::HostMem::HostMemRegion::getPtr(), and print().
Referenced by hostmemTest().
|
static |
Definition at line 95 of file esitester.cpp.
Referenced by aggregateHostmemBandwidthTest().
|
static |
Definition at line 111 of file esitester.cpp.
Referenced by aggregateHostmemBandwidthTest().
|
static |
Definition at line 919 of file esitester.cpp.
References esi::MessageData::as(), esi::HWModule::getChildren(), esi::AcceleratorConnection::getLogger(), esi::Logger::info(), and esi::toHex().
Referenced by main().
| int main | ( | int | argc, |
| const char * | argv[] | ||
| ) |
Definition at line 130 of file esitester.cpp.
References esi::AcceleratorServiceThread::addPoll(), aggregateHostmemBandwidthTest(), bandwidthTest(), esi::Manifest::buildAccelerator(), callbackTest(), esi::CliParser::connect(), defaultWidths, defaultWidthsStr(), esi::AcceleratorConnection::disconnect(), dmaTest(), esi::Logger::error(), esi::CliParser::esiParse(), esi::CliParser::getContext(), esi::Context::getLogger(), esi::AcceleratorConnection::getService(), esi::AcceleratorConnection::getServiceThread(), hostmemBandwidthTest(), hostmemTest(), esi::Logger::info(), and loopbackAddTest().
|
constexpr |
Definition at line 62 of file esitester.cpp.
Referenced by defaultWidthsStr(), and main().