Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
one
TransferBench
Commits
9ec17d7d
Unverified
Commit
9ec17d7d
authored
Jan 18, 2026
by
gilbertlee-amd
Committed by
GitHub
Jan 18, 2026
Browse files
Fixing some Makefile issues, Null memory parsing (#231)
parent
fb07c307
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
18 deletions
+36
-18
CHANGELOG.md
CHANGELOG.md
+8
-0
CMakeLists.txt
CMakeLists.txt
+1
-1
Makefile
Makefile
+20
-15
src/client/EnvVars.hpp
src/client/EnvVars.hpp
+1
-1
src/header/TransferBench.hpp
src/header/TransferBench.hpp
+6
-1
No files found.
CHANGELOG.md
View file @
9ec17d7d
...
@@ -3,6 +3,14 @@
...
@@ -3,6 +3,14 @@
Documentation for TransferBench is available at
Documentation for TransferBench is available at
[
https://rocm.docs.amd.com/projects/TransferBench
](
https://rocm.docs.amd.com/projects/TransferBench
)
.
[
https://rocm.docs.amd.com/projects/TransferBench
](
https://rocm.docs.amd.com/projects/TransferBench
)
.
## v1.66.01
## Fixed
-
Adding support for TheRock
-
Fixing parsing issue when using NULL memory type
-
Fixing CUAD compilation flags when enabling NIC/MPI
## Modified
-
TransferBenchCuda must now be explicitly built with via 'make TransferBenchCuda'
## v1.66.00
## v1.66.00
### Added
### Added
-
Adding multi-node support
-
Adding multi-node support
...
...
CMakeLists.txt
View file @
9ec17d7d
...
@@ -9,7 +9,7 @@ if (NOT CMAKE_TOOLCHAIN_FILE)
...
@@ -9,7 +9,7 @@ if (NOT CMAKE_TOOLCHAIN_FILE)
message
(
STATUS
"CMAKE_TOOLCHAIN_FILE:
${
CMAKE_TOOLCHAIN_FILE
}
"
)
message
(
STATUS
"CMAKE_TOOLCHAIN_FILE:
${
CMAKE_TOOLCHAIN_FILE
}
"
)
endif
()
endif
()
set
(
VERSION_STRING
"1.66.0
0
"
)
set
(
VERSION_STRING
"1.66.0
1
"
)
project
(
TransferBench VERSION
${
VERSION_STRING
}
LANGUAGES CXX
)
project
(
TransferBench VERSION
${
VERSION_STRING
}
LANGUAGES CXX
)
## Load CMake modules
## Load CMake modules
...
...
Makefile
View file @
9ec17d7d
...
@@ -26,15 +26,21 @@ SINGLE_KERNEL ?= 0
...
@@ -26,15 +26,21 @@ SINGLE_KERNEL ?= 0
# Default is the native GPU target
# Default is the native GPU target
GPU_TARGETS
?=
native
GPU_TARGETS
?=
native
EXE
=
TransferBench
DEBUG
?=
0
DEBUG
?=
0
# Only perform this check if 'make clean' is not the target
ifeq
($(filter clean,$(MAKECMDGOALS)),)
ifeq
($(filter clean,$(MAKECMDGOALS)),)
# Compile TransferBenchCuda if nvidia-smi returns successfully and nvcc detected
ifeq
($(MAKECMDGOALS),TransferBenchCuda)
ifeq
("$(shell nvidia-smi > /dev/null 2>&1 && test -e $(NVCC) && echo found)", "found")
# Check for nvcc
EXE
=
TransferBenchCuda
ifneq
($(shell test -e $(NVCC) && echo found), found)
CXX
=
$(NVCC
)
$(error
"Could not find $(NVCC). Please set CUDA_PATH appropriately"
)
else
else
EXE
=
TransferBench
$(info
Compiling
TransferBenchCuda
using
$(NVCC))
endif
NVFLAGS
=
-x
cu
-lnuma
-arch
=
native
else
# Check for HIP compiler
ifeq
("$(shell test -e $(HIPCC) && echo found)", "found")
ifeq
("$(shell test -e $(HIPCC) && echo found)", "found")
CXX
=
$(HIPCC)
CXX
=
$(HIPCC)
else
ifeq
("$(shell test -e $(ROCM_PATH)/bin/hipcc && echo found)", "found")
else
ifeq
("$(shell test -e $(ROCM_PATH)/bin/hipcc && echo found)", "found")
...
@@ -44,7 +50,6 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
...
@@ -44,7 +50,6 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
$(error
"Could not find $(HIPCC) or $(ROCM_PATH)/bin/hipcc. Check if the path is correct if you want to build $(EXE)"
)
$(error
"Could not find $(HIPCC) or $(ROCM_PATH)/bin/hipcc. Check if the path is correct if you want to build $(EXE)"
)
endif
endif
GPU_TARGETS_FLAGS
=
$(
foreach
target,
$(GPU_TARGETS)
,
"--offload-arch=
$(target)
"
)
GPU_TARGETS_FLAGS
=
$(
foreach
target,
$(GPU_TARGETS)
,
"--offload-arch=
$(target)
"
)
endif
CXXFLAGS
=
-I
$(ROCM_PATH)
/include
-I
$(ROCM_PATH)
/include/hip
-I
$(ROCM_PATH)
/include/hsa
CXXFLAGS
=
-I
$(ROCM_PATH)
/include
-I
$(ROCM_PATH)
/include/hip
-I
$(ROCM_PATH)
/include/hsa
HIPLDFLAGS
=
-lnuma
-L
$(ROCM_PATH)
/lib
-lhsa-runtime64
-lamdhip64
HIPLDFLAGS
=
-lnuma
-L
$(ROCM_PATH)
/lib
-lhsa-runtime64
-lamdhip64
...
@@ -52,10 +57,10 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
...
@@ -52,10 +57,10 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
ifneq
($(strip $(ROCM_DEVICE_LIB_PATH)),)
ifneq
($(strip $(ROCM_DEVICE_LIB_PATH)),)
HIPFLAGS
+=
--rocm-device-lib-path
=
$(ROCM_DEVICE_LIB_PATH)
HIPFLAGS
+=
--rocm-device-lib-path
=
$(ROCM_DEVICE_LIB_PATH)
endif
endif
NVFLAGS
=
-x
cu
-lnuma
-arch
=
native
endif
ifeq
($(SINGLE_KERNEL), 1)
ifeq
($(SINGLE_KERNEL), 1)
C
XX
FLAGS
+=
-DSINGLE_KERNEL
C
OMMON_
FLAGS
+=
-DSINGLE_KERNEL
endif
endif
ifeq
($(DEBUG), 0)
ifeq
($(DEBUG), 0)
...
@@ -79,7 +84,7 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
...
@@ -79,7 +84,7 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
else
ifeq
("$(shell echo '
#include <infiniband/verbs.h>' | $(CXX) -E - 2>/dev/null | grep -c 'infiniband/verbs.h')", "0")
else
ifeq
("$(shell echo '
#include <infiniband/verbs.h>' | $(CXX) -E - 2>/dev/null | grep -c 'infiniband/verbs.h')", "0")
$(info
infiniband/verbs.h
not
found)
$(info
infiniband/verbs.h
not
found)
else
else
C
XX
FLAGS
+=
-DNIC_EXEC_ENABLED
C
OMMON_
FLAGS
+=
-DNIC_EXEC_ENABLED
LDFLAGS
+=
-libverbs
LDFLAGS
+=
-libverbs
NIC_ENABLED
=
1
NIC_ENABLED
=
1
endif
endif
...
@@ -101,7 +106,7 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
...
@@ -101,7 +106,7 @@ ifeq ($(filter clean,$(MAKECMDGOALS)),)
$(info
Unable
to
find
mpi.h
at
$(MPI_PATH)/include.
Please
specify
appropriate
MPI_PATH)
$(info
Unable
to
find
mpi.h
at
$(MPI_PATH)/include.
Please
specify
appropriate
MPI_PATH)
else
else
MPI_ENABLED
=
1
MPI_ENABLED
=
1
C
XX
FLAGS
+=
-DMPI_COMM_ENABLED
-I
$(MPI_PATH)
/include
C
OMMON_
FLAGS
+=
-DMPI_COMM_ENABLED
-I
$(MPI_PATH)
/include
LDFLAGS
+=
-L
/
$(MPI_PATH)
/lib
-lmpi
LDFLAGS
+=
-L
/
$(MPI_PATH)
/lib
-lmpi
ifeq
($(DEBUG), 1)
ifeq
($(DEBUG), 1)
LDFLAGS
+=
-lmpi_cxx
LDFLAGS
+=
-lmpi_cxx
...
...
src/client/EnvVars.hpp
View file @
9ec17d7d
...
@@ -40,7 +40,7 @@ THE SOFTWARE.
...
@@ -40,7 +40,7 @@ THE SOFTWARE.
#include <random>
#include <random>
#include <time.h>
#include <time.h>
#define CLIENT_VERSION "0
0
"
#define CLIENT_VERSION "0
1
"
#include "TransferBench.hpp"
#include "TransferBench.hpp"
using
namespace
TransferBench
;
using
namespace
TransferBench
;
...
...
src/header/TransferBench.hpp
View file @
9ec17d7d
...
@@ -1176,7 +1176,10 @@ namespace {
...
@@ -1176,7 +1176,10 @@ namespace {
}
}
// Parse memory type
// Parse memory type
ERR_CHECK
(
CharToMemType
(
*
ptr
,
w
.
memType
));
ErrResult
err
=
CharToMemType
(
*
ptr
,
w
.
memType
);
if
(
err
.
errType
!=
ERR_NONE
)
{
return
{
err
.
errType
,
"Error parsing token [%s]: %s
\n
"
,
token
.
c_str
(),
err
.
errMsg
.
c_str
()};
}
ptr
++
;
// Skip memory type
ptr
++
;
// Skip memory type
// Parse memory index
// Parse memory index
...
@@ -1184,6 +1187,8 @@ namespace {
...
@@ -1184,6 +1187,8 @@ namespace {
ptr
=
ParseRange
(
ptr
,
-
1
,
w
.
memIndices
);
ptr
=
ParseRange
(
ptr
,
-
1
,
w
.
memIndices
);
if
(
!
ptr
)
return
{
ERR_FATAL
,
"Unable to parse device index in memory token %s"
,
token
.
c_str
()};
if
(
!
ptr
)
return
{
ERR_FATAL
,
"Unable to parse device index in memory token %s"
,
token
.
c_str
()};
memDevices
.
push_back
(
w
);
memDevices
.
push_back
(
w
);
}
else
{
break
;
}
}
}
}
return
ERR_NONE
;
return
ERR_NONE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment