Skip to content

Commit 9044a47

Browse files
authored
Merge pull request #451 from OctopusET/tenstorrent
Add support for Tenstorrent accelerators
2 parents 1603e83 + 690e66f commit 9044a47

4 files changed

Lines changed: 398 additions & 2 deletions

File tree

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,13 @@ else()
128128
set(ROCKCHIP_SUPPORT_DEFAULT OFF)
129129
endif()
130130

131+
# Tenstorrent support is only available on Linux
132+
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
133+
set(TENSTORRENT_SUPPORT_DEFAULT ON)
134+
else()
135+
set(TENSTORRENT_SUPPORT_DEFAULT OFF)
136+
endif()
137+
131138
option(NVIDIA_SUPPORT "Build support for NVIDIA GPUs through libnvml" ${NVIDIA_SUPPORT_DEFAULT})
132139
option(AMDGPU_SUPPORT "Build support for AMD GPUs through amdgpu driver" ${AMDGPU_SUPPORT_DEFAULT})
133140
option(RADEON_SUPPORT "Build support for ATI/AMD GPUs through radeon driver" ${RADEON_SUPPORT_DEFAULT})
@@ -142,6 +149,7 @@ option(TPU_SUPPORT "Build support for Google TPUs through GRPC" ${TPU_SUPPORT_DE
142149
option(ROCKCHIP_SUPPORT "Enable support for Rockchip NPU" ${ROCKCHIP_SUPPORT_DEFAULT})
143150
option(METAX_SUPPORT "Build support for MetaX GPUs through libmxsml" ${METAX_SUPPORT_DEFAULT})
144151
option(ENFLAME_SUPPORT "Build support for Enflame GCUs through libefml" ${ENFLAME_SUPPORT_DEFAULT})
152+
option(TENSTORRENT_SUPPORT "Build support for Tenstorrent accelerators through tt-kmd" ${TENSTORRENT_SUPPORT_DEFAULT})
145153
option(IXML_SUPPORT "Build support for Iluvatar CoreX GPUs through libixml" ${IXML_SUPPORT_DEFAULT})
146154

147155
add_subdirectory(src)

README.markdown

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ htop-familiar way.
1111
Currently supported vendors are AMD (Linux amdgpu driver), Apple (limited M1 &
1212
M2 support), Huawei (Ascend), Intel (Linux i915/Xe drivers), NVIDIA (Linux
1313
proprietary divers), Qualcomm Adreno (Linux MSM driver), Broadcom VideoCore (Linux v3d driver),
14-
Rockchip, MetaX (MXSML driver), Enflame (Linux EFML driver), Iluvatar CoreX
15-
(ixML / libixml).
14+
Rockchip, MetaX (MXSML driver), Enflame (Linux EFML driver), Tenstorrent (Linux tt-kmd driver).
15+
Rockchip, MetaX (MXSML driver), Enflame (Linux EFML driver), Iluvatar CoreX (ixML / libixml).
1616

1717
Because a picture is worth a thousand words:
1818

@@ -37,6 +37,7 @@ Table of Contents
3737
- [Rockchip](#rockchip)
3838
- [MetaX](#metax)
3939
- [Enflame](#enflame)
40+
- [Tenstorrent](#tenstorrent)
4041
- [Build](#build)
4142
- [Distribution Specific Installation Process](#distribution-specific-installation-process)
4243
- [Ubuntu / Debian](#ubuntu--debian)
@@ -173,6 +174,12 @@ NVTOP supports Enflame GCUs (testing on Enflame S60, Enflame L300 and Enflame L6
173174

174175
GCU, which refers to General Compute Unit, is a type of accelerator card that is used to perform general-purpose computing tasks just like GPGPU.
175176

177+
### Tenstorrent
178+
179+
NVTOP supports Tenstorrent AI accelerators (Blackhole, Wormhole, Grayskull) through the [tt-kmd](https://github.com/tenstorrent/tt-kmd) kernel driver.
180+
181+
Supports temperature, power draw, AI clock, fan RPM, PCIe link info, and process listing. No external libraries required -- all data is read from sysfs, hwmon, and procfs.
182+
176183
Build
177184
-----
178185

src/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@ if(ENFLAME_SUPPORT)
164164
target_sources(nvtop PRIVATE extract_gcuinfo_enflame.c)
165165
endif()
166166

167+
if(TENSTORRENT_SUPPORT)
168+
target_sources(nvtop PRIVATE extract_gpuinfo_tenstorrent.c)
169+
endif()
170+
167171
if(IXML_SUPPORT)
168172
message(STATUS "Building with Iluvatar CoreX GPU support")
169173
target_sources(nvtop PRIVATE extract_gpuinfo_ixml.c)

0 commit comments

Comments
 (0)