Commit Graph

21 Commits

Author SHA1 Message Date
Dr-Noob
0950b97393 [v0.30] Build pciutils only if neccesary
If only HSA is enabled we dont need pciutils since AMD detection does
not rely on it. Therefore we change CMakeLists.txt to build pciutils
only if required.

This commit has some side-effects:
1. We now don't build Intel backend by default. In other words, no
   backend is built by default, the user must specify which backend
   to use.
2. There were some issues with includes and wrongly used defines and
   variables. This commit fixes all that.
2025-10-16 08:26:42 +02:00
Dr-Noob
b29b17d14f [v0.30] Add support for AMD GPUs
Adds very basic support for AMD (experimental). The only install
requirement is ROCm. Unlike NVIDIA, we don't need the CUDA equivalent
(HIP) to make gpufetch work, which reduces the installation
requirements quite significantly.

Major changes:

* CMakeLists:
  - Make CUDA not compiled by default (since we now may want to target
    AMD only)
  - Set build flags on gpufetch cmake target instead of doing
    "set(CMAKE_CXX_FLAGS". This fixes a warning coming from ROCm.
  - Assumes that the ROCm CMake files are installed (should be fixed
    later)

* hsa folder: AMD support is implemented via HSA (Heterogeneous System
  Architecture) calls. Therefore, HSA is added as a new backend to
  gpufetch. We only print basic stuff for now, so we may need more
  things in the future to give full support for AMD GPUs.

NOTE: This commit will probably break AUR packages since we used to
build CUDA by default, which is no longer the case. The AUR package
should be updated and use -DENABLE_CUDA_BACKEND or -DENABLE_HSA_BACKEND
as appropriate.
2025-10-12 12:34:56 +02:00
Dr-Noob
6f555f1b47 [v0.22] Small various fixes 2021-12-28 16:43:11 +01:00
Dr-Noob
4e0e6b5ab5 [v0.20] Rename CUDA topology struct to improve consistency 2021-12-19 11:34:05 +01:00
Dr-Noob
e7477610e1 [v0.20] Always use C++ includes when possible for consistency 2021-12-19 11:30:10 +01:00
Dr-Noob
6d4d8b621b [v0.11] Fix compilation error and ambiguity with CUDA and Intel backend when enabled at the same time due to functions with the same name 2021-12-18 10:14:14 +01:00
Dr-Noob
844377f17a [v0.11] Add support for printing EUs (currently only in Gen9/Gen9.5) 2021-12-08 11:15:59 +01:00
Dr-Noob
149e5ad62c [v0.11] Working for future support of Intel iGPUs 2021-11-25 19:03:52 +01:00
Dr-Noob
32b2c59b50 [v0.11] Add peak performance with tensor cores to the output 2021-11-23 18:49:34 +01:00
Dr-Noob
821b6e760e [v0.10] Add support for displaying the number of tensor cores 2021-11-23 18:09:13 +01:00
Dr-Noob
039e7c350d [v0.10] Replace nvml by pciutils to get pci ids. Needs work to integrate it properly. NVML is enough in the case of NVIDIA GPUs, but because more GPUs will be added in the future, a solution like pciutils is needed 2021-09-04 12:19:42 +02:00
Dr-Noob
dea5211791 [v0.04] Fix bug in which NVML was using the wrong GPU id 2021-08-16 15:18:55 +02:00
Dr-Noob
7ad484b938 [v0.03] Add printer backend from cpufetch (still printing CPU logo) 2021-08-15 23:23:36 +02:00
Dr-Noob
8f31748d1e [v0.02] Fix typos. Divide memory detection in two phases. Show real memory frequency, instead of the returned by CUDA 2021-08-15 22:17:46 +02:00
Dr-Noob
2687fa5016 [v0.02] Experimental algorithm to detect memory type finished. Information gathering finished 2021-08-15 21:22:41 +02:00
Dr-Noob
10295f2955 [v0.01] Retrieve memory info. All fields done except memory type (how to do it?) 2021-08-13 22:26:55 +02:00
Dr-Noob
981daef728 [v0.01] Retrieve more info; frequency, topology and peak performance 2021-08-13 16:36:10 +02:00
Dr-Noob
bdc4fd7c45 [v0.01] Reading PCI vendor/device values, needed to deduce the GPU chip and thus manufacturing process 2021-08-13 11:31:51 +02:00
Dr-Noob
8bc37d9d71 [v0.01] Detecting uarch. Looks like getting manufacturing process is much harder since we need GPU chip name 2021-08-12 15:51:12 +02:00
Dr-Noob
a15f20a2cc [v0.01] Defining a first approach of the application general structure 2021-08-11 11:34:47 +02:00
Dr-Noob
7b88845d71 [v0.01] Adding and creating basic source code base taken from cpufetch 2021-08-11 10:12:27 +02:00