install.rst 2.29 KB
Newer Older
1
.. meta::
srawat's avatar
srawat committed
2
  :description: TransferBench is a utility to benchmark simultaneous transfers between user-specified devices (CPUs or GPUs)
srawat's avatar
srawat committed
3
  :keywords: Build TransferBench, Install TransferBench
srawat's avatar
srawat committed
4
5

.. _install-transferbench:
6
7

---------------------------
srawat's avatar
srawat committed
8
Installing TransferBench
9
10
---------------------------

srawat's avatar
srawat committed
11
This topic describes how to build TransferBench.
12

srawat's avatar
srawat committed
13
14
15
16
17
18
Prerequisite
---------------

* Install ROCm stack on the system to obtain :doc:`HIP runtime <hip:index>`
* Install ``libnuma`` on the system
* `Enable AMD IOMMU <https://rocm.docs.amd.com/en/latest/how-to/system-optimization/mi300x.html#iommu-configuration-systems-with-256-cpu-threads>`_ and set to passthrough for AMD Instinct cards
19
20

Building TransferBench
srawat's avatar
srawat committed
21
------------------------
22

Swati Rawat's avatar
Swati Rawat committed
23
Here are the steps to build TransferBench:
24

Swati Rawat's avatar
Swati Rawat committed
25
1. Download the latest version of TransferBench from the git repository.
26

Swati Rawat's avatar
Swati Rawat committed
27
   .. code-block:: bash
28

Swati Rawat's avatar
Swati Rawat committed
29
30
    git clone https://github.com/ROCm/TransferBench.git
    cd TransferBench
31

Swati Rawat's avatar
Swati Rawat committed
32
2. Build TransferBench using Makefile or CMake.
33

Swati Rawat's avatar
Swati Rawat committed
34
35
36
37
38
39
40
41
42
43
44
45
46
47
   To build using Makefile, use:

   .. code-block:: bash

    make

   To build using CMake, use:

   .. code-block:: bash

    mkdir build
    cd build
    CXX=/opt/rocm/bin/hipcc cmake ..
    make
48

srawat's avatar
srawat committed
49
.. note::
50

srawat's avatar
srawat committed
51
52
  If ROCm is installed in a folder other than ``/opt/rocm/``, set ``ROCM_PATH`` appropriately.

53
54
55
56
57
58
  NIC executor support will be enabled if IBVerbs is detected and if ``infiniband/verbs.h`` is found in the default include path.
  NIC executor support can be disabled explicitly by setting ``DISABLE_NIC_EXEC=1``

  MPI support will be enabled if mpi.h is found in ``MPI_PATH/include/``
  MPI executor support can be disabled explicitly by setting ``DISABLE_MPI_COMM=1``

srawat's avatar
srawat committed
59
60
61
62
63
64
65
66
Building documentation
-----------------------

To build documentation locally, use:

.. code-block:: bash

  cd docs
67
  pip3 install -r ./sphinx/requirements.txt
srawat's avatar
srawat committed
68
  python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
69
70
71
72

NVIDIA platform support
--------------------------

srawat's avatar
srawat committed
73
74
75
76
77
78
79
You can build TransferBench to run on NVIDIA platforms using native NVIDIA CUDA Compiler Driver (NVCC).

To build with native NVCC, use:

.. code-block:: bash

  make
80

srawat's avatar
srawat committed
81
TransferBench looks for NVCC in ``/usr/local/cuda`` by default. To modify the location of NVCC, use environment variable `CUDA_PATH`:
82
83
84

.. code-block:: bash

srawat's avatar
srawat committed
85
  CUDA_PATH=/usr/local/cuda make