Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Documentation for TransferBench is available at
- Adding new batched-DMA executor "B", which utilizes the hipMemcpyBatchAsync API introduced in HIP 7.1 / CUDA 12.8
- Added new bmasweep preset that compares DMA to batched DMA execution for parallel transfers to other GPUs
- Added new wallclock preset that compares wallclock counters across XCCs within a GPU
- Added new smoketest preset that runs a variety of DMA/GFX tests for simple correctness tests

### Modified
- DMA-BUF support enablement in CMake changed to ENABLE_DMA_BUF to be more similar to other compile-time options
Expand Down
26 changes: 25 additions & 1 deletion src/client/EnvVars.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -538,6 +538,21 @@ class EnvVars
return defaultValue;
}

static std::vector<std::string> GetEnvVarStrArray(std::string const& varname, std::vector<std::string> const& defaultValue)
{
if (getenv(varname.c_str())) {
std::vector<std::string> values;
char* arrayStr = getenv(varname.c_str());
char* token = strtok(arrayStr, ",");
while (token) {
values.push_back(token);
token = strtok(NULL, ",");
}
return values;
Comment thread
gilbertlee-amd marked this conversation as resolved.
}
return defaultValue;
}

static std::vector<int> GetEnvVarRangeArray(std::string const& varname, std::vector<int> const& defaultValue)
{
if (getenv(varname.c_str())) {
Expand Down Expand Up @@ -572,13 +587,22 @@ class EnvVars

std::string GetStr(std::vector<int> const& varnameList) const {
std::string result = "";
for (int i = 0; i < varnameList.size(); i++) {
for (auto i = 0; i < varnameList.size(); i++) {
if (i) result += ",";
result += std::to_string(varnameList[i]);
}
return result;
}

std::string GetStr(std::vector<std::string> const& varnameList) const {
std::string result = "";
for (auto i = 0; i < varnameList.size(); i++) {
if (i) result += ",";
result += varnameList[i];
}
return result;
}
Comment thread
gilbertlee-amd marked this conversation as resolved.

std::string GetCuMaskDesc() const
{
std::vector<std::pair<int, int>> runs;
Expand Down
2 changes: 2 additions & 0 deletions src/client/Presets/Presets.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ THE SOFTWARE.
#include "PodPeerToPeer.hpp"
#include "Scaling.hpp"
#include "Schmoo.hpp"
#include "SmokeTest.hpp"
#include "Sweep.hpp"
#include "WallClock.hpp"

Expand All @@ -68,6 +69,7 @@ std::map<std::string, std::pair<PresetFunc, std::string>> presetFuncMap =
{"rsweep", {SweepPreset, "Randomly sweep through sets of Transfers"}},
{"scaling", {ScalingPreset, "Run scaling test from one GPU to other devices"}},
{"schmoo", {SchmooPreset, "Scaling tests for local/remote read/write/copy"}},
{"smoketest", {SmokeTestPreset, "Simple correctness smoke-test"}},
{"sweep", {SweepPreset, "Ordered sweep through sets of Transfers"}},
{"wallclock", {WallClockPreset, "Tests wallclock consistency across XCCs within a GPU"}},
};
Expand Down
Loading