Skip to content

Commit

Permalink
v1.58.00 Fixing DMA copy-on-engine (#152)
Browse files Browse the repository at this point in the history
  • Loading branch information
gilbertlee-amd authored Dec 5, 2024
1 parent 3ea2f22 commit fb713d0
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 6 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Documentation for TransferBench is available at
[https://rocm.docs.amd.com/projects/TransferBench](https://rocm.docs.amd.com/projects/TransferBench).

## v1.58.00
### Fixed
- Fixed broken specific DMA-engine copies

## v1.57.01
### Added
- Re-added "scaling" GPU GFX preset benchmark, which tests copies from GPU to other devices using varying
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ else()
endif()
cmake_minimum_required(VERSION 3.5)

project(TransferBench VERSION 1.57.0 LANGUAGES CXX)
project(TransferBench VERSION 1.58.00 LANGUAGES CXX)

# Default GPU architectures to build
#==================================================================================================
Expand Down
2 changes: 1 addition & 1 deletion src/client/Client.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ THE SOFTWARE.
#pragma once

// TransferBench client version
#define CLIENT_VERSION "01"
#define CLIENT_VERSION "00"

#include "TransferBench.hpp"
#include "EnvVars.hpp"
Expand Down
2 changes: 1 addition & 1 deletion src/client/EnvVars.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ class EnvVars
int numGpuDevices = TransferBench::GetNumExecutors(EXE_GPU_GFX);

if (!outputToCsv) {
printf("TransferBench Client v%s Backend v%s\n", CLIENT_VERSION, TransferBench::VERSION);
printf("TransferBench v%s.%s\n", TransferBench::VERSION, CLIENT_VERSION);
printf("===============================================================\n");
if (!hideEnv) printf("[Common] (Suppress by setting HIDE_ENV=1)\n");
}
Expand Down
9 changes: 6 additions & 3 deletions src/header/TransferBench.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ namespace TransferBench
using std::set;
using std::vector;

constexpr char VERSION[] = "1.57";
constexpr char VERSION[] = "1.58";

/**
* Enumeration of supported Executor types
Expand Down Expand Up @@ -1002,7 +1002,7 @@ namespace {
#endif
}

if (!IsGpuMemType(t.srcs[0].memType) || !IsGpuMemType(t.dsts[0].memType)) {
if (!IsGpuMemType(t.srcs[0].memType) && !IsGpuMemType(t.dsts[0].memType)) {
errors.push_back({ERR_WARN,
"Transfer %d: No GPU memory for source or destination. Copy might not execute on DMA %d",
i, t.exeDevice.exeIndex});
Expand Down Expand Up @@ -1406,6 +1406,9 @@ namespace {

// Create HSA completion signal
ERR_CHECK(hsa_signal_create(1, 0, NULL, &resources.signal));

if (t.exeSubIndex != -1)
resources.sdmaEngineId = (hsa_amd_sdma_engine_id_t)(1U << t.exeSubIndex);
#endif
}

Expand Down Expand Up @@ -2020,7 +2023,7 @@ namespace {
// Use HSA async copy
do {
hsa_signal_store_screlease(resources.signal, 1);
if (cfg.dma.useHsaCopy) {
if (!useSubIndices) {
ERR_CHECK(hsa_amd_memory_async_copy(resources.dstMem[0], resources.dstAgent,
resources.srcMem[0], resources.srcAgent,
resources.numBytes, 0, NULL,
Expand Down

0 comments on commit fb713d0

Please sign in to comment.